/* Outer Elementor containers are full width with Elementor's native boxed
   content setting. Inner containers hold editable widgets and layouts. */
.pl-shell{width:100%;padding-inline:24px}.pl-shell>.e-con-inner{width:100%}.pl-shell>.e-con-inner>.e-con{width:100%}
.pl-shell-hero{background:#edf3f1}.pl-shell-editorial-intro,.pl-shell-process,.pl-shell-blog-list{background:#fff}.pl-shell-practices,.pl-shell-detail-section:nth-child(even),.pl-shell-contact-grid{background:#f5f8f6}.pl-shell-detail-section:nth-child(odd){background:#fff}.pl-shell-image-section{background:#e8f0ed}.pl-shell-cta{background:#28444b}
.pl-shell .pl-hero,.pl-shell .pl-editorial-intro,.pl-shell .pl-practices,.pl-shell .pl-process,.pl-shell .pl-detail-section,.pl-shell .pl-blog-list,.pl-shell .pl-contact-grid{background:transparent;padding-left:0!important;padding-right:0!important}
.pl-shell .pl-hero{min-height:0;padding-top:78px!important;padding-bottom:78px!important;column-gap:6%}.pl-shell .pl-hero>.elementor-widget-image{min-height:445px}.pl-shell .pl-hero>.elementor-widget-image img{height:445px;object-fit:cover}.pl-shell .pl-inner-hero{min-height:360px;padding-top:70px!important;padding-bottom:70px!important}.pl-shell .pl-inner-hero>.elementor-widget-image{height:78%;top:10%}
.pl-shell .pl-editorial-intro{padding-top:90px!important;padding-bottom:90px!important;column-gap:10%}.pl-shell .pl-editorial-intro:before{left:0;top:48px}.pl-shell .pl-practices,.pl-shell .pl-process,.pl-shell .pl-detail-section,.pl-shell .pl-blog-list{padding-top:90px!important;padding-bottom:90px!important}
.pl-shell .pl-image-section{background:transparent;padding:55px 0!important;min-height:0;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:0!important}.pl-shell .pl-image-section>.elementor-widget-image{min-height:0;height:355px;overflow:hidden}.pl-shell .pl-image-section>.elementor-widget-image img{width:100%;height:355px;object-fit:cover;object-position:center 46%;transition:transform .8s cubic-bezier(.22,1,.36,1)}.pl-shell .pl-image-section:hover>.elementor-widget-image img{transform:scale(1.035)}.pl-shell .pl-image-copy{padding:42px 48px!important;min-height:355px}.pl-shell .pl-image-copy .elementor-widget-heading h2{font-size:clamp(2rem,2.8vw,3.25rem);max-width:16ch}.pl-shell .pl-image-copy>.elementor-widget-text-editor:not(:first-child){font-size:15px}.pl-shell .pl-image-copy .elementor-widget-button{margin-top:5px}
.pl-shell .pl-cta{background:transparent;padding:85px 0!important}.pl-shell .pl-cta:after{right:-80px;top:-250px}.pl-shell .pl-contact-grid{padding-top:85px!important;padding-bottom:85px!important}

/* A sticky, uncolored header. The logo image retains the client's own mark. */
.pl-site-header{position:sticky;top:0;z-index:1000;background:#fff!important;box-shadow:0 8px 30px rgba(24,49,58,.045);border-bottom:1px solid #e6ece9}.admin-bar .pl-site-header{top:32px}.pl-header-shell{background:transparent!important;padding-inline:24px}.pl-header-shell>.e-con-inner{width:100%}.pl-header-row{min-height:84px;padding:0!important;max-width:none!important}.pl-header-logo{align-self:center;background:transparent!important;padding:0!important;width:205px!important;max-width:205px;min-width:205px}.pl-header-logo img{width:205px;height:auto;display:block}.pl-header-row .elementor-nav-menu--main a{font-size:11px!important;letter-spacing:.12em;padding:14px 11px!important;transition:color .25s}.pl-header-row .elementor-nav-menu--main .sub-menu{border:1px solid #e2e9e5!important;border-radius:4px;padding:9px!important;box-shadow:0 22px 50px rgba(28,52,57,.13)!important}.pl-header-row .elementor-nav-menu--main .sub-menu:before{content:'';position:absolute;top:-3px;left:0;right:0;height:3px;background:var(--pl-gold)}.pl-header-row .elementor-nav-menu--main .sub-menu a{border-radius:2px!important;color:#2b4145!important;transition:background .25s,color .25s,padding-left .25s}.pl-header-row .elementor-nav-menu--main .sub-menu a:hover{background:#eff5f1!important;color:#27454b!important;padding-left:25px!important}

/* Button icon and hover are native Elementor button markup. */
.elementor-widget-button .elementor-button{border-radius:3px!important;font-size:13px!important;font-weight:700!important;letter-spacing:.015em!important;padding:15px 20px!important;box-shadow:0 9px 20px rgba(29,53,60,.09);transition:background .28s ease,transform .28s ease,box-shadow .28s ease!important}.elementor-widget-button .elementor-button:hover{transform:translateY(-3px)!important;box-shadow:0 15px 28px rgba(29,53,60,.17)!important}.elementor-widget-button .elementor-button-content-wrapper{align-items:center}.elementor-widget-button .elementor-button-icon{transition:transform .28s ease}.elementor-widget-button .elementor-button:hover .elementor-button-icon{transform:translateX(4px)}.pl-practice-card .elementor-button,.pl-editorial-intro .elementor-button{box-shadow:none!important;border-radius:0!important}.pl-practice-card .elementor-button:hover,.pl-editorial-intro .elementor-button:hover{box-shadow:none!important;transform:none!important}.pl-header-button .elementor-button{background:transparent!important;border:1px solid #ccd9d4!important;color:#29464c!important;box-shadow:none;padding:10px 14px!important}.pl-header-button .elementor-button:hover{border-color:#29464c!important;background:#edf3f1!important;color:#29464c!important;box-shadow:none!important}

/* A light footer creates a clean break after the deep teal CTA. */
.pl-site-footer,.pl-footer-shell{background:#f5f8f6!important;color:#294248}.pl-site-footer{border-top:4px solid var(--pl-gold)}.pl-footer-shell{padding-inline:24px}.pl-footer-inner{padding:72px 0 22px!important;display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr) minmax(0,1fr);gap:40px 70px;align-items:start}.pl-footer-brand,.pl-footer-navigation,.pl-footer-contact{min-width:0}.pl-footer-brand .pl-footer-monogram{width:90px!important;max-width:90px;opacity:1;margin:0 0 22px}.pl-footer-brand .pl-footer-monogram img{width:90px;height:90px;object-fit:contain;display:block}.pl-footer-inner .elementor-widget-heading .elementor-heading-title{color:#1f393e!important}.pl-footer-brand h3{font-size:1.55rem!important;margin:0 0 15px}.pl-footer-brand>.elementor-widget-text-editor{max-width:34ch}.pl-footer-navigation h3,.pl-footer-contact h3{font-family:'DM Sans',sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:.13em!important;text-transform:uppercase;color:var(--pl-gold)!important;margin:12px 0 18px}.pl-footer-navigation .elementor-nav-menu{display:flex!important;flex-direction:column;align-items:flex-start;gap:3px}.pl-footer-navigation .elementor-nav-menu>li{width:100%}.pl-footer-navigation .elementor-nav-menu a{color:#294248!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:500;padding:5px 0!important}.pl-footer-navigation .elementor-nav-menu a:hover,.pl-footer-contact a:hover{color:var(--pl-gold)!important}.pl-footer-navigation .sub-menu{display:none!important}.pl-footer-contact .elementor-widget-text-editor a{text-decoration:none;color:#294248}.pl-footer-contact .elementor-widget-button{margin-top:18px}.pl-footer-contact .elementor-button{background:#29484e!important;color:#fff!important}.pl-footer-bottom{grid-column:1/-1;display:flex!important;flex-direction:row!important;justify-content:space-between;border-top:1px solid #dbe5df;padding-top:18px!important}.pl-footer-bottom .elementor-widget-text-editor{font-size:11px;color:#788a8d}.pl-footer-bottom p{margin:0}

@media(max-width:1024px){.pl-header-shell{padding-inline:22px}.pl-header-row{min-height:76px}.pl-footer-inner{grid-template-columns:1fr 1fr;gap:30px 45px}.pl-footer-brand{grid-column:1/-1}.pl-shell .pl-image-copy{padding:35px!important}.pl-shell .pl-image-section>.elementor-widget-image,.pl-shell .pl-image-section>.elementor-widget-image img{height:340px}}
@media(max-width:700px){.pl-shell,.pl-header-shell,.pl-footer-shell{padding-inline:22px}.pl-shell .pl-hero{padding-top:64px!important;padding-bottom:64px!important}.pl-shell .pl-hero>.elementor-widget-image{height:auto;min-height:0}.pl-shell .pl-hero>.elementor-widget-image img{height:auto;max-height:390px}.pl-shell .pl-editorial-intro,.pl-shell .pl-practices,.pl-shell .pl-process,.pl-shell .pl-detail-section,.pl-shell .pl-blog-list,.pl-shell .pl-contact-grid{padding-top:68px!important;padding-bottom:68px!important}.pl-shell .pl-image-section{padding:48px 0!important;grid-template-columns:1fr}.pl-shell .pl-image-section>.elementor-widget-image{height:260px}.pl-shell .pl-image-section>.elementor-widget-image img{height:260px}.pl-shell .pl-image-copy{padding:32px 4px 0!important;min-height:0}.pl-shell .pl-cta{padding:70px 0!important}.pl-header-row{gap:12px}.pl-header-logo,.pl-header-logo img{width:172px!important;max-width:172px}.pl-footer-inner{grid-template-columns:1fr;gap:22px;padding:60px 0 20px!important}.pl-footer-brand{grid-column:1}.pl-footer-bottom{flex-direction:column!important;gap:6px}.admin-bar .pl-site-header{top:46px}}
@media(prefers-reduced-motion:reduce){.pl-shell .pl-image-section>.elementor-widget-image img,.elementor-widget-button .elementor-button,.elementor-widget-button .elementor-button-icon{transition:none!important;transform:none!important}}

/* Compact footer navigation: retain every destination in two balanced columns. */
.pl-footer-inner{padding-top:52px!important;grid-template-columns:minmax(0,1.1fr) minmax(420px,1.35fr) minmax(0,.8fr)!important;gap:30px 55px!important}
.pl-footer-brand .pl-footer-monogram{width:72px!important;max-width:72px;margin-bottom:14px!important}.pl-footer-brand .pl-footer-monogram img{width:72px!important;height:72px!important}.pl-footer-brand h3{margin-bottom:10px!important}
.pl-footer-navigation .elementor-nav-menu{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:25px;row-gap:1px}
.pl-footer-navigation .elementor-nav-menu>li{width:auto!important;min-width:0}.pl-footer-navigation .elementor-nav-menu a{font-size:12px!important;line-height:1.35!important;padding:4px 0!important;white-space:normal!important}
@media(max-width:1024px){.pl-footer-inner{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)!important}.pl-footer-contact{grid-column:1}.pl-footer-navigation{grid-column:2;grid-row:1/span 2}}
@media(max-width:700px){.pl-footer-inner{grid-template-columns:1fr!important;padding-top:42px!important}.pl-footer-brand,.pl-footer-navigation,.pl-footer-contact{grid-column:1!important;grid-row:auto!important}.pl-footer-navigation .elementor-nav-menu{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}}

/* Elementor's Nav Menu widget applies its own flex direction. Keep footer links
   in two columns with footer-specific selectors that win that cascade. */
body .pl-site-footer .pl-footer-navigation nav.elementor-nav-menu--main>ul.elementor-nav-menu,
body .pl-site-footer .pl-footer-navigation ul.elementor-nav-menu{
 display:flex!important;
 flex-direction:row!important;
 flex-wrap:wrap!important;
 align-items:flex-start!important;
 align-content:flex-start!important;
 gap:0!important;
 width:100%!important;
}
body .pl-site-footer .pl-footer-navigation ul.elementor-nav-menu>li.menu-item{
 display:block!important;
 flex:0 0 50%!important;
 width:50%!important;
 max-width:50%!important;
 padding-right:18px!important;
 box-sizing:border-box!important;
}
body .pl-site-footer .pl-footer-navigation ul.elementor-nav-menu>li.menu-item>a{
 display:block!important;
 width:100%!important;
 padding:4px 0!important;
 white-space:normal!important;
}
@media(max-width:420px){body .pl-site-footer .pl-footer-navigation ul.elementor-nav-menu>li.menu-item{padding-right:11px!important}body .pl-site-footer .pl-footer-navigation ul.elementor-nav-menu>li.menu-item>a{font-size:11px!important}}
