*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f6f1;color:#202624;font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.preview{text-align:center;background:#253a34;color:#fff;font-size:11px;letter-spacing:.07em;padding:6px}header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 32px;gap:25px;border-bottom:1px solid #dcded6}header img{display:block;max-width:140px}nav{display:flex;gap:30px;font-size:14px}nav a[aria-current]{color:#cf4c16;border-bottom:2px solid #e86425}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:#e96425;color:white;border:1px solid #e96425;padding:12px 22px;border-radius:4px;font-weight:700;font-size:14px;cursor:pointer}.button:hover,button:hover{background:#ce501b}.outline{background:transparent;color:#263d34;border-color:#bfc7be}.outline:hover{background:#e9ede6}.wrap{max-width:1176px;margin:auto;padding:60px 24px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;color:#c64d19;margin:0 0 15px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(36px,4.7vw,64px);line-height:1.08;letter-spacing:-.045em;margin-bottom:24px}h2{font-size:34px;line-height:1.18;letter-spacing:-.035em}h3{font-size:21px;line-height:1.25}p{color:#5c675f}.intro{max-width:700px;font-size:18px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.hero figure{margin:0;position:relative}.hero img{width:100%;height:490px;object-fit:cover;border-radius:5px}.hero figcaption{background:#263c34;color:#fff;padding:15px 20px;font-size:12px;position:absolute;bottom:20px;left:-20px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.trust{border-top:1px solid #d9dfd6;border-bottom:1px solid #d9dfd6;display:flex;justify-content:space-between;padding:22px 0;margin-top:40px;font-size:13px;color:#4a5c50}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.panel{border:1px solid #d9ded5;background:#fffefa;border-radius:6px;padding:26px}.card .number{color:#d65d26;font-size:12px;display:block;margin-bottom:25px}.card a{font-size:13px;color:#bf4814;font-weight:bold}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split img{width:100%;border-radius:6px}.gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.gallery img{width:100%;height:330px;object-fit:cover;border-radius:5px}.band{background:#263c34;color:#fff}.band h2{color:white}.band p{color:#d8dfd7}.contact-head{padding-bottom:28px}.contact-head h1{max-width:800px;font-size:clamp(36px,4vw,54px)}.contact-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:30px;padding-top:0}.panel{padding:30px}.aside .portrait{width:88px;height:88px;object-fit:cover;object-position:top;border-radius:5px}.aside h2{font-size:27px;margin:18px 0 12px}.aside .button{width:100%;margin-top:9px}.next{border-top:1px solid #ddd;padding-top:23px;margin-top:28px}.next h3{font-size:18px}.next p{font-size:14px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}label,legend{font-size:13px;font-weight:bold}fieldset{border:0;padding:0;margin:0 0 25px;min-width:0}legend{margin-bottom:12px}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.types label{font-size:12px;border:1px solid #d6dcd3;padding:12px 10px;display:flex;align-items:center;gap:8px;border-radius:4px;cursor:pointer;background:#f8f7f3}.types label:has(:checked){background:#fff0e7;border-color:#e96425;color:#943a15}input[type=radio],input[type=checkbox]{accent-color:#df632b}input:not([type=radio]):not([type=checkbox]),textarea{display:block;width:100%;border:1px solid #cbd3c7;border-radius:4px;background:white;padding:12px;margin-top:7px;min-height:46px}textarea{resize:vertical}input:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:3px solid #97bca8;outline-offset:3px}.hint{font-size:12px;color:#5c675f;font-weight:normal;margin:0}.checks{display:grid;grid-template-columns:1fr 1fr;gap:13px}.checks label{font-weight:normal;display:flex;gap:9px;align-items:center}.message{display:block;margin:0 0 8px}.form-end{border-top:1px solid #e3e5df;margin-top:24px;padding-top:20px}.form-end .hint{margin-bottom:15px}.error{color:#a3281a;background:#fff0eb;border:1px solid #ca7663;border-radius:4px;padding:15px;margin-bottom:20px}.error:empty{display:none}.success{padding:40px 0}.success h2{font-size:28px}.mobile-actions{display:none}.profile-large{max-height:530px;object-fit:cover;object-position:top}.service-row{display:grid;grid-template-columns:70px 1fr 320px;gap:30px;border-top:1px solid #d8ddd4;padding:38px 0}.service-row>span{font-size:32px;color:#d65d26}.service-row img{width:100%;height:200px;object-fit:cover;border-radius:5px}footer{background:#edf0e8;padding:45px max(24px,calc((100vw - 1128px)/2));display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;font-size:13px}footer strong,footer a{display:block}footer small{grid-column:1/-1;border-top:1px solid #d4dbce;padding-top:20px;color:#687367}footer p{margin:10px 0}footer img{mix-blend-mode:multiply} @media(max-width:800px){header{padding:16px 20px;flex-wrap:wrap;gap:16px}header img{width:120px}nav{order:3;width:100%;justify-content:center;gap:25px}header>.button{padding:9px 14px}.wrap{padding:36px 20px}.hero,.split,.contact-grid{grid-template-columns:1fr;gap:28px}.hero img{height:320px}.hero figcaption{left:12px;bottom:12px}.cards{grid-template-columns:1fr 1fr}.trust{gap:12px;flex-wrap:wrap}.gallery{grid-template-columns:1fr}.gallery img{height:270px}.contact-grid{padding-top:0}.panel{padding:22px}.contact-head{padding-bottom:24px}.contact-head .intro{font-size:16px}.mobile-actions{display:flex;margin-bottom:0}.mobile-actions a{flex:1}.form-grid,.types{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.form-end button{width:100%}.service-row{grid-template-columns:35px 1fr;gap:15px}.service-row img{grid-column:2}.aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.aside .next{border-top:0;margin:0;padding:0}.aside .profile-content{grid-column:1}.next{grid-column:2}footer{grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/-1}}@media(max-width:480px){.cards,.aside{grid-template-columns:1fr}.next{grid-column:1!important}.form-grid{gap:18px}h2{font-size:29px}footer{grid-template-columns:1fr}footer>div{grid-column:1}.hero{gap:20px}.intro{font-size:16px}}

