/* WPHQ Signal v2.0.0 */
:root{--wphq-primary:#b08d57;--wphq-secondary:#111827;--wphq-ink:#111318;--wphq-muted:#6d7280;--wphq-soft:#f5f5f2;--wphq-warm:#fbfaf7;--wphq-line:#e6e3dc;--wphq-white:#fff;--wphq-radius:28px;--wphq-shadow:0 34px 90px rgba(17,19,24,.1);--wphq-wide:1480px;--wphq-narrow:860px;--wphq-header:92px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--wphq-ink);font:17px/1.72 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto}a{color:var(--wphq-primary);text-underline-offset:.2em}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% - 72px),var(--wphq-wide));margin-inline:auto}.wphq-narrow{max-width:var(--wphq-narrow)}
h1,h2,h3,h4{margin:0 0 .55em;color:var(--wphq-ink);font-weight:650;line-height:.98;letter-spacing:-.055em;text-wrap:balance}h1{font-size:clamp(4rem,8vw,8.7rem)}h2{font-size:clamp(3rem,5vw,5.8rem)}h3{font-size:clamp(1.65rem,2.5vw,2.45rem);letter-spacing:-.04em}p{margin:0 0 1.4em;color:var(--wphq-muted)}.wphq-eyebrow{margin:0 0 20px;color:var(--wphq-primary);font-size:.72rem;font-weight:750;letter-spacing:.2em;text-transform:uppercase}
/* Architectural header */
.wphq-site-header{position:sticky;z-index:1000;top:0;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(230,227,220,.9);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.admin-bar .wphq-site-header{top:32px}.wphq-header-inner{display:grid;grid-template-columns:minmax(150px,260px) 1fr auto;align-items:center;gap:54px;width:min(calc(100% - 72px),var(--wphq-wide));min-height:var(--wphq-header);margin:auto}.wphq-brand{min-width:120px}.wphq-logo-link{display:flex;align-items:center;max-width:240px;min-height:58px}.wphq-logo-link .custom-logo{display:block;width:auto!important;max-width:240px!important;max-height:66px!important;object-fit:contain}.wphq-wordmark{color:var(--wphq-ink);font-size:1.2rem;font-weight:750;letter-spacing:-.03em;text-decoration:none}.wphq-primary-nav{justify-self:start}.wphq-menu,.wphq-footer-menu{list-style:none;margin:0;padding:0}.wphq-menu{display:flex;align-items:center;gap:28px}.wphq-menu a{position:relative;display:block;padding:10px 0;color:#333741;font-size:.86rem;font-weight:620;text-decoration:none;white-space:nowrap}.wphq-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--wphq-primary);transition:right .3s ease}.wphq-menu a:hover,.wphq-menu .current-menu-item>a{color:var(--wphq-ink)}.wphq-menu a:hover:after,.wphq-menu .current-menu-item>a:after{right:0}.wphq-header-action{justify-self:end}.wphq-header-cta{display:flex;align-items:center;gap:18px;color:var(--wphq-ink);font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap}.wphq-header-cta span:last-child{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--wphq-ink);border-radius:50%;transition:background .25s ease,color .25s ease,transform .25s ease}.wphq-header-cta:hover span:last-child{background:var(--wphq-ink);color:#fff;transform:translate(2px,-2px)}.wphq-menu-toggle{display:none;margin-left:auto;padding:8px;border:0;background:transparent}.wphq-menu-toggle span:not(.screen-reader-text){display:block;width:24px;height:2px;margin:5px;background:var(--wphq-ink)}
.wphq-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 25px;border:1px solid var(--wphq-ink);border-radius:999px;background:var(--wphq-ink)!important;color:#fff!important;font-size:.86rem;font-weight:680;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.wphq-button:hover,.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(17,19,24,.18)}
.wphq-entry-content:after{content:"";display:table;clear:both}.wphq-entry-content>.wp-block-group:not(.alignfull):not(.wphq-generated-hero){width:min(calc(100% - 72px),1180px);margin-left:auto;margin-right:auto}.alignfull{width:100%;max-width:none}.alignwide{width:min(calc(100% - 72px),var(--wphq-wide));max-width:none;margin-left:auto!important;margin-right:auto!important}
/* Full-screen editorial hero */
.wphq-front-page .wphq-entry-content>.wp-block-group:first-child,.wphq-generated-hero{position:relative;display:flex;align-items:flex-end;min-height:min(920px,calc(100vh - var(--wphq-header)));padding:180px 0 110px;background-color:#111827;background-size:cover;background-position:center;color:#fff;overflow:hidden;isolation:isolate}.wphq-front-page .wphq-entry-content>.wp-block-group:first-child:before,.wphq-generated-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,12,18,.76) 0%,rgba(10,12,18,.48) 42%,rgba(10,12,18,.12) 76%,rgba(10,12,18,.08) 100%)}.wphq-front-page .wphq-entry-content>.wp-block-group:first-child>.wp-block-group,.wphq-generated-hero>.wp-block-group{position:relative;z-index:2;width:min(calc(100% - 72px),var(--wphq-wide));margin:auto!important}.wphq-generated-hero h1,.wphq-front-page .wphq-entry-content>.wp-block-group:first-child h1{max-width:970px;margin:0 0 30px;color:#fff;font-size:clamp(4.5rem,8vw,8.8rem);line-height:.88;letter-spacing:-.075em}.wphq-generated-hero p,.wphq-front-page .wphq-entry-content>.wp-block-group:first-child p{width:auto!important;max-width:760px!important;margin:0 0 38px!important;padding:0!important;color:rgba(255,255,255,.9);font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.5;text-align:left!important}.wphq-generated-hero .wp-block-buttons,.wphq-front-page .wphq-entry-content>.wp-block-group:first-child .wp-block-buttons{justify-content:flex-start!important;margin-left:0!important}.wphq-generated-hero .wp-block-button__link,.wphq-front-page .wphq-entry-content>.wp-block-group:first-child .wp-block-button__link{background:#fff!important;border-color:#fff;color:var(--wphq-ink)!important;padding-inline:28px}
/* Editorial homepage offerings */
.wphq-home-services{padding:150px 0 120px;background:#fff}.wphq-home-services .wphq-section-inner{width:min(calc(100% - 72px),var(--wphq-wide))}.wphq-home-services h2{max-width:980px;margin-bottom:90px}.wphq-home-services .wphq-offering-grid{display:block}.wphq-home-services .wphq-offering-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:center;gap:7vw;min-height:580px;margin:0 0 90px;padding:0;border:0;border-radius:0;background:transparent;overflow:visible;box-shadow:none}.wphq-home-services .wphq-offering-card:nth-child(even){grid-template-columns:minmax(320px,.65fr) minmax(0,1.35fr)}.wphq-home-services .wphq-offering-card:nth-child(even) img{grid-column:2;grid-row:1}.wphq-home-services .wphq-offering-card:nth-child(even) h3,.wphq-home-services .wphq-offering-card:nth-child(even) p,.wphq-home-services .wphq-offering-card:nth-child(even) a{grid-column:1}.wphq-home-services .wphq-offering-card:hover{transform:none}.wphq-home-services .wphq-offering-card img{grid-column:1;grid-row:1/5;width:100%;height:100%;min-height:580px;aspect-ratio:16/10;margin:0;border-radius:30px;object-fit:cover;box-shadow:var(--wphq-shadow);transition:transform .8s cubic-bezier(.2,.75,.25,1)}.wphq-home-services .wphq-offering-card:hover img{transform:scale(1.018)}.wphq-home-services .wphq-offering-card h3,.wphq-home-services .wphq-offering-card p,.wphq-home-services .wphq-offering-card a{grid-column:2;margin-left:0;margin-right:0}.wphq-home-services .wphq-offering-card h3{align-self:end;margin-bottom:22px;font-size:clamp(2.7rem,4vw,4.8rem)}.wphq-home-services .wphq-offering-card p{display:block;align-self:start;margin-bottom:28px;font-size:1.08rem;line-height:1.75}.wphq-home-services .wphq-offering-card a{align-self:start;margin-top:0;color:var(--wphq-ink);font-size:.86rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.1em}.wphq-home-services .wphq-offering-card a:after{content:"  ↗";color:var(--wphq-primary)}
/* Product/service index remains crisp but intentionally different */
.wphq-services-section,.wphq-contact-details-section{padding:140px 0}.wphq-services-section{background:var(--wphq-warm)}.wphq-services-section .wphq-section-inner{width:min(calc(100% - 72px),var(--wphq-wide))}.wphq-services-section h2{max-width:900px;margin-bottom:64px}.wphq-services-section .wphq-offering-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--wphq-line)}.wphq-services-section .wphq-offering-card{display:grid;grid-template-columns:180px 1fr;grid-template-rows:auto 1fr auto;gap:0 30px;padding:28px;background:#fff;border:0;border-radius:0}.wphq-services-section .wphq-offering-card img{grid-row:1/4;width:180px;height:180px;aspect-ratio:1;margin:0;object-fit:cover}.wphq-services-section .wphq-offering-card h3,.wphq-services-section .wphq-offering-card p,.wphq-services-section .wphq-offering-card a{margin-left:0;margin-right:0}.wphq-services-section .wphq-offering-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.wphq-services-section .wphq-offering-card a{color:var(--wphq-ink);font-size:.84rem;font-weight:700;text-decoration:none}.wphq-services-section .wphq-offering-card a:after{content:"  ↗";color:var(--wphq-primary)}
/* Editorial about */
.wphq-home-about{padding:165px 0;background:var(--wphq-soft);border:0}.wphq-home-about .wphq-section-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:10vw;align-items:start}.wphq-home-about h2{position:static;font-size:clamp(3.7rem,6vw,7rem)}.wphq-home-about h2:before{content:"Since ";display:block;margin-bottom:25px;color:var(--wphq-primary);font-size:.72rem;font-weight:750;letter-spacing:.2em;text-transform:uppercase}.wphq-home-about p{font-size:1.08rem}.wphq-contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wphq-contact-cards p{margin:0;padding:24px;border:1px solid var(--wphq-line);background:#fff}
/* Architectural inner heroes */
.wphq-page-hero{position:relative;padding:150px 0 120px;background:#f8f8f5;border-bottom:1px solid var(--wphq-line);overflow:hidden;isolation:isolate}.wphq-page-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(176,141,87,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(176,141,87,.11) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 100%)}.wphq-page-hero:after{content:"";position:absolute;right:-5vw;top:-11vw;z-index:-1;width:42vw;height:42vw;border:1px solid rgba(176,141,87,.28);border-radius:50%;box-shadow:-8vw 8vw 0 -1px #f8f8f5,-8vw 8vw 0 0 rgba(176,141,87,.16),-16vw 16vw 0 -1px #f8f8f5,-16vw 16vw 0 0 rgba(176,141,87,.1)}.wphq-page-hero .wphq-content-shell{position:relative;z-index:2}.wphq-page-hero .wphq-eyebrow{color:var(--wphq-primary)}.wphq-page-hero h1{max-width:1100px;margin:0;font-size:clamp(4.2rem,8vw,8rem)}.wphq-page>.wphq-entry-content{padding-top:125px;padding-bottom:125px}.wphq-page>.wphq-entry-content>p,.wphq-page>.wphq-entry-content>ul,.wphq-page>.wphq-entry-content>ol{max-width:860px}.wphq-page>.wphq-entry-content h2{margin-top:1.4em}
/* Harmonized CTA */
.wphq-final-cta{position:relative;padding:145px 0;background:#17191f;overflow:hidden}.wphq-final-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 58%,rgba(176,141,87,.12) 58% 66%,transparent 66%)}.wphq-final-cta:after{content:"";position:absolute;right:6vw;top:50%;width:340px;height:340px;border:1px solid rgba(176,141,87,.35);border-radius:50%;transform:translateY(-50%)}.wphq-final-cta .wphq-content-shell{position:relative;z-index:2;max-width:var(--wphq-wide)}.wphq-final-cta .wphq-eyebrow{color:#d8bd91}.wphq-final-cta h2{max-width:980px;color:#fff}.wphq-final-cta p:not(.wphq-eyebrow){max-width:720px;color:#b8bdc7;font-size:1.1rem}.wphq-final-cta .wphq-button{background:#fff!important;border-color:#fff;color:#17191f!important}
/* Contact */
.wphq-contact-section{padding:130px 0;background:var(--wphq-soft)}.wphq-contact-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:90px;align-items:start;width:min(calc(100% - 72px),1280px);margin:auto}.wphq-contact-form{padding:46px;border:1px solid var(--wphq-line);border-radius:0;background:#fff;box-shadow:var(--wphq-shadow)}.wphq-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.wphq-form-grid>p{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0}.wphq-form-grid>p.is-full{grid-column:1/-1}.wphq-form-grid label{color:#344054;font-size:.82rem;font-weight:650}.wphq-form-grid input,.wphq-form-grid textarea{display:block;width:100%;min-width:0;padding:15px 16px;border:0;border-bottom:1px solid #cfd3da;border-radius:0;background:#fff;color:var(--wphq-ink)}.wphq-form-grid textarea{min-height:180px;resize:vertical}.wphq-form-grid input:focus,.wphq-form-grid textarea:focus{outline:none;border-color:var(--wphq-primary)}.wphq-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.wphq-form-notice{margin:0 0 18px;padding:13px 15px;font-weight:650}.wphq-form-notice.is-success{background:#eaf8ef;color:#17663a}.wphq-form-notice.is-error{background:#fff0f0;color:#8a2525}.wphq-map-section{padding:0 0 120px;background:var(--wphq-soft)}.wphq-map-card{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:46px;border:1px solid var(--wphq-line);background:#fff}.wphq-map-card .wphq-button{flex:0 0 auto;white-space:nowrap}
/* Reimagined footer */
.wphq-site-footer{padding:0;background:#f3f1eb;color:var(--wphq-ink)}.wphq-footer-lead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:60px;width:min(calc(100% - 72px),var(--wphq-wide));margin:auto;padding:120px 0 100px;border-bottom:1px solid #d9d5cb}.wphq-footer-lead h2{max-width:1000px;margin:0;font-size:clamp(3.8rem,7vw,7.4rem)}.wphq-footer-lead-link{display:flex;align-items:center;gap:22px;color:var(--wphq-ink);font-size:.86rem;font-weight:700;text-decoration:none;white-space:nowrap}.wphq-footer-lead-link span:last-child{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--wphq-ink);border-radius:50%;transition:background .25s ease,color .25s ease,transform .25s ease}.wphq-footer-lead-link:hover span:last-child{background:var(--wphq-ink);color:#fff;transform:translate(2px,-2px)}.wphq-footer-grid{display:grid;grid-template-columns:1.45fr .65fr 1fr;gap:90px;width:min(calc(100% - 72px),var(--wphq-wide));margin:auto;padding:80px 0}.wphq-footer-logo-wrap{margin:0 0 22px}.wphq-site-footer .wphq-logo-link{max-width:280px}.wphq-site-footer .wphq-logo-link .custom-logo{max-width:280px!important;max-height:95px!important}.wphq-site-footer .wphq-wordmark{color:var(--wphq-ink);font-size:1.45rem}.wphq-site-footer p,.wphq-site-footer a{color:#555b64}.wphq-site-footer h2{color:var(--wphq-ink);font-size:.72rem;letter-spacing:.17em;text-transform:uppercase}.wphq-footer-menu a,.wphq-contact-list a{text-decoration:none}.wphq-footer-menu li+li,.wphq-contact-list li+li{margin-top:10px}.wphq-contact-list{list-style:none;margin:0;padding:0}.wphq-footer-menu a:hover,.wphq-contact-list a:hover{color:var(--wphq-primary)}.wphq-social-links{display:flex;gap:10px;list-style:none;margin:25px 0 0;padding:0}.wphq-social-links a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c8c4ba;border-radius:50%;color:var(--wphq-ink)}.wphq-social-links a:hover{border-color:var(--wphq-ink);background:var(--wphq-ink);color:#fff}.wphq-social-links svg{width:19px;height:19px}.wphq-footer-bottom{display:flex;justify-content:space-between;gap:25px;width:min(calc(100% - 72px),var(--wphq-wide));margin:auto;padding:28px 0;border-top:1px solid #d9d5cb;font-size:.8rem}.wphq-footer-bottom p{margin:0}
.wphq-empty-state{display:flex;min-height:650px;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:80px;padding-bottom:80px}.wp-block-quote{margin:34px 0;padding:30px 34px;border-left:2px solid var(--wphq-primary);background:var(--wphq-soft)}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table td,.wp-block-table th{padding:13px;border:1px solid var(--wphq-line)}.wphq-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}.wphq-reveal.is-visible{opacity:1;transform:none}
@media(max-width:1150px){.wphq-header-inner{grid-template-columns:minmax(130px,220px) 1fr auto;gap:24px}.wphq-menu{gap:16px}.wphq-home-services .wphq-offering-card{gap:5vw;min-height:500px}.wphq-home-services .wphq-offering-card img{min-height:500px}.wphq-home-about .wphq-section-inner{gap:60px}.wphq-contact-layout{grid-template-columns:1fr;gap:45px}.wphq-footer-lead{grid-template-columns:1fr;align-items:start}.wphq-footer-lead-link{justify-self:start}}
@media(max-width:900px){.admin-bar .wphq-site-header{top:46px}.wphq-header-inner{display:flex;min-height:78px}.wphq-brand{flex:1 1 auto}.wphq-logo-link{max-width:210px}.wphq-logo-link .custom-logo{max-width:210px!important;max-height:58px!important}.wphq-menu-toggle{display:block}.wphq-primary-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:18px 28px 24px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--wphq-line);box-shadow:0 20px 40px rgba(16,24,40,.08)}.wphq-primary-nav.is-open{display:block}.wphq-menu{display:block}.wphq-menu a{padding:13px 0;border-bottom:1px solid var(--wphq-line)}.wphq-header-action{display:none}.wphq-front-page .wphq-entry-content>.wp-block-group:first-child,.wphq-generated-hero{min-height:760px;padding:130px 0 85px}.wphq-home-services .wphq-offering-card,.wphq-home-services .wphq-offering-card:nth-child(even){grid-template-columns:1fr;gap:28px;min-height:0;margin-bottom:80px}.wphq-home-services .wphq-offering-card img,.wphq-home-services .wphq-offering-card:nth-child(even) img{grid-column:1;grid-row:1;min-height:0;aspect-ratio:16/10}.wphq-home-services .wphq-offering-card h3,.wphq-home-services .wphq-offering-card p,.wphq-home-services .wphq-offering-card a,.wphq-home-services .wphq-offering-card:nth-child(even) h3,.wphq-home-services .wphq-offering-card:nth-child(even) p,.wphq-home-services .wphq-offering-card:nth-child(even) a{grid-column:1}.wphq-home-about .wphq-section-inner{grid-template-columns:1fr;gap:35px}.wphq-services-section .wphq-offering-grid{grid-template-columns:1fr}.wphq-footer-grid{grid-template-columns:1fr 1fr}.wphq-footer-brand{grid-column:1/-1}}
@media(max-width:640px){.wphq-content-shell,.wphq-section-inner,.wphq-entry-content>.wp-block-group:not(.alignfull):not(.wphq-generated-hero),.wphq-header-inner,.wphq-footer-grid,.wphq-footer-bottom,.wphq-contact-layout,.wphq-footer-lead{width:min(calc(100% - 32px),var(--wphq-wide))}h1{font-size:3.8rem}h2{font-size:3rem}.wphq-front-page .wphq-entry-content>.wp-block-group:first-child,.wphq-generated-hero{min-height:690px;padding:110px 0 72px}.wphq-generated-hero h1,.wphq-front-page .wphq-entry-content>.wp-block-group:first-child h1{font-size:clamp(3.7rem,15vw,5.8rem)}.wphq-home-services,.wphq-services-section,.wphq-contact-details-section,.wphq-home-about{padding:92px 0}.wphq-home-services h2{margin-bottom:60px}.wphq-home-services .wphq-offering-card{margin-bottom:62px}.wphq-home-services .wphq-offering-card img{border-radius:20px}.wphq-home-services .wphq-offering-card h3{font-size:2.5rem}.wphq-services-section .wphq-offering-card{grid-template-columns:1fr;padding:22px}.wphq-services-section .wphq-offering-card img{grid-row:auto;width:100%;height:auto;aspect-ratio:16/10;margin-bottom:22px}.wphq-contact-cards{grid-template-columns:1fr}.wphq-page-hero{padding:100px 0 82px}.wphq-page>.wphq-entry-content{padding-top:78px;padding-bottom:78px}.wphq-final-cta{padding:92px 0}.wphq-contact-form{padding:28px 22px}.wphq-form-grid{grid-template-columns:1fr}.wphq-form-grid>p.is-full{grid-column:auto}.wphq-map-card{display:block;padding:30px 24px}.wphq-map-card .wphq-button{margin-top:20px}.wphq-footer-lead{padding:85px 0 70px}.wphq-footer-lead h2{font-size:3.3rem}.wphq-footer-grid{grid-template-columns:1fr;gap:38px;padding:60px 0}.wphq-footer-brand{grid-column:auto}.wphq-footer-bottom{display:block}.wphq-footer-bottom a{display:inline-block;margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.wphq-reveal{opacity:1;transform:none}}

/* WPHQ Signal v2.1.0 polish pass */

/* Keep every element in the generated hero on one deliberate editorial axis. */
.wphq-front-page .wphq-entry-content > .wp-block-group:first-child > .wp-block-group,
.wphq-front-page .wphq-entry-content > .wp-block-group:first-child .wp-block-group__inner-container,
.wphq-generated-hero > .wp-block-group,
.wphq-generated-hero .wp-block-group__inner-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    text-align: left !important;
}

.wphq-front-page .wphq-entry-content > .wp-block-group:first-child h1,
.wphq-front-page .wphq-entry-content > .wp-block-group:first-child p,
.wphq-front-page .wphq-entry-content > .wp-block-group:first-child .wp-block-buttons,
.wphq-generated-hero h1,
.wphq-generated-hero p,
.wphq-generated-hero .wp-block-buttons {
    width: min(100%, 920px) !important;
    max-width: 920px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
}

.wphq-front-page .wphq-entry-content > .wp-block-group:first-child .wp-block-buttons,
.wphq-generated-hero .wp-block-buttons {
    width: auto !important;
}

/* A simpler, more confident primary CTA treatment. */
.wphq-header-cta,
.wphq-footer-lead-link {
    gap: 12px;
}

.wphq-header-cta span:last-child,
.wphq-footer-lead-link span:last-child {
    display: inline-flex;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--wphq-primary);
    font-size: 1.35rem;
    line-height: 1;
    transform: none;
}

.wphq-header-cta:hover span:last-child,
.wphq-footer-lead-link:hover span:last-child {
    background: transparent;
    color: var(--wphq-primary);
    transform: translate(4px, -4px);
}

.wphq-header-cta {
    position: relative;
    padding: 12px 0;
}

.wphq-header-cta:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 7px;
    left: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .3s ease;
}

.wphq-header-cta:hover:after {
    transform: scaleX(1);
    transform-origin: left;
}

/* Homepage offerings become immersive editorial image panels, not another card grid. */
.wphq-home-services {
    padding: 150px 0 130px;
    background: #fff;
}

.wphq-home-services .wphq-offering-grid {
    display: grid;
    gap: 34px;
}

.wphq-home-services .wphq-offering-card,
.wphq-home-services .wphq-offering-card:nth-child(even) {
    position: relative;
    display: flex;
    min-height: clamp(420px, 48vw, 620px);
    margin: 0;
    padding: clamp(36px, 6vw, 88px);
    align-items: flex-end;
    justify-content: flex-start;
    border: 0;
    border-radius: 34px;
    background: #111318;
    overflow: hidden;
    isolation: isolate;
    box-shadow: none;
}

.wphq-home-services .wphq-offering-card:nth-child(even) {
    justify-content: flex-end;
    text-align: right;
}

.wphq-home-services .wphq-offering-card:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(8,10,14,.86) 0%, rgba(8,10,14,.52) 48%, rgba(8,10,14,.08) 100%);
}

