
html{scroll-behavior:smooth;scroll-padding-top:80px}
:target{scroll-margin-top:80px}
img{max-width:100%;height:auto}


:root{--navy:#0b2334;--gold:#f2c11a;--cream:#fff8e6;--text:#e8eef3}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--text);background:#091d2b}
.nav{position:sticky;top:0;z-index:10;background:#0a2232cc;backdrop-filter:blur(6px);display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.nav .brand-text{font-weight:900;letter-spacing:.4px;color:var(--cream);text-transform:uppercase}
.nav a{color:var(--cream);text-decoration:none;font-weight:700}
.nav .menu{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap}
.btn{appearance:none;border:none;border-radius:999px;background:var(--gold);color:#121820;padding:10px 16px;font-weight:800}
.hero{min-height:68vh;background:linear-gradient(180deg,rgba(9,29,43,.5),rgba(9,29,43,.92)),url('assets/handyman1.webp') center/cover no-repeat;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}
.hero .hero-shield{position:absolute;top:20px;left:20px;width:100px;max-width:20vw;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.5))}
h1{font-family:Montserrat,sans-serif;color:var(--cream);text-transform:uppercase;font-size:clamp(32px,6.2vw,64px);margin:10px 0 6px}
.sub{color:var(--gold);text-transform:uppercase;font-weight:700;font-size:clamp(16px,2.6vw,26px)}
.tag{font-style:italic;opacity:.95;margin-top:6px}
.section{max-width:1100px;margin:34px auto;padding:0 20px}
h2{font-family:Montserrat,sans-serif;text-transform:uppercase;color:var(--cream);margin:0 0 14px}
.services{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}
.service{background:#0c2a41;border:1px solid rgba(255,255,255,.06);border-left:4px solid var(--gold);border-radius:10px;padding:14px}
.testimonials{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
.testimonial{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px}
.testimonial .name{margin-top:10px;color:#ffe9a3;font-weight:700}
.projects{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}
.projects img{width:100%;height:200px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.08)}
@media(max-width:1000px){.projects{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.projects{grid-template-columns:repeat(2,1fr)}}
.about{display:grid;grid-template-columns:1.1fr 0.9fr;gap:20px}
.bigtitle{font-size:clamp(22px,3.4vw,38px);line-height:1.15;margin:0 0 14px;color:var(--cream);text-transform:uppercase;font-family:Montserrat,sans-serif}
.panel{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:18px}
.hours-col h3{margin:0 0 10px;color:var(--cream);text-transform:uppercase}
.hours-col ul{list-style:none;margin:0;padding:0}
.hours-col li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);margin-bottom:8px}
.hours-col li strong{color:#ffe08a}
.contact{display:grid;gap:18px;grid-template-columns:1.2fr 1fr}
.socials{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}
.socials a{display:inline-flex;gap:8px;align-items:center;color:var(--gold);border:1px solid rgba(242,193,26,.35);padding:8px 12px;border-radius:999px;background:rgba(242,193,26,.10);text-decoration:none;font-weight:800}
.socials svg{width:18px;height:18px;fill:currentColor}
form input,form textarea{width:100%;padding:12px;border-radius:8px;border:1px solid #244a66;background:#0b2a40;color:#eaf2fb}
footer{color:#b7c7d8;text-align:center;padding:22px 0;margin-top:40px;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:900px){.services,.testimonials,.contact{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}}
@media(max-width:620px){.services,.testimonials,.contact{grid-template-columns:1fr}.hero .hero-shield{width:80px}}


/* --- Lightbox --- */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .2s ease}
.lb.hidden{opacity:0;pointer-events:none}
.lb__img{max-width:92vw;max-height:86vh;box-shadow:0 20px 50px rgba(0,0,0,.4);border-radius:10px}
.lb__close,.lb__prev,.lb__next{position:absolute;border:0;background:rgba(0,0,0,.5);color:#fff;font-size:32px;line-height:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.lb__close{top:20px;right:20px}
.lb__prev{left:20px}
.lb__next{right:20px}
.lb__prev,.lb__next{top:50%;transform:translateY(-50%)}
@media (hover:hover){ .lb__close:hover,.lb__prev:hover,.lb__next:hover{background:rgba(255,255,255,.18)} }
/* Services (Dublin) */
#services-dublin.svc{max-width:1100px;margin:48px auto;padding:0 16px}
#services-dublin .svc__head h2{font-size:clamp(1.6rem,2.5vw,2.2rem);margin:0 0 6px}
#services-dublin .svc__subtitle{color:#555;margin:0 0 22px}
#services-dublin .svc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
#services-dublin .svc__card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 8px 26px rgba(0,0,0,.06)}
#services-dublin .svc__card h3{margin:0 0 10px;font-size:1.1rem}
#services-dublin .svc__list{margin:0 0 12px;padding-left:18px}
#services-dublin .svc__prices h4{margin:8px 0 6px;font-size:1rem}
#services-dublin .svc__prices ul{margin:0;padding-left:18px}
#services-dublin .svc__note{font-size:.9rem;color:#666;margin-top:8px}
#services-dublin .svc__cta{margin:28px 0 0;padding:22px;background:#f7f8fa;border-radius:14px;text-align:center}
#services-dublin .svc__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:10px}
#services-dublin .btn{display:inline-block;padding:10px 16px;border-radius:999px;background:#111;color:#fff;text-decoration:none}
#services-dublin .btn--alt{background:#2a6fdb}


/* === CSS-only Lightbox (namespaced .cslb) === */
.cslb{position:fixed;inset:0;display:none;background:rgba(0,0,0,.88);z-index:9999;align-items:center;justify-content:center;padding:2rem}
.cslb:target{display:flex}
.cslb__bg{position:absolute;inset:0;display:block}
.cslb__content{position:relative;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.cslb__img{max-width:92vw;max-height:86vh;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.45);display:block}
.cslb__close{position:absolute;top:-14px;right:-14px;background:rgba(0,0,0,.6);color:#fff;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:28px;line-height:1}
.cslb__nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.cslb__prev,.cslb__next{pointer-events:auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#fff;background:rgba(0,0,0,.55);font-size:30px;user-select:none}
.cslb__prev{position:absolute;left:-58px;top:50%;transform:translateY(-50%)}
.cslb__next{position:absolute;right:-58px;top:50%;transform:translateY(-50%)}
@media (max-width: 640px){
  .cslb{padding:1rem}
  .cslb__prev,.cslb__next{left:8px;right:auto}
  .cslb__next{left:auto;right:8px}
  .cslb__close{top:8px;right:8px}
}


/* === CSS-only Lightbox (.cslb) === */
.cslb{position:fixed;inset:0;display:none;background:rgba(0,0,0,.88);z-index:9999;align-items:center;justify-content:center;padding:2rem}
.cslb:target{display:flex}
.cslb__bg{position:absolute;inset:0;display:block}
.cslb__content{position:relative;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.cslb__img{max-width:92vw;max-height:86vh;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.45);display:block}
.cslb__close{position:absolute;top:-14px;right:-14px;background:rgba(0,0,0,.6);color:#fff;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:28px;line-height:1}
.cslb__nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.cslb__prev,.cslb__next{pointer-events:auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#fff;background:rgba(0,0,0,.55);font-size:30px;user-select:none}
.cslb__prev{position:absolute;left:-58px;top:50%;transform:translateY(-50%)}
.cslb__next{position:absolute;right:-58px;top:50%;transform:translateY(-50%)}
@media (max-width: 640px){
  .cslb{padding:1rem}
  .cslb__prev,.cslb__next{left:8px;right:auto}
  .cslb__next{left:auto;right:8px}
  .cslb__close{top:8px;right:8px}
}


/* Services: clickable expandable cards */
#services .svc__card, #services-dublin .svc__card{padding:0}
#services .svc__details, #services-dublin .svc__details{display:block;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.06)}
#services .svc__summary, #services-dublin .svc__summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer}
#services .svc__summary::-webkit-details-marker, #services-dublin .svc__summary::-webkit-details-marker{display:none}
#services .svc__summary h3, #services-dublin .svc__summary h3{margin:0;font-size:1.1rem}
#services .chips--summary .chip, #services-dublin .chips--summary .chip{background:#eef1f6}
#services .svc__details::after, #services-dublin .svc__details::after{content:"";position:absolute}
#services .svc__details .svc__content, #services-dublin .svc__details .svc__content{padding:0 18px 16px 18px;border-top:1px solid #eef1f6}
#services .svc__details .price-list li, #services-dublin .svc__details .price-list li{padding:10px 0}
/* Chevron indicator */
#services .svc__summary::after, #services-dublin .svc__summary::after{content:"›";font-size:22px;transform:rotate(90deg);transition:transform .2s ease;opacity:.7}
#services details[open] .svc__summary::after, #services-dublin details[open] .svc__summary::after{transform:rotate(-90deg)}
/* Focus states */
#services .svc__summary:focus, #services-dublin .svc__summary:focus{outline:2px solid #2a6fdb;outline-offset:2px}


/* === CSS-only Lightbox (.cslb) === */
.cslb{position:fixed;inset:0;display:none;background:rgba(0,0,0,.88);z-index:9999;align-items:center;justify-content:center;padding:2rem}
.cslb:target{display:flex}
.cslb__bg{position:absolute;inset:0;display:block}
.cslb__content{position:relative;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.cslb__img{max-width:92vw;max-height:86vh;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.45);display:block}
.cslb__close{position:absolute;top:-14px;right:-14px;background:rgba(0,0,0,.6);color:#fff;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:28px;line-height:1}
.cslb__nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.cslb__prev,.cslb__next{pointer-events:auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#fff;background:rgba(0,0,0,.55);font-size:30px;user-select:none}
.cslb__prev{position:absolute;left:-58px;top:50%;transform:translateY(-50%)}
.cslb__next{position:absolute;right:-58px;top:50%;transform:translateY(-50%)}
@media (max-width: 640px){
  .cslb{padding:1rem}
  .cslb__prev,.cslb__next{left:8px;right:auto}
  .cslb__next{left:auto;right:8px}
  .cslb__close{top:8px;right:8px}
}

/* Services: clickable expandable cards */
#services .svc__card, #services-dublin .svc__card{padding:0}
#services .svc__details, #services-dublin .svc__details{display:block;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.06)}
#services .svc__summary, #services-dublin .svc__summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer}
#services .svc__summary::-webkit-details-marker, #services-dublin .svc__summary::-webkit-details-marker{display:none}
#services .svc__summary h3, #services-dublin .svc__summary h3{margin:0;font-size:1.1rem}
#services .chips--summary .chip, #services-dublin .chips--summary .chip{background:#eef1f6}
#services .svc__details .svc__content, #services-dublin .svc__details .svc__content{padding:0 18px 16px 18px;border-top:1px solid #eef1f6}
#services .svc__details .price-list li, #services-dublin .svc__details .price-list li{padding:10px 0}
#services .svc__summary::after, #services-dublin .svc__summary::after{content:"›";font-size:22px;transform:rotate(90deg);transition:transform .2s ease;opacity:.7}
#services details[open] .svc__summary::after, #services-dublin details[open] .svc__summary::after{transform:rotate(-90deg)}
#services .svc__summary:focus, #services-dublin .svc__summary:focus{outline:2px solid #2a6fdb;outline-offset:2px}


/* Lightbox */
.cslb{position:fixed;inset:0;display:none;background:rgba(0,0,0,.88);z-index:9999;align-items:center;justify-content:center;padding:2rem}
.cslb:target{display:flex}
.cslb__bg{position:absolute;inset:0;display:block}
.cslb__content{position:relative;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.cslb__img{max-width:92vw;max-height:86vh;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.45);display:block}
.cslb__close{position:absolute;top:-14px;right:-14px;background:rgba(0,0,0,.6);color:#fff;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:28px}
.cslb__nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.cslb__prev,.cslb__next{pointer-events:auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#fff;background:rgba(0,0,0,.55);font-size:30px}
.cslb__prev{position:absolute;left:-58px;top:50%;transform:translateY(-50%)}
.cslb__next{position:absolute;right:-58px;top:50%;transform:translateY(-50%)}

/* Services accordion with chips */
#services .svc__card{padding:0}
#services .svc__details{display:block;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06);margin-bottom:12px}
#services .svc__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer}
#services .svc__summary::-webkit-details-marker{display:none}
#services .svc__summary h3{margin:0;font-size:1.1rem}
#services .chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
#services .chip{padding:5px 10px;border-radius:999px;background:#f1f3f5;font-size:.85rem}
#services .svc__sub{margin:10px 0 6px;font-size:1rem}
#services .price-list{list-style:none;margin:0;padding:0}
#services .price-list li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #e9ecef}
#services .price-list li:last-child{border-bottom:0}
#services .svc__note{font-size:.85rem;color:#666;margin-top:8px}
#services .svc__summary::after{content:"›";font-size:22px;transform:rotate(90deg);transition:.2s;opacity:.7}
#services details[open] .svc__summary::after{transform:rotate(-90deg)}


/* CSS-only Lightbox (.cslb) */
.cslb{position:fixed;inset:0;display:none;background:rgba(0,0,0,.88);z-index:9999;align-items:center;justify-content:center;padding:2rem}
.cslb:target{display:flex}
.cslb__bg{position:absolute;inset:0;display:block}
.cslb__content{position:relative;max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.cslb__img{max-width:92vw;max-height:86vh;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.45);display:block}
.cslb__close{position:absolute;top:-14px;right:-14px;background:rgba(0,0,0,.6);color:#fff;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:28px;line-height:1}
.cslb__nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.cslb__prev,.cslb__next{pointer-events:auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#fff;background:rgba(0,0,0,.55);font-size:30px;user-select:none}
.cslb__prev{position:absolute;left:-58px;top:50%;transform:translateY(-50%)}
.cslb__next{position:absolute;right:-58px;top:50%;transform:translateY(-50%)}
@media (max-width:640px){.cslb{padding:1rem}.cslb__prev,.cslb__next{left:8px;right:auto}.cslb__next{left:auto;right:8px}.cslb__close{top:8px;right:8px}}

/* Services: chips + expandable details */
#services .svc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
#services .svc__card{background:#fff;border-radius:16px;padding:0;box-shadow:0 10px 28px rgba(0,0,0,.06)}
#services .svc__details{display:block;border-radius:16px;overflow:hidden}
#services .svc__summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer}
#services .svc__summary::-webkit-details-marker{display:none}
#services .svc__summary h3{margin:0;font-size:1.1rem}
#services .chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
#services .chips .chip{display:inline-block;padding:6px 10px;border-radius:999px;background:#eef1f6;border:1px solid #e6e8eb;font-size:.9rem;white-space:nowrap}
#services .svc__content{padding:0 18px 16px 18px;border-top:1px solid #eef1f6}
#services .svc__sub{margin:10px 0 6px;font-size:1rem}
#services .price-list{list-style:none;margin:0;padding:0}
#services .price-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #e9ecef}
#services .price-list li:last-child{border-bottom:0}
#services .svc__note{font-size:.9rem;color:#666;margin-top:8px}
#services .svc__summary::after{content:"›";font-size:22px;transform:rotate(90deg);transition:transform .2s ease;opacity:.7}
#services details[open] .svc__summary::after{transform:rotate(-90deg)}
#services .svc__summary:focus{outline:2px solid #2a6fdb;outline-offset:2px}


/* Services — blue/orange theme (preserve site palette) */
#services .svc__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px
}
#services .svc__card{
  position:relative;background:#fff;border-radius:16px;padding:0;box-shadow:0 10px 28px rgba(0,0,0,.06);
  overflow:hidden;border:1px solid rgba(0,0,0,.04)
}
/* orange corner accent */
#services .svc__card::after{
  content:"";position:absolute;top:-24px;right:-24px;width:120px;height:120px;
  background:radial-gradient(circle at 70% 70%, #f2c11a 0%, rgba(255,138,0,.0) 60%);
  transform:rotate(25deg);opacity:.3;pointer-events:none
}
#services .svc__details{display:block}
#services .svc__summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;cursor:pointer;background:linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.02));
}
#services .svc__summary::-webkit-details-marker{display:none}
#services .svc__summary h3{margin:0;font-size:1.05rem;color:#e8eef3}
#services .chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;justify-content:flex-end}
#services .chips .chip{
  display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(42,111,219,.08);
  border:1px solid rgba(42,111,219,.15);font-size:.9rem;white-space:nowrap;color:#e8eef3
}
#services .svc__content{padding:0 18px 16px 18px;border-top:1px solid #eef1f6}
#services .svc__sub{margin:12px 0 8px;font-size:1rem;color:#333}
#services .price-list{list-style:none;margin:0;padding:0}
#services .price-list li{
  display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #e9ecef
}
#services .price-list li:last-child{border-bottom:0}
#services .price-list strong{color:#e8eef3}
#services .svc__note{font-size:.92rem;color:#666;margin-top:8px}
/* chevron */
#services .svc__summary::after{
  content:"›";font-size:22px;transform:rotate(90deg);transition:transform .2s ease;opacity:.7;color:#e8eef3
}
#services details[open] .svc__summary::after{transform:rotate(-90deg)}
#services .svc__summary:focus{outline:2px solid #e8eef3;outline-offset:2px}


/* Services — themed with existing palette (final) */
#services .svc__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px
}
#services .svc__card{
  position:relative;background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.04)
}
#services .svc__card::after{
  content:"";position:absolute;top:-30px;right:-30px;width:140px;height:140px;
  background:radial-gradient(circle at 70% 70%, #f2c11a 0%, rgba(255,122,0,.0) 62%);
  transform:rotate(20deg);opacity:.22;pointer-events:none
}
#services .svc__details{display:block}
#services .svc__summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 18px;cursor:pointer;background:linear-gradient(180deg, rgba(0,0,0,.00), rgba(0,0,0,.02));
}
#services .svc__summary::-webkit-details-marker{display:none}
#services .svc__summary h3{margin:0;font-size:1.08rem;color:#2a6fdb}
#services .chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;justify-content:flex-end}
#services .chips .chip{
  display:inline-block;padding:6px 10px;border-radius:999px;background:transparent;
  border:1px solid #2a6fdb;color:#2a6fdb;font-size:.9rem;white-space:nowrap
}
#services .svc__content{padding:0 18px 16px 18px;border-top:1px solid #eef1f6}
#services .svc__sub{margin:12px 0 8px;font-size:1rem;color:#333}
#services .price-list{list-style:none;margin:0;padding:0}
#services .price-list li{
  display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #e9ecef
}
#services .price-list li:last-child{border-bottom:0}
#services .price-list strong{color:#2a6fdb}
#services .svc__note{font-size:.92rem;color:#666;margin-top:8px}
#services .svc__summary::after{
  content:"›";font-size:22px;transform:rotate(90deg);transition:transform .2s ease;opacity:.7;color:#2a6fdb
}
#services details[open] .svc__summary::after{transform:rotate(-90deg)}
#services .svc__summary:focus{outline:2px solid #2a6fdb;outline-offset:2px}


/* --- Brochure Column Accordion --- */
/* === Brochure-style single-column expandable list === */
.svcbro__subtitle{opacity:.9;color:var(--cream)}
.svcbro{list-style:none;margin:0;padding:0;max-width:820px;margin-inline:auto}
.svcbro__item{background:var(--navy);border:1px solid rgba(242,193,26,.35);border-radius:14px;overflow:hidden;box-shadow:0 1px 1px rgba(0,0,0,.15);margin:10px 0}
.svcbro__row{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:transparent;color:var(--cream);padding:14px 16px;border:0;cursor:pointer;font-weight:800;text-align:left}
.svcbro__row:hover{background:rgba(255,255,255,.04)}
.svcbro__tick{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--gold);color:#121820;font-weight:900}
.svcbro__title{font-size:1.02rem;letter-spacing:.1px}
.svcbro__muted{opacity:.75;font-weight:700}
.svcbro__chev{justify-self:end;stroke:var(--cream);stroke-width:2;fill:none;transition:transform .2s ease}
.svcbro__row[aria-expanded="true"] .svcbro__chev{transform:rotate(180deg)}

.svcbro__panel{max-height:0;overflow:hidden;background:linear-gradient(180deg,rgba(255,248,230,.06),rgba(255,248,230,.03));border-top:1px dashed rgba(255,255,255,.15);transition:max-height .28s ease}
.svcbro__content{padding:0 16px 16px;color:var(--text)}
.svcbro__price{margin:8px 0 0;font-weight:900;background:rgba(242,193,26,.12);border:1px solid rgba(242,193,26,.4);color:#ffe79a;display:inline-block;padding:6px 10px;border-radius:10px}
.svcbro__cta{color:#121820;background:var(--gold);text-decoration:none;font-weight:900;padding:8px 12px;border-radius:10px}
@media (max-width:520px){.svcbro__title{font-size:1rem} .svcbro__tick{width:24px;height:24px}}


/* Drawer overlays */
.drawer { position: fixed; inset: 0; display: none; z-index: 999; background: rgba(10,10,14,.82); backdrop-filter: blur(2px); padding: 1rem; }
.drawer:target { display: grid; place-items: center; }
.drawer .panel { position: relative; width: min(100%, 980px); max-height: 90vh; overflow: auto; background: #0f0f12; border: 1px solid #22242a; border-radius: 16px; padding: 1.25rem; box-shadow: 0 10px 40px rgba(0,0,0,.45); }
.drawer .panel h2 { margin-top: 0; }
.drawer .drawer-close { position: sticky; top: 0; display: inline-block; margin: -0.5rem -0.5rem 0 auto; padding: .4rem .6rem; background: #141418; border: 1px solid #2a2d34; border-radius: 10px; text-decoration: none; color: #fff; float: right; }


/* dropdown removed */
nav .has-submenu-inline,
nav li { position: relative; }
nav .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: min(88vw, 520px);
  max-width: min(92vw, 640px);
  max-height: 60vh;
  overflow: auto;
  padding: .75rem .9rem;
  background: #0f0f12;
  border: 1px solid #22242a;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  z-index: 1000;
}
nav li:hover > .submenu,
nav li:focus-within > .submenu,
nav .has-submenu-inline:hover > .submenu,
nav .has-submenu-inline:focus-within > .submenu { display: block; }
nav .submenu strong { display:block; margin-bottom: .25rem; color: #cfd3dc; }
nav .submenu p { margin: .25rem 0; color: #cfd3dc; line-height: 1.4; font-size: .95rem; }
@media (hover:none) {
  /* On touch devices, show submenu when the anchor is focused */
  nav .has-submenu-inline > a:focus + .submenu,
  nav li > a:focus + .submenu { display: block; }
}


/* --- Enhanced drawers --- */
.drawer { position: fixed; inset: 0; display: none; z-index: 999; background: rgba(10,10,14,.82); backdrop-filter: blur(2px); padding: 1rem; }
.drawer:target { display: grid; place-items: center; }
.drawer .panel { position: relative; width: min(100%, 960px); max-height: 90vh; overflow: auto; background: #0f0f12; border: 1px solid #22242a; border-radius: 18px; padding: 1.5rem; box-shadow: 0 10px 40px rgba(0,0,0,.45); }
.drawer .panel h2 { margin: 0 0 .5rem 0; font-size: 1.6rem; letter-spacing: .2px; }
.drawer .drawer-close { position: sticky; top: 0; display: inline-block; margin: -0.5rem -0.5rem .5rem auto; padding: .45rem .7rem; background: #15161b; border: 1px solid #2a2d34; border-radius: 10px; text-decoration: none; color: #fff; float: right; }
.drawer .panel p, .drawer .panel li { color: #cfd3dc; line-height: 1.65; }

/* Policies grid, polished */
.policies-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin-top: .5rem; }
.policy-card { background: #121318; border: 1px solid #22242a; border-radius: 14px; padding: 1rem; }
.policy-card h3 { margin: 0 0 .4rem 0; font-size: 1.05rem; color: #e6e8ee; }
.policy-card p { margin: 0; color: #cfd3dc; }

/* FAQ accordion styling */
.faq-list { display: grid; gap: .6rem; margin-top: .5rem; }
.faq-list details { background: #121318; border: 1px solid #22242a; border-radius: 12px; padding: .6rem .9rem; }
.faq-list summary { cursor: pointer; font-weight: 600; list-style: none; outline: none; color: #e6e8ee; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list details[open] { border-color: #2b95ff55; }
.faq-list p { margin: .5rem 0 0 0; color: #cfd3dc; }


/* === Responsive hero background using handyman1-noheader-35top-35bottom === */
:root{ --hero-img-url: url('assets/handyman1-noheader-35top-35bottom-1024.webp'); }
.hero{ background-image: linear-gradient(180deg,rgba(9,29,43,.5),rgba(9,29,43,.92)), var(--hero-img-url); }
.hero{ background-size: cover; background-position: center; background-repeat: no-repeat; }
@media (max-width: 1024px){ :root{ --hero-img-url: url('assets/handyman1-noheader-35top-35bottom-768.webp'); } }
@media (max-width: 600px){ :root{ --hero-img-url: url('assets/handyman1-noheader-35top-35bottom-480.webp'); } }
@media (max-width: 420px){ .hero{ background-position: center top; } }
