/* Chosen charcoal and green design: an immediate enquiry, with commercial work in view. */
.skip{z-index:1500}
.quote-hero{background:linear-gradient(125deg,#1a2021,#2b3434);border-bottom:3px solid #afcf39;padding:42px 0;color:#f7f7f3}
.quote-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:52px;align-items:stretch}
.quick-quote{grid-column:2;grid-row:1;min-width:0;align-self:start;scroll-margin-top:255px}
.quote-story{grid-column:1;grid-row:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.quote-story-copy{padding:14px 0 4px}
.quote-story .eyebrow{color:#bddb47;margin-bottom:20px}
.quote-story h2{font-size:clamp(3.6rem,5.1vw,5.5rem);line-height:1.04;letter-spacing:-.02em;margin-bottom:24px}
.quote-story h2 span{color:#b9d83f}
.quote-story .lead{color:#e1e6df;font-size:17px;max-width:530px;line-height:1.65}
.quote-phone{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-top:12px;color:#bddd45;font-size:25px;font-weight:700}
.quote-phone span{font-size:14px;font-weight:400;color:#edf1e8}
.quote-project{margin:0;border:1px solid #657153}
.quote-project img{width:100%;height:clamp(210px,19vw,280px);object-fit:cover;display:block}
.quote-project figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:#172121;padding:13px 16px;font-size:12px;color:#eef2e8}
.quote-project figcaption a{color:#c4e454;text-decoration:underline;text-underline-offset:4px}
.licensed-identity{font:500 13px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.02em;margin:0;max-width:560px}
.licensed-identity a{text-decoration:underline;text-underline-offset:3px}
.quote-story .licensed-identity{color:#dce5d5}
.quick-quote.form-panel{background:var(--paper);color:var(--ink);padding:28px 30px;border-top:5px solid #b1d13b}
.quick-quote .eyebrow{margin:0 0 8px}
.quick-quote h1{font-size:clamp(2.4rem,3.1vw,3.35rem);line-height:1.08;letter-spacing:-.01em;margin:0 0 10px}
.quick-intro{margin:0 0 12px;font-size:15px;line-height:1.55;color:var(--muted)}
.quick-quote .form-required{font-size:12px;margin:0 0 16px;color:var(--muted)}
.quick-quote .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.quick-quote .field{min-width:0}
.quick-quote label{font-size:14px;line-height:1.4;margin-bottom:6px}
.quick-quote label span{font-weight:400;font-size:12px}
.quick-quote input,.quick-quote select,.quick-quote textarea{width:100%;min-width:0;font-size:16px;min-height:46px;padding:10px 11px;border-color:var(--line)}
.quick-quote textarea{min-height:84px;resize:vertical}
.quick-quote textarea::placeholder{color:var(--muted);opacity:1;font-size:14px}
.short-preview-note{font-size:12px;line-height:1.55;color:var(--muted);margin:14px 0}
.short-preview-note a{text-decoration:underline;text-underline-offset:3px}
.quick-quote .short-submit{width:100%;justify-content:space-between;min-height:50px;padding:13px 18px}
.short-form-next{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:14px;line-height:1.5}
.short-form-next p{font-size:13px;color:var(--muted);margin:6px 0 10px}
.short-form-next .text-link{font-size:14px;margin:0}
.text-credential{font-family:Arial,Helvetica,sans-serif;font-size:22px;letter-spacing:-.04em}
.legal{font-size:13px;line-height:1.65}
.selected-contact .quick-quote{grid-column:2;grid-row:1}
.selected-contact .contact-intro{grid-column:1;grid-row:1}
.selected-contact .licensed-identity{margin-top:28px}
.selected-contact .contact-intro h2{font-size:clamp(3rem,4.5vw,5rem)}
@media(max-width:1100px){.quote-hero-grid{gap:28px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.quick-quote.form-panel{padding:25px 23px}.quote-story h2{font-size:3.7rem}}
@media(max-width:850px){.quote-hero{padding:28px 0}.quote-hero-grid{grid-template-columns:minmax(0,1fr);max-width:660px;gap:35px}.quick-quote,.quote-story,.selected-contact .quick-quote,.selected-contact .contact-intro{grid-column:1;grid-row:auto}.quote-story h2{font-size:clamp(3.6rem,10vw,4.8rem)}.quote-project img{height:auto}.selected-contact{display:grid;grid-template-columns:minmax(0,1fr);max-width:660px;gap:38px}.quote-story-copy{padding-top:0}.quote-story .licensed-identity{padding-bottom:8px}}
@media(max-width:620px){.quote-hero{padding:22px 0 30px}.quote-hero-grid{width:calc(100% - 32px);gap:32px}.quick-quote.form-panel{padding:22px 19px}.quick-quote .form-grid{grid-template-columns:minmax(0,1fr);gap:15px}.quick-quote h1{font-size:2.55rem}.quick-quote{scroll-margin-top:216px}.quote-story h2{font-size:3.8rem}.quote-story .lead{font-size:16px}.licensed-identity{font-size:12px}.selected-contact.section{padding-top:22px}.quote-project figcaption{padding:12px}.legal{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep field boundaries clear in both themes. */
.quick-quote input,.quick-quote select,.quick-quote textarea{border-color:#818b7d}
html[data-theme="dark"] .quick-quote input,html[data-theme="dark"] .quick-quote select,html[data-theme="dark"] .quick-quote textarea{border-color:#7c887d}

/* Original supplied SVG over separate house illustrations: responsive foreground branding. */
.brand-photo{position:relative;isolation:isolate;overflow:hidden;background:#243030;line-height:0}
.brand-photo .brand-photo-scene{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:contain}
.brand-photo .brand-photo-mascot{position:absolute;z-index:2;right:-5%;bottom:-7%;width:49%;height:auto;max-height:none;object-fit:contain;object-position:bottom;pointer-events:none}
.brand-photo-left .brand-photo-mascot{left:-5%;right:auto;transform:scaleX(-1)}
.residential-brand .brand-photo{border-bottom:1px solid #657153}
.quote-project.residential-brand{margin-top:0}
.contact-brand-photo{margin:30px 0;border:1px solid var(--line)}
.contact-brand-photo figcaption{background:#202c29;color:#edf2e6;padding:13px 16px;font-size:13px;line-height:1.5}
.service-intro-image img{object-fit:contain;height:auto}
.business-feature>figure>img{object-fit:contain;height:auto;min-height:0}
.business-feature>figure{align-self:center;background:#202c29}
@media(max-width:850px){.quote-story{gap:22px}.contact-brand-photo{max-width:620px}}

/* Character-home inspiration is labelled separately from project photography. */
.service-visual .character-home-scene{aspect-ratio:4/5;object-fit:contain;max-height:610px}
.service-visual .verandah-concept-scene{aspect-ratio:1402/1122;object-fit:contain}
.character-inspiration{padding-block:15px 85px;scroll-margin-top:255px}
.character-intro{max-width:760px;margin-bottom:32px}
.character-intro h2{font-size:clamp(2.6rem,4vw,4rem);margin-bottom:22px}
.character-intro p{max-width:650px}
.character-intro .illustration-note{font-size:13px;color:var(--muted);margin-top:16px}
.character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-bottom:30px}
.character-grid figure{margin:0;min-width:0}
.character-grid img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.character-grid figcaption{padding:22px 0 0;border-top:3px solid var(--accent)}
.character-grid h3{font-size:2rem;margin:0 0 10px}
.character-grid p{margin:0 0 8px}
.character-grid figcaption span{font-size:12px;color:var(--muted)}
@media(max-width:620px){.character-inspiration{padding-bottom:55px;scroll-margin-top:210px}.character-grid{grid-template-columns:1fr;gap:30px}}

/* Full-width reference layout, in the selected charcoal and green palette. */
.quote-hero{padding:0;background:var(--paper);border-bottom:0}
.quote-hero-grid.wrap{display:flex;flex-direction:column;gap:0;width:100%;max-width:none}
.quote-hero .quote-story{order:1;display:grid;grid-template-columns:46% 54%;grid-template-rows:1fr auto;gap:0;min-height:650px;background:radial-gradient(ellipse at 20% 65%,#2b3434,#192122 75%);border-bottom:3px solid #afcf39;align-items:stretch}
.quote-hero .quote-story-copy{grid-column:1;grid-row:1;align-self:center;padding:52px 42px 24px max(56px,calc((100vw - 1320px)/2))}
.quote-story h1{font-size:clamp(3.4rem,4.8vw,5.5rem);line-height:1.04;letter-spacing:-.015em;margin:0 0 28px}
.quote-story h1 span{color:#b9d83f}
.quote-story .lead{color:#e1e6df;font-size:17px;max-width:465px;line-height:1.65}
.quote-hero .quote-project{grid-column:2;grid-row:1/3;align-self:stretch;min-width:0;display:flex;flex-direction:column;margin:0;border:0;border-left:2px solid #afcf39;border-top-left-radius:9% 45%;border-bottom-left-radius:5% 50%;overflow:hidden;background:#202b2b}
.quote-project.residential-brand .brand-photo{flex:1;min-height:0;border:0}
.quote-project.residential-brand .brand-photo-scene{width:100%;height:100%;position:absolute;inset:0;aspect-ratio:auto;object-fit:cover;object-position:center}
.quote-project.residential-brand .brand-photo-mascot{width:49%;max-height:70%;object-fit:contain;object-position:bottom}
.quote-hero .quote-project figcaption{flex-shrink:0;min-height:52px;padding:16px 24px;background:#172121}
.quote-hero .licensed-identity{grid-column:1;grid-row:2;max-width:none;font-size:11px;line-height:1.6;padding:0 38px 36px max(56px,calc((100vw - 1320px)/2));color:#cbd7c7}
.quote-hero .hero-location{display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:.14em;margin-bottom:24px}
.hero-location img{display:block;flex:none;width:28px;height:14px;object-fit:contain;outline:1px solid #ffffff40}
.hero-proof-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px 24px;margin:0 0 28px}
.hero-proof-row .roofing-experience,.hero-warranty{border-left:2px solid #9cb832;padding:0 0 0 14px;margin:0}
.hero-proof-row .roofing-experience,.proof-main{display:flex;align-items:center;gap:12px}
.hero-proof-row strong{font:700 3.1rem/1 Arial,Helvetica,sans-serif;letter-spacing:-.06em;color:#b9d83f}
.hero-proof-row .roofing-experience>span,.proof-main>span{font:700 11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.035em;text-transform:uppercase;color:#f2f4ec}
.hero-warranty{color:#f2f4ec;text-decoration:none}
.hero-warranty small{display:block;margin-top:9px;font-size:10px;line-height:1.5;color:#d3dfc9;text-decoration:underline;text-underline-offset:3px}
.hero-warranty:hover small{color:#c4e454}
.quote-hero .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin:26px 0 0}
.quote-hero .hero-actions .text-link{color:#f4f5ed;margin:0}
.quote-hero .quick-quote{order:2;align-self:center;width:calc(100% - 112px);max-width:1000px;margin:56px 0;box-shadow:0 12px 38px #0c191009}
.quote-hero .quick-quote h2{font-size:clamp(2.4rem,3.1vw,3.35rem);line-height:1.08;letter-spacing:-.01em;margin:0 0 10px}
.quick-warranty{font-size:12px;line-height:1.55;margin:0 0 16px}
.quick-warranty a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
#warranty{scroll-margin-top:255px}
@media(max-width:1250px) and (min-width:851px){.quote-hero .quote-story-copy{padding:46px 30px 24px 36px}.quote-hero .licensed-identity{padding-left:36px;padding-right:30px}.quote-story h1{font-size:3.7rem}.quote-hero .hero-actions{gap:14px}.quote-hero .hero-actions .button{padding:16px 20px}.hero-proof-row{gap:18px}.hero-proof-row strong{font-size:2.8rem}.hero-proof-row .roofing-experience>span,.proof-main>span{font-size:10px}}
@media(max-width:1000px) and (min-width:851px){.quote-hero .quote-story{grid-template-columns:48% 52%}.quote-hero .quote-story-copy{padding-left:24px;padding-right:24px}.quote-hero .licensed-identity{padding-left:24px;padding-right:24px}.quote-story h1{font-size:3.3rem}.quote-story .lead{font-size:16px}.hero-proof-row{gap:16px}.hero-proof-row .roofing-experience,.hero-warranty{padding-left:10px}.hero-proof-row .roofing-experience,.proof-main{gap:8px}.hero-proof-row strong{font-size:2.6rem}.hero-warranty small{max-width:155px}.quote-hero .quote-project figcaption{padding:14px 16px;font-size:11px}}
@media(max-width:850px){.quote-hero .quick-quote{order:0;width:calc(100% - 32px);max-width:660px;margin:24px 0 32px}.quote-hero .quote-story{order:1;display:flex;flex-direction:column;align-items:stretch;min-height:0}.quote-hero .quote-story-copy{padding:38px 24px 28px}.quote-story h1{font-size:clamp(3.4rem,10vw,4.7rem)}.quote-hero .quote-project{border-left:0;border-top:2px solid #afcf39;border-radius:0;align-self:stretch}.quote-project.residential-brand .brand-photo{flex:none;aspect-ratio:5/4}.quote-project.residential-brand .brand-photo-scene{position:static;height:auto;aspect-ratio:5/4;object-fit:contain}.quote-hero .licensed-identity{padding:22px 24px;font-size:11px}.quote-hero .quick-quote h2{font-size:2.55rem}#warranty{scroll-margin-top:216px}}
@media(max-width:390px){.quote-hero .quote-story-copy{padding-inline:20px}.hero-proof-row{gap:15px}.hero-proof-row strong{font-size:2.6rem}.hero-proof-row .roofing-experience>span,.proof-main>span{font-size:10px}.hero-proof-row .roofing-experience,.hero-warranty{padding-left:10px}.hero-proof-row .roofing-experience,.proof-main{gap:8px}.hero-warranty small{max-width:145px}.quote-hero .hero-location{font-size:10px;gap:9px}}

/* Keep the complete flag identifiable: small, angled and fully inside the image. */
.quote-project.residential-brand .brand-photo::after{content:"";position:absolute;z-index:1;top:28px;right:28px;width:clamp(84px,7.5vw,112px);aspect-ratio:2;background:url('../images/australian-flag.svg') center/contain no-repeat;transform:rotate(-8deg);opacity:1;box-shadow:0 2px 12px #00000035;pointer-events:none}
@media(max-width:850px){.quote-project.residential-brand .brand-photo::after{width:clamp(72px,18vw,100px);top:22px;right:22px}}

/* Footer identity: generous mobile logo and a complete Australian flag. */
.footer .footer-grid>.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.footer .footer-logo{width:100%;max-width:340px;margin:0 0 24px}
.footer .footer-logo img{width:100%;height:auto;max-height:none;margin:0;object-position:left center}
.footer .footer-local{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:18px;width:100%;max-width:420px;padding-top:20px;border-top:1px solid #3b4840}
.footer .footer-local .footer-flag{display:block;width:84px;height:42px;max-height:none;object-fit:contain;margin:0;box-shadow:0 0 0 1px #ffffff24,0 4px 16px #00000024}
.footer .footer-brand .footer-local p{margin:0;font-size:12px;line-height:1.65;color:#bbc4bc}
.footer-local strong{display:block;margin-bottom:4px;color:#f1f3e9;font-size:13px;font-weight:700}
.footer-local span{display:block}
@media(min-width:621px) and (max-width:800px){.footer .footer-grid>.footer-brand{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:center}.footer .footer-logo{margin:0}.footer .footer-local{grid-template-columns:64px minmax(0,1fr);gap:14px;padding-top:0;border-top:0}.footer .footer-local .footer-flag{width:64px;height:32px}}
@media(max-width:620px){.footer .footer-grid>.footer-brand{display:block}.footer .footer-logo{width:100%;max-width:none;margin:0 0 24px}.footer .footer-local{max-width:none;gap:18px}}

/* Keep the hero caption clear of the image's 5% curved lower-left edge. */
@media(min-width:851px){.quote-hero .quote-project figcaption{padding-inline-start:calc(5% + 20px)}}

.quote-hero .hero-image-label{display:flex;flex-direction:column;gap:2px;flex:1 1 215px;min-width:0}
.hero-image-label strong{font-size:12px;font-weight:600;line-height:1.5}
.hero-image-label small{font-size:11px;line-height:1.5;color:#c4cec6}
.quote-hero .quote-project figcaption>a{flex:0 0 auto}

/* Keep image origin close to the illustration without replacing its descriptive caption. */
figcaption .image-origin{display:block;margin-top:5px;font:400 12px/1.6 Arial,Helvetica,sans-serif;color:inherit}
figcaption .image-origin a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.quote-hero .hero-image-label .image-origin{margin-top:3px;color:#c4cec6}