.wphq-home-services .wphq-offering-card:nth-child(even):before {
    background: linear-gradient(270deg, rgba(8,10,14,.86) 0%, rgba(8,10,14,.52) 48%, rgba(8,10,14,.08) 100%);
}

.wphq-home-services .wphq-offering-card img,
.wphq-home-services .wphq-offering-card:nth-child(even) img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform .9s cubic-bezier(.2,.75,.25,1), filter .6s ease;
}

.wphq-home-services .wphq-offering-card:hover img {
    transform: scale(1.045);
}

.wphq-home-services .wphq-offering-card h3,
.wphq-home-services .wphq-offering-card p,
.wphq-home-services .wphq-offering-card a,
.wphq-home-services .wphq-offering-card:nth-child(even) h3,
.wphq-home-services .wphq-offering-card:nth-child(even) p,
.wphq-home-services .wphq-offering-card:nth-child(even) a {
    position: relative;
    z-index: 2;
    grid-column: auto;
    max-width: 620px;
    margin-left: 0;
    margin-right: 0;
    color: #fff;
    text-align: inherit;
}

.wphq-home-services .wphq-offering-card h3 {
    margin-bottom: 22px;
    font-size: clamp(2.8rem, 5vw, 5.7rem);
    text-shadow: 0 4px 30px rgba(0,0,0,.2);
}

