/* Shared download/contact page shell; download variant: Figma 289:5337. */
.download-page { --download-accent:#e89818; --download-heading:#201e1e; background:#f8f8f8; color:var(--download-heading); }
.download-page main { width:100%; min-height:0; zoom:1; overflow:visible; }
.download-header,.download-footer { display:flex; align-items:center; justify-content:center; background:var(--ink); }
.download-header { min-height:80px; }
.download-footer { min-height:170px; }
.download-header a,.download-footer a { display:block; }
.download-header img,.download-footer img { display:block; width:239px; height:48px; object-fit:contain; }
.download-content { width:min(1122px,calc(100% - 80px)); margin:56px auto 0; padding-bottom:100px; }
.download-heading { display:flex; flex-direction:column; align-items:flex-start; gap:36px; margin-bottom:60px; }
.download-heading > img { display:block; flex:none; }
.download-heading h1 { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin:0; font:500 28px/50px var(--font-zen); letter-spacing:.15em; }
.download-heading h1 span { color:#939090; font:500 19px/38px var(--font-urbanist); letter-spacing:.08em; }
.download-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:38px; align-items:start; }
.download-information { display:grid; gap:40px; }
.download-information section { display:grid; gap:20px; min-width:0; }
.download-information h2 { margin:0; padding:8px 0; border-bottom:1px solid var(--download-heading); font:500 20px/40px var(--font-zen); letter-spacing:.08em; }
.download-information p { margin:0; font-size:16px; font-weight:500; line-height:27px; letter-spacing:.08em; }
.download-information strong { color:var(--download-accent); font-weight:700; }
.download-materials { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:13px 12px; border:1px solid var(--line); border-radius:2px; }
.download-materials figure { margin:0; min-width:0; }
.download-materials img { display:block; width:100%; height:auto; aspect-ratio:118/66; object-fit:cover; }
.download-materials figcaption { margin-top:6px; font-size:12px; font-weight:400; line-height:22px; letter-spacing:.08em; text-align:center; white-space:nowrap; }
.download-phone { display:flex; align-items:center; justify-content:center; gap:10px; min-height:80px; border:1px solid var(--line); border-radius:2px; }
.download-phone a { display:flex; align-items:center; gap:4px; color:var(--download-heading); font-size:36px; font-weight:500; line-height:1.2; letter-spacing:.08em; white-space:nowrap; }
.download-phone img { width:32px; height:32px; object-fit:contain; flex:none; }
.download-hours { font-size:16px; font-weight:500; line-height:27px; letter-spacing:.08em; white-space:nowrap; }
.download-meeting p { font-size:14px; font-weight:400; line-height:26px; }
.download-form { min-width:0; padding:52px 40px 48px; background:#fff; border-radius:4px; }
.download-fields { display:grid; gap:24px; }
.download-field { display:grid; gap:6px; }
.download-field label { font-size:14px; font-weight:700; line-height:26px; letter-spacing:.08em; }
.download-field label span { color:#ef6d61; font-weight:400; }
.download-field input { box-sizing:border-box; width:100%; min-width:0; height:44px; padding:8px; border:1px solid #939090; border-radius:3px; background:#fff; color:var(--download-heading); font:400 14px/26px var(--font-body); letter-spacing:.08em; }
.download-field input::placeholder { color:#ababab; opacity:1; }
.download-page :is(a,input,button):focus-visible { outline:2px solid var(--download-accent); outline-offset:4px; }
.download-privacy { margin:40px 0 48px; color:var(--ink); font-size:12px; font-weight:400; line-height:20px; letter-spacing:.08em; }
.download-submit { display:block; width:100%; min-height:64px; padding:18px 12px; border:0; border-radius:4px; background:var(--download-accent); color:#fff; font:700 22px/28px var(--font-zen); letter-spacing:.08em; cursor:pointer; }
.download-submit:hover { background:#cf8210; }
.download-form-status { margin:20px 0 0; padding:12px; border:1px solid var(--line); color:var(--ink); font-size:14px; line-height:26px; }
@media (min-width:921px) and (max-width:1180px) {
  .download-phone { flex-wrap:wrap; gap:4px; padding:16px 8px; }
  .download-phone a { font-size:30px; }
  .download-materials { gap:8px; }
  .download-materials figcaption { font-size:10px; letter-spacing:0; }
}
/* Responsive fallback; the supplied frame is the desktop design. */
@media (max-width:920px) {
  .download-header { min-height:64px; }
  .download-footer { min-height:140px; }
  .download-header img,.download-footer img { width:200px; height:auto; }
  .download-content { width:calc(100% - 56px); max-width:600px; margin-top:48px; padding-bottom:64px; }
  .download-heading { margin-bottom:40px; }
  .download-heading h1 { font-size:26px; line-height:42px; }
  .download-heading h1 span { font-size:16px; }
  .download-columns { grid-template-columns:1fr; gap:40px; }
  .download-information h2 { font-size:20px; }
  .download-materials { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; }
  .download-phone { flex-wrap:wrap; gap:8px; padding:16px 8px; }
  .download-phone a { font-size:clamp(25px,7vw,36px); }
  .download-hours { font-size:14px; }
  .download-form { padding:32px 24px; }
  .download-field input { font-size:16px; }
  .download-privacy { margin:32px 0; }
  .download-submit { font-size:18px; }
}
/* Two-document download screen. Scope changes to preserve the contact page. */
.download-comparison-page .download-heading { gap:34px; }
.download-comparison-page .download-materials { grid-template-columns:repeat(2,118px); justify-content:center; gap:32px; padding:13px 12px 11px; }
.download-comparison-page .download-phone { gap:0; }
@media (min-width:921px) {
  .download-comparison-page .download-form { padding:48px 36px 45px; }
  .download-comparison-page .download-fields { padding:4px; }
  .download-comparison-page .download-field:nth-child(3) { gap:7px; }
  .download-comparison-page .download-field input { padding-left:0; }
  .download-comparison-page .download-privacy { margin-top:36px; }
  .download-comparison-page .download-meeting { min-height:156px; }
}
@media (min-width:1202px) {
  .download-comparison-page .download-content { margin-left:calc((100% - 1120px)/2); }
}
@media (max-width:380px) {
  .download-comparison-page .download-materials { gap:16px; padding-inline:8px; }
}

/* Inline error state — Figma 289:5257. */
.download-page .download-field :is(input,select,textarea)[aria-invalid="true"] { border-color:#ef6d61; }
.download-page .download-field :is(input,select,textarea)[aria-invalid="true"]:focus-visible { outline-color:#ef6d61; }
.download-field .form-field-error { display:flex; align-items:flex-start; gap:4px; margin:2px 0 0; color:#ef6d61; font:400 12px/22px var(--font-body); letter-spacing:.08em; }
.download-field .form-field-error[hidden] { display:none; }
.form-field-error img { flex:none; width:15px; height:15px; margin-top:4px; }
.form-field-error span { min-width:0; overflow-wrap:anywhere; }

/* Contact Form 7 wrappers preserve the shared service form layout. */
.download-page .download-columns > .wpcf7 { min-width:0; }
.download-page .wpcf7-form-control-wrap { display:block; min-width:0; }
.download-page .wpcf7-not-valid-tip { margin-top:4px; font-size:12px; }
.download-page .wpcf7 form .wpcf7-response-output { margin:20px 0 0; padding:12px; font-size:14px; }
.download-material-links { margin-top:20px; padding:24px; background:#fff; border:2px solid var(--download-accent); border-radius:4px; }
.download-material-links h2 { font-size:18px; line-height:1.6; }
.download-material-links li { margin:12px 0; }
.download-material-links a { color:#8b5500; text-decoration:underline; text-underline-offset:3px; }