header{background:#fff;max-width:none;padding-left:max(24px,calc((100vw - 1128px)/2));padding-right:max(24px,calc((100vw - 1128px)/2))}.services-intro h1{max-width:800px;font-size:clamp(36px,4vw,50px)}.roofline-explainer{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;align-items:center}.roofline-explainer img{width:100%;height:auto;border-radius:5px}.lovable-services .service-row{grid-template-columns:80px 1fr 320px}.lovable-services .service-row img{height:240px;object-fit:contain;background:#fffefa;border:1px solid #d9ded5}.guarantees{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:20px}.guarantee{background:#e9ece4;padding:32px;border-radius:6px}.guarantee strong{font-size:48px;line-height:1.1;color:#e96425}.guarantee p{margin:12px 0 0}.guarantee.dark{background:#263c34}.guarantee.dark p{color:#fff}@media(max-width:800px){header{padding:16px 20px}.roofline-explainer{grid-template-columns:1fr}.lovable-services .service-row{grid-template-columns:35px 1fr}.lovable-services .service-row img{grid-column:2;width:100%;height:auto;aspect-ratio:4/3}.guarantees{grid-template-columns:1fr}.guarantees .full{grid-column:1}}
/* Visual refinement, using the font families defined in the Lovable export. */
body{font-family:'Hind',Arial,sans-serif;color:#22252b;background:#faf8f3}h1,h2,h3,.button,button,.number{font-family:'Archivo',Arial,sans-serif}h1,h2{font-weight:900}.button,button{background:#ff650b;border-color:#ff650b}.button.outline{background:transparent;border-color:#c8c9c5;color:#24262b}.eyebrow{color:#ed5b0a}header{min-height:110px}header>a:first-child{display:block;width:260px;overflow:hidden;flex-shrink:0}header>a:first-child img{width:410px;max-width:none;height:auto}header nav{font-size:16px}img{max-width:100%}.split img{height:auto}.profile-large{aspect-ratio:1;object-fit:cover}.roofline-explainer img{height:auto;aspect-ratio:4/3;object-fit:contain}.gallery img{aspect-ratio:4/3;height:auto;object-fit:cover}.home-hero{min-height:650px;position:relative;overflow:hidden;background:#1b2329;color:white}.hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,22,28,.94),rgba(15,22,28,.75) 39%,rgba(15,22,28,.08) 100%)}.hero-content{position:relative;padding-top:100px;padding-bottom:28px}.hero-content .eyebrow{color:#ff9a59}.hero-content h1{font-size:clamp(46px,5.1vw,74px);max-width:950px;line-height:1.02;letter-spacing:-.05em}.hero-content h1 span{color:#ff9653}.hero-content .intro{color:#edeef0;max-width:490px;font-size:20px}.hero-secondary{background:transparent;border-color:#8d969a}.hero-secondary:hover{background:#ffffff20}.hero-foot{border-top:1px solid #ffffff40;margin-top:76px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#e1e5e7}.home-proof{background:#ff650b;color:white}.home-proof .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px;font-weight:600;font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}.section-heading h2{font-size:44px;margin-bottom:0}.section-heading>p{max-width:340px;margin:0}.home-services .cards{gap:18px}.home-services .card{padding:0;overflow:hidden;border:0;box-shadow:0 3px 18px #17232c0a}.home-services .card>img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block}.home-services .card:last-child>img{object-fit:contain;background:#fff}.home-services .card>div{padding:24px}.home-services .card .number{margin-bottom:12px}.home-services .card h3{font-size:21px}.home-services .card p{font-size:15px}.detail-section{background:#eeece5}.detail-section h2{font-size:44px}.band{background:#20252c;border-top:5px solid #ff650b}.band .button{background:#ff650b;color:white;border-color:#ff650b}footer{background:#eeece6}footer img{width:230px;max-width:none;height:auto;clip-path:inset(0 35% 0 0);margin-right:-80px}.guarantee.dark{background:#20252c}
@media(max-width:800px){header{min-height:0}header>a:first-child{width:190px}header>a:first-child img{width:300px}header>.button{font-size:12px}.home-hero{min-height:0}.hero-content{padding-top:64px;padding-bottom:24px}.hero-content h1{font-size:48px}.hero-content .intro{font-size:18px;max-width:440px}.hero-shade{background:linear-gradient(90deg,#111b25eb,#111b25a3)}.hero-foot{margin-top:50px;flex-direction:column;gap:8px}.home-proof .wrap{display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:12px}.section-heading{align-items:start;flex-direction:column;gap:18px}.section-heading h2,.detail-section h2{font-size:36px}.home-services .cards{gap:12px}.home-services .card>div{padding:18px}.home-services .card h3{font-size:20px}}
@media(max-width:480px){header{gap:10px}header>a:first-child{width:168px}header>a:first-child img{width:270px}header>.button{padding:10px 12px;gap:12px}.hero-content h1{font-size:43px}.hero-backdrop{object-position:64% center}.home-services .cards{grid-template-columns:1fr}.home-services .card{display:grid;grid-template-columns:115px 1fr}.home-services .card>img{height:100%;aspect-ratio:auto;object-fit:cover}.home-services .card>div{padding:18px}.home-services .card .number{font-size:10px;margin-bottom:8px}.home-services .card h3{margin-bottom:10px}.home-services .card p{font-size:14px}.hero-content .actions{flex-direction:column;align-items:start}}
/* Supplied Lovable design reference: cream, ink, roofing orange, flat panels. */
:root{--background:oklch(.975 .008 85);--foreground:oklch(.22 .01 250);--card:oklch(.995 .004 85);--primary:oklch(.68 .2 42);--secondary:oklch(.93 .012 85);--muted-foreground:oklch(.48 .012 250);--border:oklch(.86 .012 85);--ink:oklch(.2 .012 250);--ink-foreground:oklch(.96 .008 85)}
body{background:var(--background);color:var(--foreground)}p,.hint{color:var(--muted-foreground)}h1,h2,h3{letter-spacing:-.02em}.eyebrow{font-family:Archivo,Arial,sans-serif;color:var(--primary);font-size:12px;font-weight:700}.button,button{background:var(--primary);border-color:var(--primary);border-radius:4px}.card,.panel{background:var(--card);border-color:var(--border);border-radius:4px}.home-services .card{box-shadow:none;border:1px solid var(--border)}.band,.guarantee.dark{background:var(--ink)}.band{border-color:var(--primary)}.band .button{background:var(--primary);border-color:var(--primary)}.home-proof{background:var(--primary)}.detail-section{background:var(--secondary)}.hero-shade{background:rgba(15,21,28,.61)}.hero-backdrop{object-position:center 48%}.hero-content h1 span{color:#ffad78}.hero-content .intro{color:var(--ink-foreground)}.hero-content .eyebrow{color:#ffc39c}footer{background:var(--ink);color:var(--ink-foreground)}footer p,footer small{color:#d3d2cf}footer img{background:white;mix-blend-mode:normal;border-radius:2px}nav{gap:24px}.roofline-intro{max-width:700px;margin-bottom:28px}.roofline-intro h2{font-size:32px}.roofline-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.roofline-pair figure{margin:0;border:1px solid var(--border);background:var(--card);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.figure-label{padding:16px 20px;font-family:Archivo,Arial,sans-serif;font-size:14px;font-weight:700;border-bottom:1px solid var(--border)}.figure-label span{color:var(--primary);margin-right:12px}.roofline-pair img{width:100%;height:auto;aspect-ratio:960/680;object-fit:contain;background:white;flex:1;min-height:0}.roofline-pair figcaption{padding:16px 20px;font-size:13px;color:var(--muted-foreground);border-top:1px solid var(--border)}.project-preview{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.project-preview a{display:block;border:1px solid var(--border);background:var(--card);border-radius:4px;overflow:hidden}.project-preview img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}.project-preview span,.gallery-item span{display:flex;justify-content:space-between;padding:16px 20px;font-weight:600}.project-preview b,.gallery-item b{color:var(--primary)}.job-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.gallery-item{display:block;padding:0;background:var(--card);border:1px solid var(--border);color:var(--foreground);text-align:left;font-family:Hind,Arial,sans-serif;font-weight:500;overflow:hidden}.gallery-item:hover{background:var(--secondary)}.gallery-item img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.gallery-item span{font-size:15px}dialog{padding:20px;border:0;border-radius:4px;background:var(--card);max-width:min(1100px,92vw);max-height:92vh}dialog::backdrop{background:#10151cd9}dialog img{display:block;width:auto;max-width:100%;max-height:72vh;height:auto;margin:auto;object-fit:contain}dialog p{margin:16px 0 0}.close-photo{display:block;margin-left:auto;margin-bottom:16px}.job-gallery button:focus-visible,.project-preview a:focus-visible{outline:3px solid var(--primary);outline-offset:4px}
@media(max-width:800px){nav{gap:20px}.roofline-pair{grid-template-columns:1fr}.project-preview{grid-template-columns:1fr 1fr}.project-preview a:first-child{grid-column:1/-1}.job-gallery{grid-template-columns:1fr 1fr}.hero-shade{background:rgba(15,21,28,.68)}}
@media(max-width:480px){nav{gap:18px;font-size:15px}.project-preview,.job-gallery{grid-template-columns:1fr}.project-preview a:first-child{grid-column:auto}.job-gallery{gap:20px}.hero-backdrop{object-position:63% center}.roofline-pair{gap:18px}}
.button.hero-secondary{background:transparent;border-color:#d5d7da;color:white}.button.hero-secondary:hover{background:#ffffff20}
.contact-inline{display:inline;background:transparent;border:0;padding:0;color:var(--foreground);text-decoration:underline;font:inherit;cursor:pointer}.contact-inline:hover{background:transparent;color:var(--primary)}.footer-reveal{display:block;background:transparent;border:0;color:var(--ink-foreground);padding:4px 0;font:inherit;text-align:left;text-decoration:underline;cursor:pointer}.footer-reveal:hover{background:transparent;color:#ffc39c}.coverage-copy{border-top:1px solid var(--border);padding-top:30px;max-width:740px}.coverage-copy h2{font-size:30px}.reveal-contact{white-space:normal}.aside .button{word-break:break-word}.roofline-pair figure:nth-child(2) img{object-fit:contain}
footer .footer-contact{display:flex;width:100%;min-height:48px;margin-top:10px;background:transparent;color:var(--ink-foreground);border:1px solid #a7a7a1;border-radius:4px;padding:12px 16px;text-align:center;font:600 14px Archivo,Arial,sans-serif;text-decoration:none}footer .footer-contact:hover{background:#ffffff15;color:white}footer>div:nth-child(2){min-width:0}.aside .button,.mobile-actions .button{font-size:13px}
footer .button.footer-contact{color:var(--ink-foreground);background:transparent;border-color:#a7a7a1}footer .button.footer-contact:hover{color:white;background:#ffffff15}
/* Unified contact actions and responsive footer. */
.contact-icon{width:20px;height:20px;flex:0 0 20px;display:inline-block;vertical-align:middle}.button.contact-phone,button.contact-phone{background:var(--primary);border-color:var(--primary);color:white}.button.contact-whatsapp,button.contact-whatsapp{background:#168344;border-color:#168344;color:white}.button.contact-whatsapp:hover,button.contact-whatsapp:hover{background:#106735}.contact-inline .contact-icon{width:15px;height:15px;vertical-align:middle;margin-right:5px}.mobile-actions .button{gap:10px;min-height:48px}.aside .button{gap:12px;min-height:48px}.reveal-contact span{min-width:0}.contact-inline{display:inline-flex;align-items:center;gap:4px}#enquiry{scroll-margin-top:24px}footer{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.65fr);gap:56px;padding-top:56px;padding-bottom:28px}footer h2{font-size:20px;letter-spacing:-.02em;margin:0 0 14px}footer .footer-logo{width:230px;overflow:hidden;background:white;border-radius:2px;margin-bottom:20px}footer .footer-logo img{display:block;width:365px;max-width:none;height:auto;margin:0;clip-path:none;border-radius:0}footer .footer-tagline{font-size:16px;font-weight:600;color:var(--ink-foreground)}footer .footer-coverage{margin-top:26px;max-width:330px}footer .footer-coverage .eyebrow{font-size:10px;color:#ffa46c;margin:0 0 8px}footer .footer-coverage h2{font-size:25px}footer .footer-coverage p{font-size:14px;margin:8px 0}footer .footer-actions>p{margin:0 0 18px;font-size:14px}footer .button.footer-contact{min-height:50px;gap:14px;justify-content:flex-start;padding-left:18px;color:white;background:transparent;border-color:#7b7e81}footer .button.footer-contact:hover{background:#ffffff12}footer .footer-explore>a{padding:7px 0;font-size:14px;min-height:36px}footer .facebook-link{display:flex;align-items:center;gap:12px;margin-top:16px}footer small{padding-top:24px}.button,button{min-height:44px}.types label,.checks label{min-height:44px}.checks{gap:5px 16px}header nav a{padding:8px 0}.form-grid>*{min-width:0}
@media(max-width:900px){footer{grid-template-columns:1.2fr 1fr;gap:36px}footer .footer-brand{grid-column:1}footer .footer-explore{grid-column:1/-1;border-top:1px solid #555a5f;padding-top:24px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}footer .footer-explore h2{width:100%;margin-bottom:0}footer .facebook-link{margin-top:0}footer .footer-explore>a{padding:5px 0}footer .footer-actions{grid-column:2;grid-row:1}}
@media(max-width:600px){footer{grid-template-columns:1fr;gap:30px;padding:36px 22px 24px}footer .footer-brand,footer .footer-actions,footer .footer-explore{grid-column:1;grid-row:auto}footer .footer-coverage{max-width:100%}footer .footer-actions{border-top:1px solid #555a5f;padding-top:26px}footer .button.footer-contact{justify-content:center}footer small{margin-top:0}.mobile-actions{gap:10px}.mobile-actions .button{font-size:12px;padding:12px 10px}.mobile-actions .button.contact-phone{flex:1.3}.mobile-actions .button.contact-whatsapp{flex:1}.cards{min-width:0}}
/* Final visual pass. */
header{justify-content:space-between}header nav{margin-left:auto}.photo-help{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px;padding:16px;background:var(--secondary);border-radius:4px}.photo-help p{margin:0}.photo-help .photo-whatsapp{display:inline-flex;align-items:center;gap:10px;background:transparent;color:#146835;border:1px solid #8cab95;min-height:44px;padding:10px 14px;font-size:14px;text-decoration:none}.photo-help .photo-whatsapp:hover{background:#e1eadf}.photo-help .contact-icon{width:18px;height:18px;flex-basis:18px}.aside .button,.mobile-actions .button,footer .button.footer-contact{font-size:16px;line-height:1.4;min-height:52px}.contact-grid{align-items:start}footer small{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.button,button{transition:background-color .15s ease,color .15s ease}a:hover{text-decoration-thickness:2px}.footer-explore a:hover,nav a:hover{color:var(--primary)}
@media(max-width:800px){header nav{margin-left:0}.photo-help{align-items:flex-start;flex-direction:column}.photo-help .photo-whatsapp{justify-content:center}.aside .button,.mobile-actions .button,footer .button.footer-contact{font-size:16px}}
@media(max-width:480px){header{justify-content:center}header>a:first-child{width:200px}header>a:first-child img{width:320px}header nav{justify-content:center;width:100%;gap:20px}.mobile-actions{flex-direction:column}.mobile-actions .button{width:100%;flex:auto}.photo-help .photo-whatsapp{width:100%}footer small{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media(max-width:360px){header nav{gap:12px;font-size:14px}.contact-head h1{font-size:34px}.hero-content h1{font-size:37px}.preview{font-size:10px;letter-spacing:0}.aside .button,.mobile-actions .button,footer .button.footer-contact{font-size:15px}}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checks label{display:flex;align-items:center;gap:12px;padding:14px 16px;min-height:58px;border:1px solid var(--border);border-radius:4px;background:var(--background);font-size:14px;font-weight:600;cursor:pointer}.checks label:has(:checked){border-color:var(--primary);background:#fff0e5;color:#913d17}.checks label:has(:focus-visible){outline:3px solid var(--primary);outline-offset:3px}.checks input{width:17px;height:17px;flex:0 0 17px;margin:0}.checks label:last-child{grid-column:1/-1}.checks label:hover{border-color:var(--primary)}[aria-invalid=true]{border-color:#a3281a!important}@media(max-width:480px){.checks{grid-template-columns:1fr}.checks label{min-height:54px}.checks label:last-child{grid-column:auto}}
.photo-actions{display:flex;flex-wrap:wrap;gap:10px;width:100%}.photo-actions .button{font-size:13px;gap:9px}.photo-help{align-items:stretch}.photo-error{color:#a3281a;font-size:13px;margin:0}.photo-error:empty{display:none}.selected-photos,.review-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}.selected-photo{min-width:0;background:var(--card);border:1px solid var(--border);padding:8px;border-radius:4px}.selected-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.selected-photo>span{display:block;font-size:12px;overflow-wrap:anywhere;margin:6px 0}.remove-photo{font-size:12px;color:#a3281a;background:transparent;border:1px solid var(--border);width:100%;min-height:36px;padding:5px}.remove-photo:hover{background:#fff0eb}.review-details{margin:24px 0}.review-details>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;border-bottom:1px solid var(--border);padding:12px 0}.review-details dt{font-size:13px;font-weight:700}.review-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-photos{margin-bottom:20px}.review-photos figure{margin:0;min-width:0}.review-photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--secondary)}.review-photos figcaption{font-size:12px;overflow-wrap:anywhere}.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.enquiry-review{scroll-margin-top:24px}.enquiry-review h2{font-size:30px}[hidden]{display:none!important}@media(max-width:480px){.selected-photos,.review-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-actions{flex-direction:column}.review-details>div{grid-template-columns:1fr;gap:3px}.review-actions{flex-direction:column}.review-actions button{width:100%}}
.customer-group,.address-group{margin:0 0 24px}.customer-group>legend,.address-group>legend{font-family:Archivo,Arial,sans-serif;font-size:17px;font-weight:700;margin-bottom:16px}.address-group{padding:22px;border:1px solid var(--border);border-radius:4px;background:var(--background)}.address-group>legend{padding:0 8px;margin-bottom:0}.address-group>.hint{margin:0 0 16px}.address-group .form-grid{gap:18px}#places-search:empty{display:none}#places-search:not(:empty){margin-bottom:18px}@media(max-width:480px){.address-group{padding:16px}}

/* Bundled Lucide outline icons; brand marks retain their identity. */
.lucide-icon,.brand-icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle;display:inline-block}
.service-symbol{display:inline-flex;align-items:center;color:var(--primary);margin-bottom:14px;gap:12px}
.service-symbol .lucide-icon{width:36px;height:36px}.service-index{font-size:12px}
.button .lucide-icon{margin-inline-start:4px}.button .lucide-icon:first-child{margin-inline-start:0}
.card a .lucide-icon,.hero-foot .lucide-icon,.project-preview .lucide-icon{width:20px;height:20px}
nav a{min-height:44px;display:inline-flex;align-items:center}.button{min-height:44px}
@media(max-width:480px){.service-symbol .lucide-icon{width:32px;height:32px}}

/* WhatsApp: neutral grey surface with green outline and icon in every location. */
.button.contact-whatsapp,button.contact-whatsapp,footer .button.footer-contact.contact-whatsapp,.photo-help .photo-whatsapp{
 background:#e9e9e7;border:1.5px solid #168344;color:#242a27;
}
.button.contact-whatsapp .contact-icon,button.contact-whatsapp .contact-icon,.photo-help .photo-whatsapp .contact-icon{color:#168344}
.button.contact-whatsapp:hover,button.contact-whatsapp:hover,footer .button.footer-contact.contact-whatsapp:hover,.photo-help .photo-whatsapp:hover{background:#dededb;border-color:#106735;color:#242a27}
.button.contact-whatsapp:focus-visible,.photo-help .photo-whatsapp:focus-visible{outline:3px solid #168344;outline-offset:3px}

/* Softer actions: warm peach, ink labels and gently rounded corners. */
.button,button{border-radius:10px;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.button:not(.outline):not(.contact-whatsapp),button:not(.outline):not(.contact-whatsapp),.button.contact-phone,button.contact-phone,.band .button,footer .button.footer-contact.contact-phone{
 background:#f3d6c3;border-color:#dcb79e;color:#493426;box-shadow:0 2px 5px #4934260a;
}
.button:not(.outline):not(.contact-whatsapp):hover,button:not(.outline):not(.contact-whatsapp):hover,.button.contact-phone:hover,button.contact-phone:hover,.band .button:hover,footer .button.footer-contact.contact-phone:hover{
 background:#eac5ac;border-color:#c99e80;color:#493426;
}
.button.outline:not(.contact-phone):not(.contact-whatsapp){border-radius:10px}
.types label{border-radius:10px}
.types label:has(:checked){background:#f7e8dc;border-color:#c99e80;color:#69462f}
input[type=radio],input[type=checkbox]{accent-color:#a16d4b}
@media(prefers-reduced-motion:reduce){.button,button{transition:none}}

/* Reference-style buttons with a restrained, soft orange accent. */
.button,button{border-radius:8px;box-shadow:2px 2px 0 #55453826;font-weight:600}
.button:not(.outline):not(.contact-whatsapp),button:not(.outline):not(.contact-whatsapp),.button.contact-phone,button.contact-phone,.band .button,footer .button.footer-contact.contact-phone{
 background:#fffcf8;border:1px solid #c38e68;color:#65462f;box-shadow:2px 2px 0 #b48a692e;
}
.button:not(.outline):not(.contact-whatsapp):hover,button:not(.outline):not(.contact-whatsapp):hover,.button.contact-phone:hover,button.contact-phone:hover,.band .button:hover,footer .button.footer-contact.contact-phone:hover{
 background:#f8e9dd;border-color:#b37c56;color:#543b29;box-shadow:2px 2px 0 #b48a693d;
}
.button.outline:not(.contact-phone):not(.contact-whatsapp){border-radius:8px}
.button .lucide-icon{width:20px;height:20px}

/* Soft navigation feedback for pointer and keyboard users. */
header nav a{border-radius:8px;box-shadow:0 0 0 6px transparent;transition:background-color .16s ease,box-shadow .16s ease}
header nav a:hover,header nav a:focus-visible{background:#eeefed;box-shadow:0 0 0 6px #eeefed;color:var(--foreground,#202624)}
@media(prefers-reduced-motion:reduce){header nav a{transition:none}}

.home-hero .hero-backdrop{object-position:50% 30%}
@media(max-width:480px){.home-hero .hero-backdrop{object-position:36% 30%}}