.wphq-home-services .wphq-offering-card p {
    display: block;
    margin-bottom: 28px;
    color: rgba(255,255,255,.84);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    line-height: 1.7;
}

.wphq-home-services .wphq-offering-card a {
    color: #fff;
}

.wphq-home-services .wphq-offering-card a:after {
    color: var(--wphq-primary);
}

/* Make the about section read as one intentional editorial statement. */
.wphq-home-about {
    padding: 150px 0;
}

.wphq-home-about .wphq-section-inner {
    display: block;
    max-width: 1120px;
}

.wphq-home-about h2 {
    max-width: 900px;
    margin-bottom: 44px;
}

.wphq-home-about h2:before {
    content: none;
}

.wphq-home-about p {
    max-width: 780px;
    margin-left: auto;
    font-size: 1.12rem;
    line-height: 1.85;
}

.wphq-home-about p:last-child {
    margin-top: 42px;
    padding-top: 24px;
    border-top: 1px solid var(--wphq-line);
    color: var(--wphq-ink);
    font-size: .8rem;
    font-weight: 750;
    letter-spacing: .15em;
    text-transform: uppercase;
}

/* The dark CTA is the homepage closing statement; suppress the duplicate footer lead there. */
.wphq-is-front-page .wphq-footer-lead {
    display: none;
}

