/* WPHQ Fresh v1.3.0 */
:root{--wphq-primary:#2f7d68;--wphq-secondary:#173b36;--wphq-ink:#142522;--wphq-muted:#5e716d;--wphq-mint:#edf7f3;--wphq-sand:#fbf8f2;--wphq-line:#dfeae6;--wphq-white:#fff;--wphq-radius:22px;--wphq-shadow:0 18px 50px rgba(23,59,54,.1);--wphq-wide:1180px;--wphq-narrow:820px;--wphq-header:92px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--wphq-ink);font:17px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:var(--wphq-primary);text-underline-offset:.18em}button,input,textarea,select{font:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.wphq-content-shell,.wphq-section-inner{width:min(calc(100% - 48px),var(--wphq-wide));margin-inline:auto}.wphq-narrow{max-width:var(--wphq-narrow)}
.wphq-site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid var(--wphq-line)}.wphq-header-inner{width:min(calc(100% - 48px),var(--wphq-wide));min-height:var(--wphq-header);margin:auto;display:flex;align-items:center;gap:28px}.wphq-brand{flex:0 1 230px;min-width:120px}.custom-logo-link{display:flex;align-items:center;max-width:220px}.custom-logo{display:block;width:auto;max-width:220px;max-height:72px;object-fit:contain}.wphq-wordmark{font-size:1.25rem;font-weight:800;text-decoration:none;color:var(--wphq-secondary)}.wphq-primary-nav{margin-left:auto}.wphq-menu,.wphq-footer-menu{list-style:none;margin:0;padding:0}.wphq-menu{display:flex;align-items:center;gap:4px}.wphq-menu a{display:block;padding:10px 12px;color:var(--wphq-ink);font-size:.94rem;font-weight:700;text-decoration:none;border-radius:999px;white-space:nowrap}.wphq-menu a:hover,.wphq-menu .current-menu-item>a{background:var(--wphq-mint)}.wphq-header-action{flex:0 0 auto}.wphq-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border:0;border-radius:999px;background:var(--wphq-primary)!important;color:#fff!important;font-weight:800;text-decoration:none;box-shadow:0 8px 22px color-mix(in srgb,var(--wphq-primary) 24%,transparent)}.wphq-button-small{min-height:44px;padding:10px 18px;font-size:.9rem;white-space:nowrap}.wphq-menu-toggle{display:none;width:44px;height:44px;padding:10px;border:0;background:transparent}.wphq-menu-toggle span:not(.screen-reader-text){display:block;height:2px;margin:5px 0;background:var(--wphq-secondary)}
.wphq-main{min-height:60vh}.wphq-page-hero{position:relative;overflow:hidden;padding:74px 0;background:linear-gradient(135deg,var(--wphq-mint),var(--wphq-sand));border-bottom:1px solid var(--wphq-line)}.wphq-page-hero:after{content:"";position:absolute;width:320px;height:320px;right:-80px;top:-140px;border-radius:50%;background:color-mix(in srgb,var(--wphq-primary) 14%,transparent)}.wphq-eyebrow{margin:0 0 10px;color:var(--wphq-primary);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.wphq-page-hero h1,.wphq-empty-state h1{max-width:850px;margin:0;color:var(--wphq-secondary);font-size:clamp(2.8rem,6vw,5rem);line-height:1.02;letter-spacing:-.045em}.wphq-entry-content h1,.wphq-entry-content h2,.wphq-entry-content h3{color:var(--wphq-secondary);line-height:1.12;letter-spacing:-.03em}.wphq-entry-content h2{font-size:clamp(2rem,4vw,3.25rem)}.wphq-entry-content p{color:var(--wphq-muted)}
.wphq-generated-hero{min-height:min(700px,calc(100vh - var(--wphq-header)));display:grid;align-content:center;padding:100px 0!important;background:var(--wphq-secondary);color:#fff}.wphq-generated-hero .wphq-section-inner{margin-inline:auto}.wphq-generated-hero h1{max-width:850px;margin:0 0 22px;color:#fff;font-size:clamp(3.2rem,8vw,6.5rem);line-height:.94}.wphq-generated-hero p{max-width:700px;margin:0 0 30px;color:rgba(255,255,255,.86);font-size:clamp(1.15rem,2vw,1.5rem)}.wphq-generated-hero .wp-block-buttons{margin:0}.wphq-home-services,.wphq-services-section,.wphq-about-section,.wphq-contact-details-section,.wphq-offering-detail{padding:92px 0!important}.wphq-home-about{padding:92px 0!important;background:linear-gradient(135deg,var(--wphq-sand),var(--wphq-mint))}.wphq-section-inner>h2:first-child{margin-top:0}.wphq-offering-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.wphq-offering-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--wphq-line);border-radius:var(--wphq-radius);background:#fff;box-shadow:0 12px 35px rgba(23,59,54,.07)}.wphq-offering-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin-bottom:18px}.wphq-offering-card h3{margin:0 0 10px;font-size:1.3rem}.wphq-offering-card p{margin:0 0 18px}.wphq-offering-card a{margin-top:auto;font-weight:800}.wphq-trust-note{font-weight:750;color:var(--wphq-primary)!important}.wphq-contact-cards{display:grid;gap:12px}.wphq-contact-cards p{margin:0;padding:18px 22px;background:var(--wphq-mint);border-radius:14px}.wphq-contact-cards a{text-decoration:none}
.wphq-final-cta{padding:88px 0;text-align:center;background:#fff;border-top:1px solid var(--wphq-line)}.wphq-final-cta .wphq-content-shell{max-width:760px}.wphq-final-cta h2{margin:.1em 0 .35em;color:var(--wphq-secondary);font-size:clamp(2.2rem,5vw,4rem);line-height:1.03}.wphq-final-cta p:not(.wphq-eyebrow){margin:0 0 28px;color:var(--wphq-muted)}
.wphq-contact-section{padding:88px 0 104px;background:var(--wphq-sand);border-top:1px solid var(--wphq-line)}.wphq-contact-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:64px;align-items:start}.wphq-contact-layout h2{margin:.15em 0 .4em;color:var(--wphq-secondary);font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.wphq-contact-form{padding:34px;background:#fff;border:1px solid var(--wphq-line);border-radius:var(--wphq-radius);box-shadow:var(--wphq-shadow)}.wphq-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wphq-form-grid p{margin:0}.wphq-form-grid .is-full{grid-column:1/-1}.wphq-contact-form label{display:block;margin-bottom:7px;font-weight:750}.wphq-contact-form input,.wphq-contact-form textarea{width:100%;padding:13px 14px;border:1px solid #cbdad5;border-radius:12px}.wphq-contact-form>.wphq-button{margin-top:20px}.wphq-honeypot{position:absolute;left:-10000px}
.wphq-site-footer{padding:72px 0 24px;background:var(--wphq-secondary);color:rgba(255,255,255,.76)}.wphq-footer-grid,.wphq-footer-bottom{width:min(calc(100% - 48px),var(--wphq-wide));margin:auto}.wphq-footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:64px}.wphq-site-footer .custom-logo{max-height:80px;filter:brightness(0) invert(1)}.wphq-site-footer h2{margin:0 0 16px;color:#fff;font-size:1rem}.wphq-footer-menu,.wphq-contact-list{list-style:none;padding:0}.wphq-site-footer a{color:rgba(255,255,255,.88);text-decoration:none}.wphq-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:.86rem}.wphq-footer-bottom p{margin:0}.wphq-empty-state{min-height:calc(100vh - var(--wphq-header));display:flex;flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;text-align:center}.wphq-empty-state h1{margin-inline:auto}.wphq-empty-state p{color:var(--wphq-muted)}
@media(max-width:1050px){.wphq-header-action{display:none}.wphq-menu-toggle{display:block;margin-left:auto}.wphq-primary-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 24px 24px;background:#fff;border-bottom:1px solid var(--wphq-line)}.wphq-primary-nav.is-open{display:block}.wphq-menu{display:block}.wphq-menu a{padding:12px 14px}.wphq-contact-layout{grid-template-columns:1fr}.wphq-footer-grid{grid-template-columns:1fr 1fr}.wphq-footer-brand{grid-column:1/-1}}
@media(max-width:760px){.wphq-content-shell,.wphq-section-inner,.wphq-header-inner,.wphq-footer-grid,.wphq-footer-bottom{width:min(calc(100% - 30px),var(--wphq-wide))}.wphq-header-inner{min-height:76px}.custom-logo{max-height:58px;max-width:180px}.wphq-page-hero{padding:54px 0}.wphq-generated-hero{min-height:560px;padding:72px 0!important}.wphq-offering-grid{grid-template-columns:1fr}.wphq-home-services,.wphq-services-section,.wphq-about-section,.wphq-contact-details-section,.wphq-offering-detail{padding:68px 0!important}.wphq-form-grid{grid-template-columns:1fr}.wphq-footer-grid{grid-template-columns:1fr}.wphq-footer-brand{grid-column:auto}.wphq-footer-bottom{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}


/* WPHQ Fresh v1.3 refinements */
.wphq-generated-hero .wphq-section-inner,
.wphq-generated-hero .wp-block-group__inner-container{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.wphq-generated-hero h1,.wphq-generated-hero p,.wphq-generated-hero .wp-block-buttons{margin-left:0!important;margin-right:0!important;text-align:left!important}
.wphq-generated-hero p{width:min(100%,700px)}

/* Wider, more readable service cards on homepage and service indexes. */
.wphq-home-services .wphq-offering-grid,
.wphq-services-section .wphq-offering-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.wphq-home-services .wphq-offering-card,
.wphq-services-section .wphq-offering-card{display:grid;grid-template-columns:minmax(150px,38%) minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:24px;align-items:start;padding:22px;min-height:260px}
.wphq-home-services .wphq-offering-card img,
.wphq-services-section .wphq-offering-card img{grid-row:1/-1;width:100%;height:100%;min-height:214px;aspect-ratio:auto;margin:0;object-fit:cover}
.wphq-home-services .wphq-offering-card h3,
.wphq-services-section .wphq-offering-card h3{margin:2px 0 8px}
.wphq-home-services .wphq-offering-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin-bottom:12px}
.wphq-home-services .wphq-offering-card a,
.wphq-services-section .wphq-offering-card a{align-self:end}

/* Preserve the uploaded logo's original colors against a light footer plaque. */
.wphq-footer-logo-wrap{display:inline-flex;align-items:center;justify-content:center;min-width:92px;min-height:92px;margin-bottom:18px;padding:12px;background:#fff;border-radius:16px}
.wphq-site-footer .wphq-footer-logo-wrap .custom-logo{max-width:190px;max-height:78px;filter:none!important}
.wphq-social-links{display:flex;gap:10px;list-style:none;margin:22px 0 0;padding:0}
.wphq-social-links a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.08)}
.wphq-social-links a:hover{background:var(--wphq-primary);border-color:var(--wphq-primary)}
.wphq-social-links svg{width:21px;height:21px}
.wphq-contact-list li+li,.wphq-footer-menu li+li{margin-top:5px}

.wphq-map-section{padding:0 0 104px;background:var(--wphq-sand)}
.wphq-map-card{display:flex;align-items:center;justify-content:space-between;gap:42px;padding:38px 42px;border:1px solid var(--wphq-line);border-radius:var(--wphq-radius);background:#fff;box-shadow:var(--wphq-shadow)}
.wphq-map-card h2{margin:.1em 0 .25em;color:var(--wphq-secondary);font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.05}
.wphq-map-card p:not(.wphq-eyebrow){margin:0;color:var(--wphq-muted)}
.wphq-map-card .wphq-button{flex:0 0 auto}

@media(max-width:900px){
  .wphq-home-services .wphq-offering-grid,.wphq-services-section .wphq-offering-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .wphq-home-services .wphq-offering-card,.wphq-services-section .wphq-offering-card{display:flex;min-height:0}
  .wphq-home-services .wphq-offering-card img,.wphq-services-section .wphq-offering-card img{height:auto;min-height:0;aspect-ratio:16/10;margin-bottom:16px}
  .wphq-map-card{display:block;padding:28px 24px}
  .wphq-map-card .wphq-button{margin-top:22px}
}

/* WPHQ Fresh v1.4 polish: adaptive logo lockups and balanced offering cards. */
.wphq-brand{flex:0 1 310px;min-width:210px}
.wphq-logo-lockup{display:inline-flex;align-items:center;gap:13px;max-width:310px;color:var(--wphq-secondary);text-decoration:none}
.wphq-logo-image-wrap{display:grid;place-items:center;flex:0 0 66px;width:66px;height:66px;overflow:hidden;border-radius:12px;background:#fff}
.wphq-logo-lockup .custom-logo{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.wphq-logo-name{max-width:220px;font-size:1.02rem;font-weight:850;line-height:1.08;letter-spacing:-.025em}

/* Compact, consistent cards: full-width image above readable copy. */
.wphq-home-services .wphq-offering-grid,
.wphq-services-section .wphq-offering-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.wphq-home-services .wphq-offering-card,
.wphq-services-section .wphq-offering-card{display:flex;flex-direction:column;min-height:0;padding:18px}
.wphq-home-services .wphq-offering-card img,
.wphq-services-section .wphq-offering-card img{width:100%;height:auto;min-height:0;aspect-ratio:16/10;margin:0 0 16px;object-fit:cover;border-radius:13px}
.wphq-home-services .wphq-offering-card h3,
.wphq-services-section .wphq-offering-card h3{margin:0 0 8px;font-size:1.18rem;line-height:1.12}
.wphq-home-services .wphq-offering-card p,
.wphq-services-section .wphq-offering-card p{margin:0 0 14px;line-height:1.58}
.wphq-home-services .wphq-offering-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.wphq-services-section .wphq-offering-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.wphq-home-services .wphq-offering-card a,
.wphq-services-section .wphq-offering-card a{margin-top:auto;align-self:flex-start}

/* Footer uses the same readable logo lockup without filtering the uploaded art. */
.wphq-footer-logo-wrap{display:block;min-width:0;min-height:0;margin:0 0 18px;padding:0;background:transparent;border-radius:0}
.wphq-site-footer .wphq-logo-lockup{max-width:340px;color:#fff}
.wphq-site-footer .wphq-logo-image-wrap{flex-basis:76px;width:76px;height:76px;padding:6px;border-radius:14px;background:#fff}
.wphq-site-footer .wphq-logo-name{max-width:235px;color:#fff;font-size:1.15rem}
.wphq-site-footer .wphq-logo-lockup .custom-logo{filter:none!important}

@media(max-width:1100px){
  .wphq-home-services .wphq-offering-grid,
  .wphq-services-section .wphq-offering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wphq-brand{flex-basis:260px}
  .wphq-logo-name{font-size:.94rem}
}
@media(max-width:760px){
  .wphq-brand{min-width:0;flex:1 1 auto}
  .wphq-logo-lockup{gap:9px;max-width:230px}
  .wphq-logo-image-wrap{flex-basis:52px;width:52px;height:52px}
  .wphq-logo-name{max-width:155px;font-size:.84rem}
  .wphq-home-services .wphq-offering-grid,
  .wphq-services-section .wphq-offering-grid{grid-template-columns:1fr}
  .wphq-home-services .wphq-offering-card,
  .wphq-services-section .wphq-offering-card{padding:17px}
}

/* WPHQ Fresh v1.5: resilient logo sizing and a roomier 900px content canvas. */
.wphq-section-inner{max-width:900px}
.wphq-brand{flex:0 1 250px;min-width:120px}
.wphq-logo-link{display:flex;align-items:center;justify-content:flex-start;width:max-content;max-width:250px;min-height:58px;text-decoration:none;overflow:visible}
.wphq-logo-link .custom-logo{display:block;width:auto!important;height:auto!important;max-width:250px!important;max-height:82px!important;object-fit:contain!important;object-position:left center!important;clip-path:none!important}
.wphq-footer-logo-wrap{display:block;margin:0 0 18px;padding:0;background:transparent;overflow:visible}
.wphq-site-footer .wphq-logo-link{max-width:230px;min-height:64px}
.wphq-site-footer .wphq-logo-link .custom-logo{max-width:230px!important;max-height:96px!important;filter:none!important}
.wphq-logo-lockup,.wphq-logo-image-wrap,.wphq-logo-name{all:unset}
.wphq-form-notice{margin:0 0 18px;padding:12px 15px;border-radius:12px;font-weight:700}
.wphq-form-notice.is-success{background:#e9f7ef;color:#185b36;border:1px solid #bfe3ce}
.wphq-form-notice.is-error{background:#fff0f0;color:#8a2525;border:1px solid #efc4c4}
@media(max-width:760px){
  .wphq-brand{min-width:0;flex:1 1 auto}
  .wphq-logo-link{max-width:190px;min-height:48px}
  .wphq-logo-link .custom-logo{max-width:190px!important;max-height:64px!important}
}
