/* A restrained enhancement of Luca's existing website. Original palette/layout retained. */
.hero-image{background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px #173f3b08}
.service-card{border-radius:4px;box-shadow:0 7px 20px #173f3b09;transition:box-shadow .25s,border-color .25s}
.service-card:hover{box-shadow:0 12px 28px #173f3b16;border-top-color:var(--teal-dark)}
.image-card{border-radius:4px}.image-card img{transition:filter .3s;transform:none!important}.image-card:hover img{filter:brightness(1.035);transform:none!important}
.btn{transition:background .22s,border-color .22s,box-shadow .22s}.btn:hover{box-shadow:0 5px 15px #173f3b18}
.header{box-shadow:0 2px 12px #173f3b05}
.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal-ready.is-seen{opacity:1;transform:none}
@keyframes luca-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero-copy{animation:luca-enter .7s ease both}.hero-image{animation:luca-enter .8s .1s ease both}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-image{animation:none}.reveal-ready{opacity:1;transform:none;transition:none}.service-card,.image-card img,.btn{transition:none}}
/* Homepage content review: original colours, real service evidence. */
.home-services .section-head{align-items:center;margin-bottom:55px}.home-services .section-head h2{max-width:600px}.home-services .section-intro{max-width:470px}.home-service-feature{display:grid;grid-template-columns:43% 57%;background:white;margin-bottom:38px;border:1px solid #d8e3dc;border-radius:5px;overflow:hidden;box-shadow:0 12px 35px #173f3b08}.home-service-photo{display:flex;flex-direction:column;background:#edf1eb;align-self:stretch;justify-content:center;position:relative}.home-service-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}.home-service-photo>span{display:flex;justify-content:space-between;align-items:center;padding:17px 23px;background:var(--dark);color:#d9e8e1;font-size:9px;letter-spacing:.1em}.home-service-photo b{font-size:22px;font-weight:400}.home-service-copy{padding:40px 44px}.home-service-copy .eyebrow{font-size:10px;color:var(--teal-dark);letter-spacing:.16em}.home-service-copy h3{font-family:'DM Sans',Arial,sans-serif;font-size:37px;font-weight:500;line-height:1.12;letter-spacing:-.045em;margin:18px 0 22px}.home-service-copy>p{font-size:15px;line-height:1.8;color:#53635b;margin:0 0 17px}.home-service-points{padding-left:18px;font-size:13px;line-height:1.8;color:#3a5a4d;margin:21px 0}.home-service-points li{padding-left:5px;margin-bottom:6px}.home-service-feedback{padding:19px 20px;background:#edf3ed;border-left:3px solid #d7bb7b;margin:25px 0}.home-service-feedback>span{font-size:8px;font-weight:700;letter-spacing:.08em;color:#587063}.home-service-feedback blockquote{font-size:18px;line-height:1.5;margin:12px 0;font-weight:500;color:#25483e}.home-service-feedback>a{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:var(--teal-dark)}.home-service-feedback small{display:block;font-size:9px;color:#6d7b72;margin-top:8px}.home-service-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.home-service-actions .btn{font-size:10px;letter-spacing:.05em;padding:14px 18px;min-height:49px;gap:17px}.home-service-actions .btn span{font-size:18px}.home-service-actions>a:not(.btn){font-size:12px;text-decoration:underline;text-underline-offset:4px;color:var(--teal-dark)}.feature-reverse{grid-template-columns:57% 43%}.feature-reverse .home-service-photo{order:2}.feature-reverse .home-service-copy{order:1}.home-other-services{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}.home-other-services article{padding:36px;border-radius:5px}.home-other-services h3{font-size:33px;line-height:1.15;letter-spacing:-.04em;font-weight:500;margin:20px 0}.home-other-services p{font-size:14px;line-height:1.85;margin:0 0 19px}.home-other-services .btn{margin-top:10px;font-size:10px;letter-spacing:.06em;gap:20px;min-height:49px;padding:14px 18px}.new-build-panel{background:var(--dark);color:#e9f1eb;position:relative;overflow:hidden}.new-build-panel .eyebrow{color:#d7bb7b;font-size:10px}.new-build-panel p{color:#cbdbd1;max-width:450px}.new-build-panel h3{position:relative;z-index:1}.new-build-panel .btn{background:#d7bb7b;color:var(--dark);border-color:#d7bb7b}.house-outline{position:absolute;width:145px;right:20px;top:40px;color:#86aaa0;opacity:.26;pointer-events:none}.building-panel{background:white;border:1px solid #d8e3dc}.building-panel-head{display:grid;grid-template-columns:35% 65%;align-items:center;gap:22px;margin-bottom:24px}.building-panel-head img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;display:block}.building-panel-head h3{font-size:28px}.building-panel-head .eyebrow{font-size:9px;color:var(--teal-dark)}.building-panel p{color:#53635b}.home-enquiry-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid #cbdad0;padding-top:35px}.home-enquiry-steps article>span{font-size:36px;color:var(--teal);font-family:'DM Sans',Arial,sans-serif;line-height:1}.home-enquiry-steps h3{font-size:22px;font-weight:500;letter-spacing:-.025em;margin:22px 0 15px}.home-enquiry-steps p{font-size:14px;line-height:1.8;color:#53635b;max-width:330px}.home-quote-bar{border-top:1px solid #cbdad0;margin-top:35px;padding-top:27px;display:flex;justify-content:space-between;align-items:center;gap:35px}.home-quote-bar p{font-size:14px;color:#53635b;max-width:600px}.home-quote-bar .btn{font-size:11px;letter-spacing:.04em}.home-faq{padding-top:70px}.home-faq .btn{margin-top:30px}
@media(max-width:1000px){.home-service-copy{padding:30px}.home-service-copy h3{font-size:31px}.home-service-copy>p{font-size:14px}.home-service-actions{gap:15px}.home-other-services article{padding:28px}.building-panel-head{gap:16px}.building-panel-head h3{font-size:25px}}
@media(max-width:720px){.home-services .section-head{display:block;margin-bottom:30px}.home-services .section-intro{font-size:16px;margin-top:25px}.home-services .section-head h2{font-size:36px}.home-service-feature,.feature-reverse{grid-template-columns:1fr;margin-bottom:27px}.feature-reverse .home-service-photo,.feature-reverse .home-service-copy{order:initial}.home-service-copy{padding:27px 22px}.home-service-copy h3{font-size:31px}.home-service-copy>p{font-size:15px}.home-service-photo{justify-content:start}.home-service-photo>span{font-size:8px;padding:13px 20px}.home-service-feedback{padding:17px}.home-service-actions{align-items:flex-start;flex-direction:column;gap:17px}.home-service-actions .btn{font-size:11px;width:100%;min-height:50px}.home-service-points{font-size:13px}.home-service-feedback blockquote{font-size:18px}.home-other-services{grid-template-columns:1fr;gap:24px;margin-top:28px}.home-other-services article{padding:26px 22px}.home-other-services h3{font-size:29px}.home-other-services p{font-size:15px}.house-outline{width:125px;top:55px}.building-panel-head h3{font-size:24px}.building-panel-head{grid-template-columns:34% 66%;gap:15px}.home-enquiry-steps{grid-template-columns:1fr;gap:23px}.home-enquiry-steps article{display:grid;grid-template-columns:45px 1fr;column-gap:20px;border-bottom:1px solid #d3dfd7;padding-bottom:20px}.home-enquiry-steps article>span{grid-row:1/3;font-size:29px;padding-top:5px}.home-enquiry-steps h3{margin:0 0 12px;font-size:22px}.home-enquiry-steps p{margin:0;font-size:15px}.home-quote-bar{flex-direction:column;align-items:stretch;gap:15px;margin-top:20px}.home-quote-bar p{font-size:15px}.home-quote-bar .btn{text-align:center}.home-faq h2{font-size:34px}.home-faq .faq-list summary{font-size:17px}}
.building-panel-head{grid-template-columns:35% minmax(0,1fr)}@media(max-width:720px){.building-panel-head{grid-template-columns:34% minmax(0,1fr)}}
.home-service-feature:target{scroll-margin-top:110px}@media(max-width:720px){.home-service-copy h3{font-size:28px;line-height:1.18}.home-service-feature:target{scroll-margin-top:90px}}

.home-service-photo{align-self:start;justify-content:flex-start;background:transparent}.home-service-photo img{height:auto;aspect-ratio:auto}.home-service-feature{align-items:start}.gallery-preview{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.gallery-preview img,.gallery-preview img:first-child{height:auto;aspect-ratio:auto;object-fit:contain}.building-panel-head{grid-template-columns:minmax(0,35%) minmax(0,1fr)}@media(max-width:720px){.gallery-preview{grid-template-columns:1fr 1fr}.gallery-preview .image-card:first-child{grid-column:1/-1}}