/* Prevent offering titles and copy from escaping their inner-page columns. */
.wphq-services-section .wphq-offering-grid,
.wphq-services-section .wphq-offering-card,
.wphq-services-section .wphq-offering-card > * {
    min-width: 0;
}

.wphq-services-section .wphq-offering-card h3,
.wphq-services-section .wphq-offering-card p,
.wphq-services-section .wphq-offering-card a {
    overflow-wrap: anywhere;
    word-break: normal;
}

.wphq-services-section .wphq-offering-card h3 {
    font-size: clamp(1.55rem, 2vw, 2.15rem);
    line-height: .98;
}

@media (max-width: 900px) {
    .wphq-home-services .wphq-offering-card,
    .wphq-home-services .wphq-offering-card:nth-child(even) {
        min-height: 500px;
        padding: 44px 34px;
        align-items: flex-end;
        justify-content: flex-start;
        text-align: left;
    }

    .wphq-home-services .wphq-offering-card:before,
    .wphq-home-services .wphq-offering-card:nth-child(even):before {
        background: linear-gradient(0deg, rgba(8,10,14,.9) 0%, rgba(8,10,14,.45) 64%, rgba(8,10,14,.08) 100%);
    }

    .wphq-home-about p {
        margin-left: 0;
    }
}

@media (max-width: 640px) {
    .wphq-front-page .wphq-entry-content > .wp-block-group:first-child h1,
    .wphq-front-page .wphq-entry-content > .wp-block-group:first-child p,
    .wphq-generated-hero h1,
    .wphq-generated-hero p {
        width: 100% !important;
        max-width: 100% !important;
    }

    .wphq-home-services .wphq-offering-grid {
        gap: 20px;
    }

    .wphq-home-services .wphq-offering-card,
    .wphq-home-services .wphq-offering-card:nth-child(even) {
        min-height: 480px;
        padding: 34px 24px;
        border-radius: 22px;
    }

    .wphq-home-services .wphq-offering-card h3 {
        font-size: 2.65rem;
    }

    .wphq-home-services .wphq-offering-card p {
        font-size: .98rem;
        line-height: 1.62;
    }
}

