/* A single readable footer for the homepage, quote form and payment pages. */
footer.public-footer{background:#f5f2e8!important;border-top:1px solid #dce4db!important;color:#244749!important;padding:44px 0 20px!important;font-family:Rubik,Arial,sans-serif;text-align:left!important}
.public-footer .container{width:min(1280px,calc(100% - 80px));max-width:none;margin:auto}.public-footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:35px}.public-footer-brand img{display:block;width:170px;height:58px;object-fit:contain;margin:0 0 15px}.public-footer p{color:#486469!important;font-size:13px!important;line-height:1.8;margin:0!important;letter-spacing:0!important}.public-footer a{color:#244749!important;text-decoration:none;font-size:13px;overflow-wrap:anywhere}.public-footer a:hover,.public-footer a:focus-visible{color:#087f9f!important;text-decoration:underline}.public-footer-contact{max-width:100%;padding-top:8px}.public-footer-contact>span{display:block;color:#496c6c;font-size:10px;letter-spacing:.15em;font-weight:700;margin-bottom:12px}.public-footer-contact>a{font-size:clamp(14px,1.6vw,20px);font-weight:600}.public-footer nav{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:22px}.public-footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:32px;padding-top:18px;border-top:1px solid #dce4db}.public-footer-bottom p,.public-footer-bottom a{font-size:11px!important}.guest-form-shell{padding-bottom:64px}.upload-zone{padding:24px!important;text-align:left!important}.upload-zone input[type=file]{max-width:100%;width:100%;margin:10px 0 0;background:#fff}.upload-zone>[data-file-summary]{color:#486469;line-height:1.65}.upload-zone>span{font-size:12px;color:#486469}
@media(max-width:800px){.public-footer .container{width:calc(100% - 36px)}.public-footer-top{flex-direction:column;gap:25px}.public-footer nav{gap:12px 18px}.public-footer-bottom{align-items:flex-start;flex-direction:column}.guest-form-shell{padding-bottom:44px}.upload-zone{padding:18px!important}}

/* Shared page rhythm keeps the footer at the end of short and long pages. */
html{min-height:100%}body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}body>main{flex:1 0 auto;margin-top:0;margin-bottom:0}body>header,body>nav,body>footer{flex-shrink:0}.guest-form-shell{padding-top:64px;padding-bottom:64px;max-width:1180px}.business-intro{max-width:780px;margin-bottom:36px}.business-intro h1{font-size:clamp(2.2rem,4.4vw,3.8rem);margin-bottom:22px;line-height:1.12}.business-intro>p{font-size:1.02rem;line-height:1.8;max-width:690px}.business-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:start}.business-aside{background:#f1f7f5;padding:30px;border-radius:18px;border:1px solid #dce8e2}.business-aside h2,.business-card h2{font-size:1.35rem;letter-spacing:-.025em;line-height:1.3;margin-bottom:15px}.business-steps{padding-left:22px;margin:0;color:#486469}.business-steps li{padding:0 0 18px 8px}.business-steps li:last-child{padding-bottom:0}.business-steps strong{display:block;color:#244749;margin-bottom:4px}.business-panel{padding:32px!important;border-radius:18px!important;margin:0!important}.business-panel h2{font-size:1.6rem;margin:0 0 12px}.business-panel .button{margin-top:18px;min-height:48px}.business-panel .small-text{margin:18px 0 0}.business-panel label{display:block}.business-panel .notice a{text-decoration:underline;font-weight:600}.business-panel .button.secondary{background:#fff;border-color:#167f98;color:#167f98}.business-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.business-card{padding:28px;border:1px solid #dce8e2;border-radius:16px;background:#fff}.business-card p:last-child{margin-bottom:0}.business-card ul{padding-left:20px;color:#536e70}.business-card li{margin:8px 0}.business-cta{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:30px;padding:28px;border-radius:16px;background:#edf7fa}.business-cta h2{font-size:1.3rem;letter-spacing:-.02em;margin-bottom:8px}.business-cta p{margin:0}.business-cta .button{flex-shrink:0}.format-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.format-tags span{font-size:.8rem;background:#edf5f4;color:#244749;padding:6px 11px;border-radius:6px}.business-panel input:focus-visible,.business-panel select:focus-visible{outline:2px solid #167f98;outline-offset:2px}.business-panel button:disabled:hover{transform:none}.business-contact{display:inline-block;margin-top:20px;color:#087f9f;text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:850px){.business-layout{grid-template-columns:1fr;gap:24px}.business-cards{grid-template-columns:1fr}.guest-form-shell{padding-top:38px;padding-bottom:40px}.business-panel{padding:22px!important}.business-aside,.business-card{padding:23px}.business-cta{flex-direction:column;align-items:flex-start}.business-intro{margin-bottom:25px}}

.service-copy{grid-template-columns:1fr}.language-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.language-links a{border:1px solid #167f98;border-radius:30px;padding:8px 16px;color:#116d89;font-size:14px}.language-links a[aria-current]{background:#167f98;color:#fff}.business-aside ul{padding-left:20px;color:#486469;margin-bottom:25px}.business-aside li{margin-bottom:12px}.public-footer nav.seo-footer-links{padding-top:24px;margin-top:25px;border-top:1px solid #dce4db}.business-cta a:not(.button){text-decoration:underline}.business-card p,.business-aside p{overflow-wrap:anywhere}

.topic-breadcrumb{font-size:13px;color:#486469;display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.topic-breadcrumb a{text-decoration:underline}.topic-faq{margin-top:36px}.topic-faq>h2{font-size:1.7rem;margin-bottom:20px}.topic-faq details{border-top:1px solid #dce8e2;padding:20px 0}.topic-faq summary{font-weight:600;color:#244749;cursor:pointer}.topic-faq p{margin:14px 0 0;max-width:800px}.business-card h2 a:hover{text-decoration:underline}.topic-faq summary:focus-visible{outline:2px solid #167f98;outline-offset:4px}

/* Quote form status: explicit words plus orange indicators, never colour alone. */
.project-form .field-status{display:inline-block;vertical-align:baseline;font-family:inherit;letter-spacing:0;text-transform:none}.project-form .field-status-required{color:#087f9f;font-size:19px;font-weight:700;line-height:1;margin-left:3px}.project-form .field-status-optional{color:#496c6c;background:#f5f2e8;border:1px solid #dce4db;padding:1px 7px;border-radius:3px;font-size:10px;font-weight:600;line-height:1.6;margin-left:6px}.project-form .field-status-conditional{color:#087f9f;font-size:11px;font-weight:600;margin-left:5px}.form-marker-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-form .quote-required-note{margin:0 0 28px;padding:13px 16px;color:#244749;background:#fffefa;border:1px solid #dce4db;border-left:4px solid #087f9f;border-radius:5px;font-size:13px;font-weight:400;line-height:1.7}.quote-required-note .note-separator{margin:0 7px;color:#496c6c}.format-requirement-hint{font-size:12px;font-weight:400;color:#486469;margin-left:8px}.project-form .upload-zone b{line-height:1.8}@media(max-width:600px){.project-form .field-status-conditional{display:block;margin:5px 0 0}.format-requirement-hint{display:block;margin:5px 0 0}.project-form .quote-required-note{padding:12px;font-size:12px}}

.dimension-fields{padding:22px 23px 4px;margin:0 0 24px;min-width:0;border:1px solid #dce4db;border-radius:6px;background:#fffefa}.dimension-fields[data-required="true"]{border-color:#9dc8c6;background:#f5f2e8}.dimension-fields legend{padding:0 7px;font-size:15px;font-weight:700;color:#244749}.dimension-rule{display:inline-block;margin-left:8px;font-size:11px;font-weight:700;color:#087f9f}.dimension-fields>p{font-size:13px;line-height:1.7;color:#486469;margin-bottom:18px}.dimension-fields .dimensions label{margin-bottom:20px}@media(max-width:600px){.dimension-fields{padding:18px 15px 0}.dimension-rule{display:block;margin:5px 0 0}.dimension-fields .dimensions{grid-template-columns:1fr}.dimension-fields .dimensions label{font-size:14px}.dimension-fields .dimensions input,.dimension-fields .dimensions select{padding:12px;font-size:15px}}
/* Clearly distinguish the inactive dimension. */
.dimension-fields input:disabled{background:#eef1f5;color:#667085;border-color:#d0d5dd;cursor:not-allowed;opacity:1;}

/* Uploaded PayPal artwork: preserve its proportions and reserve space. */
.payment-provider-brand{margin:0 0 24px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;}
.payment-provider-brand img{display:block;width:100%;max-width:280px;height:auto;margin:0 auto;aspect-ratio:303.57 / 123.56;}

.project-form fieldset[hidden]{display:none!important;}
.classic-contact .dimension-fields legend{width:auto;border:0}.classic-contact .dimension-fields label{display:block;font-size:13px;font-weight:500}.classic-contact .dimension-fields input,.classic-contact .dimension-fields select{width:100%;padding:12px;border:1px solid #dce4db;background:#fff;margin:7px 0 0;color:#244749}.classic-contact .dimension-fields .form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}@media(max-width:600px){.classic-contact .dimension-fields .form-grid{grid-template-columns:1fr}}

.submission-status{margin:16px 0 0;padding:12px 16px;border:1px solid #bfd8e5;border-radius:6px;background:#edf5fa;color:#133a56;font-size:13px;line-height:1.5;}
form[aria-busy="true"] button:disabled{cursor:wait;opacity:.75;}