/* WPHQ Signal v2.2.0 refinements */

/*
 * Homepage collections now behave as true full-bleed editorial features.
 * Each card is one coherent vertical content block rather than a row of
 * independent title, description, and link columns.
 */
.wphq-home-services {
    overflow: hidden;
}

.wphq-home-services .wphq-offering-grid {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    gap: 0;
}

.wphq-home-services .wphq-offering-card,
.wphq-home-services .wphq-offering-card:nth-child(even) {
    width: 100%;
    min-height: clamp(440px, 48vw, 690px);
    padding: clamp(42px, 7vw, 112px) max(36px, calc((100vw - var(--wphq-wide)) / 2));
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    border-radius: 0;
    text-align: left;
}

.wphq-home-services .wphq-offering-card:nth-child(even) {
    align-items: flex-end;
    text-align: right;
}

.wphq-home-services .wphq-offering-card h3,
.wphq-home-services .wphq-offering-card p,
.wphq-home-services .wphq-offering-card a,
.wphq-home-services .wphq-offering-card:nth-child(even) h3,
.wphq-home-services .wphq-offering-card:nth-child(even) p,
.wphq-home-services .wphq-offering-card:nth-child(even) a {
    width: min(100%, 660px);
    max-width: 660px;
    flex: 0 0 auto;
}

.wphq-home-services .wphq-offering-card h3 {
    margin: 0 0 18px;
    font-size: clamp(2.75rem, 5.2vw, 5.8rem);
    line-height: .92;
}

.wphq-home-services .wphq-offering-card p {
    margin: 0 0 26px;
    font-size: clamp(1rem, 1.35vw, 1.22rem);
    line-height: 1.65;
}

.wphq-home-services .wphq-offering-card a {
    margin: 0;
}

/* Keep the About heading, story, and longevity statement on one left edge. */
.wphq-home-about .wphq-section-inner {
    max-width: 1040px;
    margin-inline: auto;
}

.wphq-home-about h2,
.wphq-home-about p,
.wphq-home-about p:last-child {
    width: 100%;
    max-width: 820px;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}

.wphq-home-about h2 {
    margin-bottom: 34px;
}

.wphq-home-about p:last-child {
    margin-top: 34px;
}

/* Give the contact form fields clear, premium boundaries and proper rhythm. */
.wphq-contact-form {
    padding: clamp(30px, 4vw, 54px);
}

.wphq-form-grid {
    gap: 24px;
}

.wphq-form-grid > p {
    gap: 10px;
}

.wphq-form-grid input,
.wphq-form-grid textarea {
    padding: 15px 16px;
    border: 1px solid #d8dce3;
    border-radius: 10px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.wphq-form-grid input:hover,
.wphq-form-grid textarea:hover {
    border-color: #b7bec8;
}

.wphq-form-grid input:focus,
.wphq-form-grid textarea:focus {
    border-color: var(--wphq-primary);
    background: #fff;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--wphq-primary) 14%, transparent);
}

.wphq-form-grid textarea {
    min-height: 210px;
}

.wphq-contact-form > .wphq-button {
    margin-top: 32px;
}

@media (max-width: 900px) {
    .wphq-home-services .wphq-offering-card,
    .wphq-home-services .wphq-offering-card:nth-child(even) {
        min-height: 520px;
        padding: 54px 36px;
        align-items: flex-start;
        text-align: left;
    }

    .wphq-home-services .wphq-offering-card h3,
    .wphq-home-services .wphq-offering-card p,
    .wphq-home-services .wphq-offering-card a,
    .wphq-home-services .wphq-offering-card:nth-child(even) h3,
    .wphq-home-services .wphq-offering-card:nth-child(even) p,
    .wphq-home-services .wphq-offering-card:nth-child(even) a {
        width: min(100%, 620px);
        max-width: 620px;
        text-align: left;
    }
}

@media (max-width: 640px) {
    .wphq-home-services .wphq-offering-card,
    .wphq-home-services .wphq-offering-card:nth-child(even) {
        min-height: 500px;
        padding: 38px 22px;
        border-radius: 0;
    }

    .wphq-home-services .wphq-offering-card h3 {
        font-size: clamp(2.5rem, 13vw, 3.65rem);
    }

    .wphq-contact-form > .wphq-button {
        width: 100%;
        margin-top: 26px;
    }
}

/* WPHQ Signal v2.3.0 homepage collection alignment refinements */

/*
 * Keep the immersive image treatment, but contain the collection sequence
 * within a deliberate editorial frame. Each item is separated by a crisp
 * white rule and all copy behaves as one stacked text block.
 */
.wphq-home-services .wphq-offering-grid {
    width: min(calc(100% - 48px), 1440px);
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    gap: 1px;
    padding: 1px;
    background: rgba(255,255,255,.96);
}

.wphq-home-services .wphq-offering-card,
.wphq-home-services .wphq-offering-card:nth-child(even) {
    min-height: clamp(430px, 45vw, 650px);
    padding: clamp(42px, 6vw, 92px);
    align-items: flex-start;
    justify-content: flex-end;
    text-align: left;
    border: 0;
    outline: 1px solid rgba(255,255,255,.72);
    outline-offset: -1px;
}

/* Override earlier grid-era alignment rules that scattered the children. */
.wphq-home-services .wphq-offering-card h3,
.wphq-home-services .wphq-offering-card p,
.wphq-home-services .wphq-offering-card a,
.wphq-home-services .wphq-offering-card:nth-child(even) h3,
.wphq-home-services .wphq-offering-card:nth-child(even) p,
.wphq-home-services .wphq-offering-card:nth-child(even) a {
    width: min(100%, 680px);
    max-width: 680px;
    margin-left: 0;
    margin-right: 0;
    align-self: flex-start;
    text-align: left;
}

.wphq-home-services .wphq-offering-card h3,
.wphq-home-services .wphq-offering-card:nth-child(even) h3 {
    margin-top: 0;
    margin-bottom: 20px;
}

.wphq-home-services .wphq-offering-card p,
.wphq-home-services .wphq-offering-card:nth-child(even) p {
    margin-top: 0;
    margin-bottom: 28px;
    max-width: 600px;
}

.wphq-home-services .wphq-offering-card a,
.wphq-home-services .wphq-offering-card:nth-child(even) a {
    margin-top: 0;
}

/* Alternate the visual position as a complete block, not as separate columns. */
.wphq-home-services .wphq-offering-card:nth-child(even) {
    align-items: flex-end;
}

.wphq-home-services .wphq-offering-card:nth-child(even) h3,
.wphq-home-services .wphq-offering-card:nth-child(even) p,
.wphq-home-services .wphq-offering-card:nth-child(even) a {
    align-self: flex-end;
    text-align: right;
}

@media (max-width: 900px) {
    .wphq-home-services .wphq-offering-grid {
        width: min(calc(100% - 32px), 760px);
    }

    .wphq-home-services .wphq-offering-card,
    .wphq-home-services .wphq-offering-card:nth-child(even) {
        min-height: 500px;
        padding: 46px 30px;
        align-items: flex-start;
    }

    .wphq-home-services .wphq-offering-card h3,
    .wphq-home-services .wphq-offering-card p,
    .wphq-home-services .wphq-offering-card a,
    .wphq-home-services .wphq-offering-card:nth-child(even) h3,
    .wphq-home-services .wphq-offering-card:nth-child(even) p,
    .wphq-home-services .wphq-offering-card:nth-child(even) a {
        align-self: flex-start;
        text-align: left;
    }
}

@media (max-width: 640px) {
    .wphq-home-services .wphq-offering-grid {
        width: calc(100% - 24px);
    }

    .wphq-home-services .wphq-offering-card,
    .wphq-home-services .wphq-offering-card:nth-child(even) {
        min-height: 470px;
        padding: 34px 22px;
    }

    .wphq-home-services .wphq-offering-card p,
    .wphq-home-services .wphq-offering-card:nth-child(even) p {
        max-width: 100%;
    }
}

/* WPHQ Signal v2.4.0 responsive navigation and contact refinements */

/* Keep collection links legible over every photograph. */
.wphq-home-services .wphq-offering-card a,
.wphq-home-services .wphq-offering-card:nth-child(even) a {
    color: #fff !important;
    text-shadow: 0 1px 12px rgba(0, 0, 0, .45);
}

.wphq-home-services .wphq-offering-card a::after,
.wphq-home-services .wphq-offering-card:nth-child(even) a::after {
    color: #fff !important;
    opacity: 1;
    text-shadow: 0 1px 12px rgba(0, 0, 0, .55);
}

/* Contact details must shrink and wrap safely at intermediate widths. */
.wphq-contact-cards,
.wphq-contact-cards > *,
.wphq-contact-cards p {
    min-width: 0;
}

.wphq-contact-cards p,
.wphq-contact-cards a {
    overflow-wrap: anywhere;
    word-break: normal;
}

.wphq-contact-cards a {
    display: inline;
    max-width: 100%;
}

@media (max-width: 900px) {
    /* Anchor the open menu directly below the complete header, not the logo. */
    .wphq-header-inner {
        position: relative;
    }

    .wphq-primary-nav {
        left: 50% !important;
        right: auto !important;
        top: 100% !important;
        width: 100vw !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 18px max(24px, calc((100vw - 760px) / 2)) 26px !important;
        transform: translateX(-50%);
        z-index: 1001;
        box-sizing: border-box;
    }

    .wphq-primary-nav .wphq-menu {
        width: 100%;
        max-width: 760px;
        margin: 0 auto;
    }

    .wphq-primary-nav .wphq-menu a {
        width: 100%;
        padding: 15px 0;
    }

    .wphq-contact-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .wphq-contact-cards {
        grid-template-columns: 1fr;
    }

    .wphq-contact-cards p {
        padding: 22px;
    }
}
