@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;700&display=swap');

:root{
  --navy:#1F3A5D;
  --navy-dark:#142A46;
  --yellow:#FEC355;
  --sky:#7FD0DD;
  --green:#AAD268;
  --cream:#F2E8DD;
  --grey:#58595B;
  --paper:#FFFDF8;
  --white:#FFFFFF;
  --ink:#243A57;
  --muted:#6B6C70;
  --line:rgba(31,58,93,.18);
  --line-strong:rgba(31,58,93,.34);
  --shadow:0 18px 42px rgba(31,58,93,.11);
  --shadow-soft:0 10px 28px rgba(31,58,93,.08);
  --max:1540px;
  --content:1180px;
  --font:'Poppins','Segoe UI',Arial,sans-serif;
  --accent:var(--yellow);
}

body.page-planning-environment-law,
body.page-about-us,
body.page-meet-our-team{--accent:var(--green)}
body.page-property-law-conveyancing,
body.page-buyers-residential,
body.page-sellers-residential,
body.page-commercial-conveyancing,
body.page-real-estate-agents,
body.page-forms-helpful-links{--accent:var(--yellow)}
body.page-wills-estates,
body.page-wills-estates-lawyers,
body.page-wills-estates-forms,
body.page-contact{--accent:var(--sky)}
body.page-services{--accent:var(--navy)}
body.page-blog,
body.page-blog-article,
body.page-privacy-policy{--accent:var(--navy)}

*{box-sizing:border-box}
html{background:#fff;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  color:var(--grey);
  background:
    linear-gradient(180deg,#fffdf8 0,#fbf4ec 38%,#fff 100%);
  font-size:16px;
  font-weight:300;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;
  inset:0 auto auto 0;
  width:100%;height:5px;
  background:linear-gradient(90deg,var(--navy) 0 25%,var(--green) 25% 50%,var(--yellow) 50% 75%,var(--sky) 75% 100%);
  z-index:2000;
  pointer-events:none;
}
body:after{
  content:"";
  position:fixed;
  z-index:-1;
  right:-18vw;top:36vh;
  width:42vw;height:42vw;
  background:var(--cream);
  opacity:.55;
  transform:rotate(-12deg);
}
a{color:inherit;text-decoration:none;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}
img{display:block;max-width:100%;height:auto}
strong{font-weight:700;color:var(--navy)}
button,input,textarea,select{font-family:var(--font)}
::selection{background:var(--yellow);color:var(--navy)}

/* Header: no pill treatment */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,253,248,.98);
  border-bottom:1px solid rgba(31,58,93,.14);
  box-shadow:0 8px 22px rgba(31,58,93,.04);
}
.brand-strip{height:5px;background:linear-gradient(90deg,var(--navy) 0 25%,var(--green) 25% 50%,var(--yellow) 50% 75%,var(--sky) 75% 100%)}
.header-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:23px clamp(28px,4vw,64px);
  display:grid;
  grid-template-columns:minmax(250px,350px) minmax(0,1fr) auto;
  gap:30px;
  align-items:center;
}
.brand{display:block;width:clamp(250px,21.5vw,344px)}
.brand img{width:100%;height:auto}
.primary-nav{justify-self:end;min-width:0}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,1.5vw,30px);white-space:nowrap}
.nav-item{position:relative;margin:0;padding:0;list-style:none}
.nav-item>a{
  position:relative;
  display:flex;
  align-items:center;
  gap:7px;
  padding:13px 0 17px;
  color:var(--navy);
  font-size:14.5px;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1;
}
.nav-item>a:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:6px;height:3px;
  background:linear-gradient(90deg,var(--yellow),var(--sky));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .22s ease;
}
.nav-item>a:hover:after,
.nav-item.is-active>a:after{transform:scaleX(1)}
.nav-item>a:hover{color:var(--navy-dark)}
.chevron{font-size:13px;line-height:1;color:var(--grey);transform:translateY(-1px)}
.dropdown{
  position:absolute;
  left:50%;top:calc(100% + 10px);
  transform:translate(-50%,8px);
  min-width:315px;
  background:#fff;
  border:1px solid rgba(31,58,93,.18);
  border-top:5px solid var(--accent);
  box-shadow:0 26px 54px rgba(31,58,93,.16);
  padding:14px 0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:1001;
}
.dropdown a{
  display:block;
  padding:12px 22px;
  border-bottom:1px solid rgba(31,58,93,.08);
  color:var(--navy);
  font-size:14px;
  font-weight:400;
  line-height:1.35;
}
.dropdown a:last-child{border-bottom:0}
.dropdown a:hover{background:var(--cream);color:var(--navy-dark)}
.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.header-actions{
  display:flex;
  justify-self:end;
  align-items:center;
  gap:16px;
  white-space:nowrap;
}
.phone-chip,
.enquire-chip{
  border-radius:0!important;
  min-height:auto;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--navy)!important;
  font-weight:700;
  font-size:15px;
  letter-spacing:-.01em;
  line-height:1.2;
}
.phone-chip{padding-left:20px!important;border-left:1px solid rgba(31,58,93,.28)!important}
.enquire-chip{
  padding:13px 17px!important;
  background:var(--navy)!important;
  color:#fff!important;
  border:1px solid var(--navy)!important;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.07em;
}
.enquire-chip:hover{background:var(--yellow)!important;border-color:var(--yellow)!important;color:var(--navy)!important}
.phone-chip span,.enquire-chip span{display:none}
.nav-toggle{display:none}

/* Small reusable elements */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:11px;
  width:max-content;
  max-width:100%;
  color:var(--navy);
  font-size:12px;
  font-weight:700;
  line-height:1;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.eyebrow span{display:block;width:42px;height:4px;background:linear-gradient(90deg,var(--green),var(--yellow),var(--sky))}
.btn,.paraBtn a,.blogBtn button,.blogBtn.button,.footer-actions a,.legacy-content input.button,
.enqRow input.button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 23px;
  border-radius:0!important;
  border:1px solid var(--navy)!important;
  background:var(--navy)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.095em!important;
  text-transform:uppercase!important;
  line-height:1!important;
  cursor:pointer;
  text-decoration:none!important;
}
.btn:hover,.paraBtn a:hover,.blogBtn button:hover,.blogBtn.button:hover,.footer-actions a:hover,.legacy-content input.button:hover,
.enqRow input.button:hover{background:var(--yellow)!important;border-color:var(--yellow)!important;color:var(--navy)!important;transform:translateY(-2px)}
.btn.ghost{background:#fff!important;color:var(--navy)!important;border-color:rgba(31,58,93,.32)!important}
.btn.ghost:hover{background:var(--sky)!important;border-color:var(--sky)!important;color:var(--navy)!important}
.paraBtn{margin-top:26px!important;margin-bottom:0!important}.paraBtn a:after,.btn:after,.footer-actions a:after{content:" →";font-weight:700;margin-left:8px}.phone-chip:after{content:""}.enquire-chip:after{content:""}

/* Home hero */
.home-hero{max-width:var(--max);margin:32px auto 0;padding:0 clamp(24px,3.5vw,64px)}
.hero-frame{
  position:relative;
  min-height:650px;
  background-size:57% 100%;
  background-repeat:no-repeat;
  background-position:right center;
  background-color:#fff;
  border:1px solid rgba(31,58,93,.12);
  box-shadow:var(--shadow);
  overflow:hidden;
  isolation:isolate;
}
.hero-frame:before{
  content:"";
  position:absolute;inset:0 55% 0 0;
  background:linear-gradient(180deg,#fffdf8 0%,#fff 55%,#fbf3e9 100%);
  z-index:1;
}
.hero-frame:after{
  content:"";
  position:absolute;
  right:54.3%;top:0;width:11px;height:100%;
  background:linear-gradient(var(--navy) 0 24%,var(--green) 24% 48%,var(--yellow) 48% 72%,var(--sky) 72% 100%);
  z-index:3;
}
.hero-overlay{
  position:absolute;
  inset:0 0 0 45%;
  background:linear-gradient(90deg,rgba(31,58,93,.20),rgba(31,58,93,.04) 38%,rgba(31,58,93,.18));
  z-index:2;
  pointer-events:none;
}
.hero-content{
  position:relative;
  z-index:4;
  width:46%;
  min-height:650px;
  padding:clamp(58px,6vw,90px) clamp(44px,5vw,78px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-content h1{
  margin:28px 0 22px;
  color:var(--navy);
  font-size:clamp(56px,5.5vw,88px);
  font-weight:700;
  letter-spacing:-.07em;
  line-height:.97;
  text-wrap:balance;
}
.hero-content p{
  margin:0 0 32px;
  color:var(--grey);
  font-size:clamp(18px,1.35vw,24px);
  line-height:1.38;
  font-weight:400;
  letter-spacing:-.025em;
  max-width:560px;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

/* Intro */
.intro-section{max-width:var(--content);margin:82px auto 64px;padding:0 24px}
.intro-card{
  position:relative;
  background:#fff;
  border:1px solid rgba(31,58,93,.15);
  box-shadow:var(--shadow-soft);
  padding:clamp(48px,6vw,84px);
  overflow:hidden;
}
.intro-card:before{content:"";position:absolute;right:-46px;top:-46px;width:190px;height:190px;background:var(--cream);transform:rotate(-12deg)}
.intro-card:after{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:linear-gradient(90deg,var(--navy),var(--green),var(--yellow),var(--sky))}
.intro-card>*{position:relative;z-index:1}
.intro-card h2,.legacy-content h2.style-two{
  margin:0 0 24px!important;
  color:var(--navy)!important;
  font-size:clamp(44px,4.8vw,72px)!important;
  font-weight:700!important;
  letter-spacing:-.058em!important;
  line-height:1.02!important;
}
.intro-card h2 strong{display:block;margin-bottom:4px;color:var(--grey)!important;font-size:.43em!important;font-weight:400!important;letter-spacing:-.02em!important;line-height:1.18!important}
.intro-card p{max-width:1000px;margin:0 0 18px!important;color:var(--grey);font-size:17px;font-weight:300;line-height:1.8}

/* Service block system */
.services-section{max-width:var(--max);margin:82px auto 0;padding:0 clamp(24px,3.5vw,64px)}
.section-heading{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:28px;
  align-items:end;
  margin:0 0 34px;
  padding-top:40px;
  border-top:1px solid rgba(31,58,93,.18);
}
.section-heading span{display:block;color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.2}
.section-heading h2{margin:0;color:var(--navy);font-size:clamp(46px,5.2vw,82px);font-weight:700;letter-spacing:-.065em;line-height:.98;text-wrap:balance}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.service-card{
  --card:var(--navy);
  position:relative;
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  min-height:370px;
  background:#fff;
  border:1px solid rgba(31,58,93,.15);
  box-shadow:0 16px 34px rgba(31,58,93,.08);
  overflow:hidden;
}
.service-card:nth-child(1){--card:var(--green)}
.service-card:nth-child(2){--card:var(--yellow)}
.service-card:nth-child(3){--card:var(--sky)}
.service-card:nth-child(4){--card:var(--navy)}
.service-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--card);z-index:3}
.service-media{height:100%;min-height:370px;background:var(--cream);overflow:hidden}
.service-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.98) contrast(1.02)}
.service-copy{padding:34px 34px 36px 42px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;min-width:0}
.service-copy h4,.legacy-content h4.style-two{
  margin:0 0 17px!important;
  color:var(--navy)!important;
  font-size:clamp(30px,2.6vw,44px)!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
.service-copy p{margin:0 0 14px!important;color:var(--grey);font-size:15.8px;line-height:1.68;font-weight:300}
.service-copy .paraBtn{margin-top:16px!important}

/* Why choose */
.choose-section{max-width:var(--max);margin:90px auto 0;padding:0 clamp(24px,3.5vw,64px)}
.choose-section>div{background:var(--navy);color:#fff;border:1px solid rgba(31,58,93,.18);box-shadow:var(--shadow);position:relative;overflow:hidden}
.choose-section>div:after{content:"";position:absolute;right:-65px;top:-85px;width:300px;height:300px;background:var(--yellow);transform:rotate(-13deg);opacity:.95}
.choose-section table,.choose-section tbody,.choose-section tr{display:grid!important;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr)!important;width:100%!important;align-items:stretch!important;position:relative;z-index:1}
.choose-section td{display:block!important;width:auto!important;padding:0!important;min-width:0!important}
.choose-section td:first-child img{width:100%;height:100%;min-height:520px;object-fit:cover;filter:saturate(.95)}
.choose-section td:nth-child(2){padding:clamp(50px,5.5vw,86px)!important;display:flex!important;flex-direction:column;justify-content:center!important}
.choose-section h5{margin:0 0 22px!important;color:#fff!important;font-size:clamp(44px,5.2vw,76px)!important;font-weight:700!important;letter-spacing:-.065em!important;line-height:1!important}
.choose-section h5 a{color:#fff!important}.choose-section p{color:rgba(255,255,255,.84)!important;font-weight:300;line-height:1.75}.choose-section strong{color:#fff}
.choose-section .paraBtn a{background:#fff!important;color:var(--navy)!important;border-color:#fff!important}.choose-section .paraBtn a:hover{background:var(--yellow)!important;border-color:var(--yellow)!important;color:var(--navy)!important}

/* Page hero and content */
.page-hero{
  position:relative;
  max-width:var(--max);
  margin:30px auto 0;
  min-height:410px;
  padding:0 clamp(24px,3.5vw,64px);
  background-size:cover;
  background-position:center;
  isolation:isolate;
}
.page-hero:before{content:"";position:absolute;inset:0 clamp(24px,3.5vw,64px);background:linear-gradient(90deg,rgba(31,58,93,.92),rgba(31,58,93,.62),rgba(31,58,93,.15));z-index:1}
.page-hero:after{content:"";position:absolute;right:clamp(24px,3.5vw,64px);top:0;width:14px;height:100%;background:linear-gradient(var(--accent),var(--sky));z-index:2}
.page-hero-overlay{display:none}.page-hero-inner{position:relative;z-index:3;min-height:410px;display:flex;flex-direction:column;justify-content:center;max-width:var(--content);margin:0 auto;padding:50px 0;color:#fff}
.page-hero .eyebrow{color:#fff}.page-hero .eyebrow span{background:var(--accent)}
.page-hero h1{margin:24px 0 0;color:#fff;font-size:clamp(54px,6vw,92px);font-weight:700;letter-spacing:-.07em;line-height:.98;text-wrap:balance;max-width:900px}
.content-stack{max-width:var(--content);margin:0 auto;padding:70px 24px 84px}
.content-block{margin:0 0 42px}
.block-inner{display:grid;grid-template-columns:1fr;gap:0;align-items:start}
.content-block.has-media .block-inner{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.section-card,.article-card{
  background:#fff;
  border:1px solid rgba(31,58,93,.15);
  box-shadow:var(--shadow-soft);
  padding:clamp(42px,5vw,72px);
  position:relative;
  overflow:hidden;
}
.section-card:before,.article-card:before{content:"";position:absolute;left:0;top:0;height:7px;width:100%;background:linear-gradient(90deg,var(--accent),var(--sky),var(--green))}
.section-card p,.article-card p,.legacy-content p{font-weight:300;color:var(--grey);line-height:1.78;margin:0 0 18px}
.section-card h2,.article-card h2,.legacy-content h2:not(.style-two){margin:0 0 22px!important;color:var(--navy)!important;font-size:clamp(38px,4vw,58px)!important;font-weight:700!important;line-height:1.06!important;letter-spacing:-.055em!important}
.section-card h3,.article-card h3,.legacy-content h3{margin:30px 0 15px!important;color:var(--navy)!important;font-size:clamp(28px,2.4vw,38px)!important;font-weight:700!important;line-height:1.1!important;letter-spacing:-.045em!important}
.section-card h4,.article-card h4,.section-card h5,.article-card h5{color:var(--navy)!important;font-weight:700!important;letter-spacing:-.035em!important}
.section-card a:not(.btn):not(.butFrame),.article-card a:not(.btn):not(.butFrame),.legacy-content a:not(.btn):not(.butFrame){color:var(--navy);font-weight:700;text-decoration:underline;text-decoration-color:rgba(31,58,93,.35);text-underline-offset:4px}
.section-card ul,.section-card ol,.article-card ul,.article-card ol{padding-left:1.25em;margin:0 0 22px}.section-card li,.article-card li{margin:0 0 8px}
.section-media{height:340px;overflow:hidden;background:var(--cream);border:1px solid rgba(31,58,93,.15);border-bottom:0;box-shadow:0 14px 28px rgba(31,58,93,.06)}
.section-media img{width:100%!important;height:100%!important;object-fit:cover!important;min-height:0!important}
.content-block.long-copy .section-media,.content-block.has-dense-table .section-media{display:none!important}
.content-block.long-copy .section-card,.content-block.has-dense-table .section-card{max-width:1040px;margin:0 auto}

/* Legacy tables / module grids */
.legacy-content table{border-collapse:collapse;width:100%}.legacy-content table.moduleTable>tbody>tr,.legacy-content table.twoColumn>tbody>tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 40px!important;align-items:start}.legacy-content table.moduleTable>tbody>tr>td,.legacy-content table.twoColumn>tbody>tr>td{display:block!important;width:auto!important;min-width:0!important;padding:0!important;vertical-align:top!important}.intro-card table.moduleTable>tbody>tr,.intro-card table.twoColumn>tbody>tr{grid-template-columns:1fr!important}.section-card table.moduleTable:not(.twoColumn)>tbody>tr{display:block!important;border-bottom:1px solid rgba(31,58,93,.12);padding:14px 0}.section-card table.moduleTable:not(.twoColumn)>tbody>tr:last-child{border-bottom:0}.section-card table.moduleTable:not(.twoColumn)>tbody>tr>td{display:block!important;width:100%!important;padding:0!important}.dense-table>tbody>tr{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:12px 22px!important;padding:0 0 18px!important;margin:0 0 18px!important;border-bottom:1px solid rgba(31,58,93,.12)!important}.dense-table>tbody>tr>td{display:block!important;width:auto!important;font-size:14.5px;line-height:1.5}

/* Services index image cards */
.contentImgRow.grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px!important;width:100%}.butFrame{display:block!important;background:#fff!important;border:1px solid rgba(31,58,93,.16)!important;box-shadow:0 12px 28px rgba(31,58,93,.07)!important;color:var(--navy)!important;text-decoration:none!important;position:relative;overflow:hidden}.butFrame:before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:var(--accent);z-index:2}.contentImgRow.grid .butFrame:nth-child(1):before{background:var(--green)}.contentImgRow.grid .butFrame:nth-child(2):before{background:var(--yellow)}.contentImgRow.grid .butFrame:nth-child(3):before{background:var(--sky)}.contentImgRow.grid .butFrame:nth-child(4):before{background:var(--navy)}.imageFrame{height:230px;background:var(--cream);overflow:hidden}.butImage{width:100%;height:100%;background-size:cover!important;background-position:center!important;transition:transform .25s ease}.butFrame:hover .butImage{transform:scale(1.04)}.butTextWrap{padding:24px 24px 28px}.butHeading{font-size:23px;font-weight:700;line-height:1.12;letter-spacing:-.035em;color:var(--navy)}

/* Forms */
.enquiryForm{background:#fff!important;border:1px solid rgba(31,58,93,.18)!important;padding:30px!important;box-shadow:0 12px 28px rgba(31,58,93,.07)!important}.enqHeader{margin:0 0 22px!important;color:var(--navy)!important;font-size:clamp(28px,2.8vw,40px)!important;font-weight:700!important;letter-spacing:-.05em!important;line-height:1.05!important}.enqRow{display:grid!important;grid-template-columns:130px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:14px}.enqLeft{color:var(--navy);font-size:13px;font-weight:700;line-height:1.3}.enqRight input,.enqRight textarea,.enquiryForm input[type="text"],.enquiryForm textarea{width:100%!important;min-height:44px;border:1px solid rgba(31,58,93,.28)!important;background:#fffdf8!important;color:var(--navy)!important;padding:10px 12px!important;border-radius:0!important;font-size:15px!important;font-weight:300!important}.enqRight textarea,.enquiryForm textarea{min-height:130px;resize:vertical}.enqRight input:focus,.enqRight textarea:focus{outline:2px solid rgba(127,208,221,.42);border-color:var(--navy)!important}.enqRow input.button{grid-column:2;justify-self:start;margin-top:4px}.form-link-card,.forms-link-grid a{display:block;background:#fff;border:1px solid rgba(31,58,93,.16);box-shadow:0 10px 25px rgba(31,58,93,.07);padding:22px;text-decoration:none!important;color:var(--navy)!important}.forms-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:24px}.form-link-title{font-weight:700;color:var(--navy)}

/* Blog */
.blog-layout,.article-layout{max-width:var(--content);margin:0 auto;padding:70px 24px 84px}.blog-main{max-width:980px;margin:0 auto}.blogPost{display:grid!important;grid-template-columns:330px minmax(0,1fr);gap:0;background:#fff;border:1px solid rgba(31,58,93,.15);box-shadow:var(--shadow-soft);margin:0 0 30px;overflow:hidden;border-top:7px solid var(--accent)}.blogPostHero>div{width:100%;height:100%;min-height:250px;background-size:cover!important;background-position:center!important}.blogPostDetails,.blogText{padding:32px!important}.blogPostDetails h3,.blogTitle h2,.blogText h3{margin:0 0 14px!important;color:var(--navy)!important;font-size:clamp(29px,2.7vw,42px)!important;font-weight:700!important;line-height:1.06!important;letter-spacing:-.05em!important}.blogPostText{color:var(--grey);font-size:15.8px;line-height:1.7;font-weight:300;margin-bottom:18px}.blogBtn.button{width:max-content}.pagination,.blogNavigation{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.pagination a,.blogNavigation a,.itemPagination a{display:inline-flex;padding:10px 14px;border:1px solid rgba(31,58,93,.18);background:#fff;color:var(--navy);font-weight:700;text-decoration:none}.pagination a.current,.pagination a:hover,.blogNavigation a:hover,.itemPagination a:hover{background:var(--navy);color:#fff}.article-card{max-width:980px;margin:0 auto}.article-hero{height:360px;background-size:cover;background-position:center;margin:-72px -72px 42px;border-bottom:7px solid var(--accent)}.blogArticleContent img{max-width:100%;height:auto}.sidebarLeft,.sidebarRight{display:none!important}

/* Footer */
.legal-note{max-width:var(--max);margin:64px auto 0;padding:20px clamp(24px,3.5vw,64px);border-top:1px solid rgba(31,58,93,.12);color:var(--muted);font-size:13px;letter-spacing:.02em;text-align:center}
.site-footer{margin-top:0;background:var(--navy);color:#fff;border-top:6px solid transparent;border-image:linear-gradient(90deg,var(--green),var(--yellow),var(--sky),var(--navy)) 1}.footer-inner{max-width:var(--max);margin:0 auto;padding:64px clamp(24px,4vw,64px);display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:72px}.footer-logo img{width:280px;filter:brightness(0) invert(1)}.footer-brand p{margin:24px 0 24px;color:#fff;font-size:34px;line-height:1.05;font-weight:700;letter-spacing:-.055em;max-width:500px}.footer-actions{display:flex;gap:12px;flex-wrap:wrap}.footer-actions a{background:#fff!important;color:var(--navy)!important;border-color:#fff!important}.footer-actions a:hover{background:var(--yellow)!important;border-color:var(--yellow)!important}.footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 38px;align-self:start}.footer-nav a{display:block;color:rgba(255,255,255,.88);font-size:15px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.16);padding:0 0 13px}.footer-nav a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);max-width:var(--max);margin:0 auto;padding:18px clamp(24px,4vw,64px);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.72);font-size:13px}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}

/* Responsive */
@media (max-width:1320px){
  .header-inner{grid-template-columns:minmax(230px,310px) minmax(0,1fr);gap:24px}.header-actions{grid-column:2;justify-self:end;margin-top:-10px}.nav-list{gap:18px}.nav-item>a{font-size:13.5px}.phone-chip{font-size:14px}
  .hero-frame{background-size:58% 100%}.hero-frame:before{inset:0 52% 0 0}.hero-frame:after{right:51.4%}.hero-content{width:49%}.service-card{grid-template-columns:225px minmax(0,1fr)}
}
@media (max-width:1040px){
  .header-inner{grid-template-columns:1fr auto;gap:16px}.primary-nav{grid-column:1/-1;justify-self:stretch;display:none}.primary-nav.is-open{display:block}.nav-toggle{display:flex;align-items:center;justify-content:center;gap:4px;width:52px;height:52px;background:#fff;border:1px solid var(--line-strong);border-radius:0;color:var(--navy);padding:0;flex-direction:column;cursor:pointer}.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy)}.nav-toggle strong{position:absolute;left:-9999px}.header-actions{grid-column:1/-1;justify-self:stretch;margin-top:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.phone-chip{border:1px solid rgba(31,58,93,.26)!important;padding:13px 12px!important;background:#fff!important}.enquire-chip{padding:13px 12px!important}.nav-list{display:block;background:#fff;border:1px solid rgba(31,58,93,.16);margin-top:8px;white-space:normal}.nav-item>a{padding:16px 22px;border-bottom:1px solid rgba(31,58,93,.1);font-size:16px}.nav-item>a:after{display:none}.dropdown{position:static;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;display:none;box-shadow:none;border:0;border-top:1px solid rgba(31,58,93,.14);min-width:0;padding:0;background:#fffdf8}.has-dropdown.is-expanded .dropdown{display:block}.dropdown a{padding:13px 30px}.hero-frame{min-height:610px;background-size:cover;background-position:center}.hero-frame:before{inset:0;background:linear-gradient(90deg,rgba(255,253,248,.96),rgba(255,253,248,.78) 56%,rgba(255,253,248,.20))}.hero-frame:after{left:0;right:auto;width:8px}.hero-overlay{display:none}.hero-content{width:72%;min-height:610px}.service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:260px minmax(0,1fr)}.contentImgRow.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choose-section table,.choose-section tbody,.choose-section tr{grid-template-columns:1fr!important}.choose-section td:first-child img{min-height:320px;height:320px}.footer-inner{grid-template-columns:1fr;gap:42px}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  body{font-size:15.5px;line-height:1.68}.site-header{position:relative}.brand-strip{height:4px}.header-inner{padding:16px}.brand{width:min(280px,72vw)}.nav-toggle{width:50px;height:50px}.phone-chip,.enquire-chip{font-size:13px;min-height:42px}.home-hero{margin-top:16px;padding:0 14px}.hero-frame{min-height:620px;border:1px solid rgba(31,58,93,.13);background-size:cover;background-position:center}.hero-frame:before{background:linear-gradient(180deg,rgba(255,253,248,.06) 0,rgba(255,253,248,.22) 26%,rgba(255,253,248,.96) 60%,#fffdf8 100%)}.hero-frame:after{left:0;top:auto;bottom:0;height:7px;width:100%;background:linear-gradient(90deg,var(--navy),var(--green),var(--yellow),var(--sky))}.hero-content{width:100%;min-height:620px;padding:290px 24px 34px;justify-content:flex-end}.hero-content h1{font-size:clamp(44px,12vw,58px);line-height:1;margin:18px 0 14px}.hero-content p{font-size:17px;line-height:1.35;max-width:320px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.btn,.paraBtn a,.blogBtn button,.blogBtn.button,.footer-actions a,.legacy-content input.button,.enqRow input.button{min-height:44px;padding:0 15px;font-size:11px!important}.intro-section{margin:54px auto 44px;padding:0 16px}.intro-card,.section-card,.article-card{padding:34px 24px}.intro-card h2,.legacy-content h2.style-two{font-size:40px!important}.services-section,.choose-section{margin-top:58px;padding:0 16px}.section-heading{grid-template-columns:1fr;gap:10px;padding-top:28px}.section-heading h2{font-size:42px;line-height:1.02}.service-card{grid-template-columns:1fr;min-height:0}.service-media{height:210px;min-height:0}.service-copy{padding:28px 24px 30px 32px}.service-copy h4,.legacy-content h4.style-two{font-size:30px!important}.choose-section td:first-child img{height:260px;min-height:260px}.choose-section td:nth-child(2){padding:34px 24px!important}.choose-section h5{font-size:40px!important}.page-hero{margin-top:16px;min-height:330px;padding:0 14px}.page-hero:before{inset:0 14px;background:linear-gradient(90deg,rgba(31,58,93,.92),rgba(31,58,93,.54))}.page-hero:after{right:14px;width:7px}.page-hero-inner{min-height:330px;padding:34px 0}.page-hero h1{font-size:clamp(40px,11vw,58px)}.content-stack,.blog-layout,.article-layout{padding:42px 16px 58px}.legacy-content table.moduleTable>tbody>tr,.legacy-content table.twoColumn>tbody>tr{grid-template-columns:1fr!important;gap:22px!important}.contentImgRow.grid{grid-template-columns:1fr!important}.imageFrame{height:220px}.enquiryForm{padding:22px!important}.enqRow{grid-template-columns:1fr!important;gap:6px}.enqRow input.button{grid-column:auto;justify-self:stretch}.blogPost{grid-template-columns:1fr}.blogPostHero>div{min-height:220px}.blogPostDetails,.blogText{padding:26px 22px!important}.article-hero{height:230px;margin:-34px -24px 28px}.footer-inner{padding:44px 20px}.footer-logo img{width:230px}.footer-brand p{font-size:28px}.footer-nav{grid-template-columns:1fr}.footer-bottom{flex-direction:column;padding:18px 20px}
}

/* v14 audit correction: keep the why-choose block readable, not a narrow legacy table */
.choose-section table.moduleTable{display:table!important;width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}
.choose-section table.moduleTable>tbody{display:table-row-group!important;width:100%!important}
.choose-section table.moduleTable>tbody>tr{display:grid!important;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr)!important;width:100%!important;align-items:stretch!important;gap:0!important}
.choose-section table.moduleTable>tbody>tr>td{display:block!important;width:auto!important;min-width:0!important;padding:0!important}
.choose-section table.moduleTable>tbody>tr>td:first-child{overflow:hidden}
.choose-section table.moduleTable>tbody>tr>td:nth-child(2){padding:clamp(50px,5.5vw,86px)!important;max-width:880px!important}
.choose-section table.moduleTable>tbody>tr>td:nth-child(2) p{max-width:690px!important}
@media (max-width:1040px){.choose-section table.moduleTable>tbody>tr{grid-template-columns:1fr!important}.choose-section table.moduleTable>tbody>tr>td:nth-child(2){max-width:none!important}}
.legacy-content table.moduleTable>tbody>tr>td:only-child,
.legacy-content table.twoColumn>tbody>tr>td:only-child{grid-column:1 / -1!important;width:100%!important;max-width:none!important}
input[name="ncformfield"]{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.btn span[aria-hidden="true"],.paraBtn a span[aria-hidden="true"],.footer-actions a span[aria-hidden="true"]{display:none!important}

/* Remove legacy circular/pill graphics from guide pages; use cleaner block-led treatment */
body.page-buyers-residential .page-hero,
body.page-sellers-residential .page-hero,
body.page-real-estate-agents .page-hero,
body.page-forms-helpful-links .page-hero{background-image:url('../image/a83e41911c4298.jpg')!important;background-position:center 42%!important}
body.page-wills-estates-forms .page-hero{background-image:url('../image/goodlaw-service-wills-estates.jpg')!important;background-position:center!important}
body.page-buyers-residential .content-stack .content-block:nth-child(1) .section-media,
body.page-buyers-residential .content-stack .content-block:nth-child(2) .section-media,
body.page-sellers-residential .content-stack .content-block:nth-child(1) .section-media,
body.page-sellers-residential .content-stack .content-block:nth-child(2) .section-media,
body.page-real-estate-agents .content-stack .content-block:nth-child(1) .section-media,
body.page-wills-estates-forms .content-stack .content-block:nth-child(1) .section-media{display:none!important}
body.page-buyers-residential .content-stack .content-block:nth-child(1) .section-card:after,
body.page-buyers-residential .content-stack .content-block:nth-child(2) .section-card:after,
body.page-sellers-residential .content-stack .content-block:nth-child(1) .section-card:after,
body.page-sellers-residential .content-stack .content-block:nth-child(2) .section-card:after,
body.page-real-estate-agents .content-stack .content-block:nth-child(1) .section-card:after,
body.page-wills-estates-forms .content-stack .content-block:nth-child(1) .section-card:after{content:"";position:absolute;right:-42px;top:-42px;width:150px;height:150px;background:var(--cream);transform:rotate(-12deg);z-index:0}
body.page-buyers-residential .content-stack .content-block:nth-child(1) .section-card>*,
body.page-buyers-residential .content-stack .content-block:nth-child(2) .section-card>*,
body.page-sellers-residential .content-stack .content-block:nth-child(1) .section-card>*,
body.page-sellers-residential .content-stack .content-block:nth-child(2) .section-card>*,
body.page-real-estate-agents .content-stack .content-block:nth-child(1) .section-card>*,
body.page-wills-estates-forms .content-stack .content-block:nth-child(1) .section-card>*{position:relative;z-index:1}
body.page-forms-helpful-links .contentImgRow.grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.page-forms-helpful-links .contentImgRow.grid .imageFrame{display:none!important}
body.page-forms-helpful-links .contentImgRow.grid .butFrame{min-height:180px;display:flex!important;align-items:flex-end;background:#fff!important;position:relative}
body.page-forms-helpful-links .contentImgRow.grid .butFrame:after{content:"";position:absolute;right:-36px;top:-40px;width:118px;height:118px;background:var(--cream);transform:rotate(-14deg);opacity:.85}
body.page-forms-helpful-links .contentImgRow.grid .butTextWrap{padding:32px;position:relative;z-index:1}
body.page-forms-helpful-links .contentImgRow.grid .butHeading{font-size:28px;line-height:1.05}
@media (max-width:760px){body.page-forms-helpful-links .contentImgRow.grid{grid-template-columns:1fr!important}}
body.page-forms-helpful-links .form-link-card img{display:none!important}
body.page-forms-helpful-links .forms-link-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
body.page-forms-helpful-links .form-link-card{min-height:170px;position:relative;display:flex;align-items:flex-end;padding:28px!important;background:#fff!important;overflow:hidden}
body.page-forms-helpful-links .form-link-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:var(--accent)}
body.page-forms-helpful-links .form-link-card:nth-child(1):before{background:var(--navy)}
body.page-forms-helpful-links .form-link-card:nth-child(2):before{background:var(--yellow)}
body.page-forms-helpful-links .form-link-card:nth-child(3):before{background:var(--green)}
body.page-forms-helpful-links .form-link-card:nth-child(4):before{background:var(--sky)}
body.page-forms-helpful-links .form-link-card:after{content:"";position:absolute;right:-45px;top:-42px;width:124px;height:124px;background:var(--cream);transform:rotate(-13deg)}
body.page-forms-helpful-links .form-link-title{position:relative;z-index:1;display:block;font-size:28px;line-height:1.06;letter-spacing:-.04em;color:var(--navy)}
@media (max-width:1040px){body.page-forms-helpful-links .forms-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){body.page-forms-helpful-links .forms-link-grid{grid-template-columns:1fr}}
body.page-sellers-residential .content-stack .content-block:nth-child(3) .section-media{display:none!important}
body.page-sellers-residential .content-stack .content-block:nth-child(3) .section-card:after{content:"";position:absolute;right:-42px;top:-42px;width:150px;height:150px;background:var(--cream);transform:rotate(-12deg);z-index:0}
body.page-sellers-residential .content-stack .content-block:nth-child(3) .section-card>*{position:relative;z-index:1}


/* v15 restoration: keep professional brand refresh while restoring movement and original photography */
.site-header,
.header-inner,
.brand,
.brand img,
.primary-nav,
.header-actions{transition:padding .28s ease,width .28s ease,transform .28s ease,box-shadow .28s ease,background .28s ease}
.site-header.is-scrolled{background:rgba(255,253,248,.985);box-shadow:0 12px 36px rgba(31,58,93,.10)}
.site-header.is-scrolled .header-inner{padding-top:10px;padding-bottom:10px;grid-template-columns:minmax(170px,220px) minmax(0,1fr) auto}
.site-header.is-scrolled .brand{width:clamp(170px,14vw,220px)}
.site-header.is-scrolled .nav-item>a{padding-top:9px;padding-bottom:13px}
.site-header.is-scrolled .enquire-chip{padding-top:11px!important;padding-bottom:11px!important}
@media(max-width:1240px){.site-header.is-scrolled .header-inner{grid-template-columns:1fr auto;padding-top:14px;padding-bottom:14px}.site-header.is-scrolled .brand{width:clamp(210px,50vw,320px)}}

.reveal-block{opacity:0;transform:translateY(24px);transition:opacity .62s ease,transform .62s ease}.reveal-block.is-visible{opacity:1;transform:none}

/* Restored Meet the Team page */
.team-hero .page-hero-inner{max-width:1120px}.team-intro{max-width:var(--content);margin:72px auto 0;padding:0 clamp(24px,4vw,40px)}
.team-intro-inner{border-left:10px solid var(--green);background:#fff;padding:42px 48px;box-shadow:var(--shadow-soft)}
.section-kicker{display:block;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.15em;font-size:12px;margin-bottom:14px}.team-intro h2{font-size:clamp(32px,4vw,58px);line-height:.98;letter-spacing:-.055em;color:var(--navy);margin:0 0 18px;font-weight:700;max-width:970px}.team-intro p{font-size:18px;line-height:1.65;margin:0;max-width:900px;color:#58595B;font-weight:300}
.team-directory{max-width:var(--content);margin:58px auto 0;padding:0 clamp(24px,4vw,40px);display:grid;grid-template-columns:1fr;gap:28px}.team-profile{display:grid;grid-template-columns:minmax(260px,360px) 1fr;background:#fff;border:1px solid rgba(31,58,93,.16);box-shadow:var(--shadow-soft);position:relative}.team-profile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:linear-gradient(180deg,var(--green),var(--yellow),var(--sky))}.team-profile.feature:before{background:linear-gradient(180deg,var(--yellow),var(--green),var(--sky))}.team-profile figure{margin:0;min-height:100%;background:var(--cream);position:relative;overflow:hidden}.team-profile figure:after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(180deg,transparent,rgba(31,58,93,.18));pointer-events:none}.team-profile img{width:100%;height:100%;min-height:470px;object-fit:cover;filter:grayscale(100%);transition:filter .35s ease,transform .35s ease}.team-profile:hover img{filter:grayscale(35%);transform:scale(1.018)}.team-copy{padding:42px 48px 44px 58px}.team-copy .role,.team-support-grid .role{display:inline-block;color:var(--navy);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12px;margin:0 0 10px}.team-copy h2,.team-support-grid h2{font-size:clamp(29px,3vw,44px);letter-spacing:-.045em;line-height:1.04;margin:0;color:var(--navy);font-weight:700}.team-copy .aka{color:var(--grey);font-weight:400;margin:9px 0 23px;font-size:15px}.team-copy p,.team-support-grid p{font-size:15.5px;line-height:1.75;color:var(--grey);font-weight:300;margin:0 0 14px}.team-copy .contact-line,.team-support-grid .contact-line{margin-top:20px;font-weight:700;color:var(--navy)}.team-support-grid{max-width:var(--content);margin:30px auto 90px;padding:0 clamp(24px,4vw,40px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.team-support-grid article{background:#fff;border-top:8px solid var(--yellow);box-shadow:var(--shadow-soft);padding:38px 40px;border-left:1px solid rgba(31,58,93,.12);border-right:1px solid rgba(31,58,93,.12);border-bottom:1px solid rgba(31,58,93,.12)}.team-support-grid article:nth-child(2){border-top-color:var(--sky)}
@media(max-width:860px){.team-intro{margin-top:44px}.team-intro-inner{padding:30px 26px;border-left-width:7px}.team-profile{grid-template-columns:1fr}.team-profile:before{width:7px}.team-profile img{min-height:360px;max-height:560px}.team-copy{padding:30px 28px 34px 34px}.team-support-grid{grid-template-columns:1fr;margin-bottom:58px}.team-support-grid article{padding:30px 28px}.team-intro h2{font-size:34px}.team-copy h2,.team-support-grid h2{font-size:30px}}

/* Make older inline legacy images visible and neat wherever they remain */
.legacy-content img{max-width:100%;height:auto}.legacy-content table img{border:0}.long-copy .legacy-content{overflow:visible}.long-copy .legacy-content table{width:100%!important}.long-copy .legacy-content td{vertical-align:top}


/* v16 content update: property law service focus; updated team + postal address */
.service-card.service-conveyancing{--card:var(--navy)}
.service-card.service-property{--card:var(--yellow)}
.service-card.service-planning{--card:var(--green)}
.service-card.service-wills{--card:var(--sky)}
.service-tiles .service-conveyancing:before{background:var(--navy)!important}
.service-tiles .service-property:before{background:var(--yellow)!important}
.service-tiles .service-planning:before{background:var(--green)!important}
.service-tiles .service-wills:before{background:var(--sky)!important}
.footer-address{margin:0 0 24px;color:rgba(255,255,255,.82);font-size:15px;line-height:1.55;font-weight:300;letter-spacing:0;max-width:360px}.footer-address strong{display:block;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 4px}
.updated-team-hero{background-position:center 35%!important}.updated-team-hero:before{background:linear-gradient(90deg,rgba(31,58,93,.94),rgba(31,58,93,.62) 48%,rgba(31,58,93,.28))}.team-grid-v16{max-width:var(--content);margin:30px auto 92px;padding:0 clamp(24px,4vw,40px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.team-member-card{background:#fff;border:1px solid rgba(31,58,93,.15);box-shadow:0 15px 34px rgba(31,58,93,.08);position:relative;overflow:hidden}.team-member-card:before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:linear-gradient(90deg,var(--green),var(--yellow),var(--sky))}.team-member-card:nth-child(4n+1):before{background:var(--navy)}.team-member-card:nth-child(4n+2):before{background:var(--green)}.team-member-card:nth-child(4n+3):before{background:var(--sky)}.team-member-card:nth-child(4n+4):before{background:var(--yellow)}.team-member-card figure{margin:0;background:var(--cream);height:300px;overflow:hidden}.team-member-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:transform .32s ease,filter .32s ease}.team-member-card:hover img{transform:scale(1.025);filter:grayscale(40%)}.team-card-copy{padding:28px 30px 32px}.team-card-copy .role{display:block;color:var(--navy);font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}.team-card-copy h3{margin:0 0 14px;color:var(--navy);font-size:30px;line-height:1.05;letter-spacing:-.045em;font-weight:700}.team-card-copy p{margin:0 0 13px;color:var(--grey);font-size:14.5px;line-height:1.66;font-weight:300}.team-facts{list-style:none;margin:20px 0 0;padding:16px 0 0;border-top:1px solid rgba(31,58,93,.14);display:grid;gap:8px}.team-facts li{position:relative;margin:0;padding-left:18px;color:var(--navy);font-size:13.5px;line-height:1.45;font-weight:400}.team-facts li:before{content:"";position:absolute;left:0;top:.58em;width:7px;height:7px;background:var(--yellow)}.team-profile .team-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px}.team-profile .team-facts li{font-size:14px}.updated-team-directory{margin-bottom:0}
@media(max-width:1120px){.team-grid-v16{grid-template-columns:repeat(2,minmax(0,1fr))}.team-member-card figure{height:320px}.team-profile .team-facts{grid-template-columns:1fr}}
@media(max-width:680px){.team-grid-v16{grid-template-columns:1fr;margin-bottom:58px;padding:0 16px}.team-member-card figure{height:360px}.team-card-copy{padding:26px 24px 30px}.team-card-copy h3{font-size:28px}.updated-team-hero{background-position:center top!important}.footer-address{font-size:14px}}

/* v17 home hero update: client supplied Sunshine Coast hero image; matched home card widths */
:root{--home-card-width:1320px}
body.page-home .home-hero,
body.page-home .intro-section,
body.page-home .services-section,
body.page-home .choose-section{
  max-width:var(--home-card-width)!important;
  width:100%;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:clamp(22px,3vw,38px)!important;
  padding-right:clamp(22px,3vw,38px)!important;
}
body.page-home .home-hero{margin-top:32px!important}
body.page-home .intro-section{margin-top:72px!important;margin-bottom:70px!important}
body.page-home .services-section{margin-top:70px!important}
body.page-home .choose-section{margin-top:82px!important}
body.page-home .hero-frame{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  min-height:620px!important;
  background:#fff!important;
  border:1px solid rgba(31,58,93,.14)!important;
  box-shadow:0 22px 48px rgba(31,58,93,.12)!important;
  overflow:hidden!important;
}
body.page-home .hero-frame:before,
body.page-home .hero-frame:after,
body.page-home .hero-overlay{display:none!important}
body.page-home .hero-content{
  width:auto!important;
  min-height:620px!important;
  padding:clamp(52px,5.6vw,82px) clamp(36px,4.4vw,64px)!important;
  background:linear-gradient(180deg,#fffdf8 0%,#fff 56%,#fbf4ec 100%);
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
body.page-home .hero-content h1{
  max-width:680px!important;
  margin:26px 0 24px!important;
  font-size:clamp(44px,4.15vw,72px)!important;
  line-height:1.01!important;
  letter-spacing:-.065em!important;
  text-wrap:balance;
}
body.page-home .hero-content h1 span{display:block}
body.page-home .hero-content h1 span:last-child{max-width:11.4em}
body.page-home .hero-content p{max-width:560px!important;margin-bottom:32px!important}
body.page-home .hero-photo{
  position:relative;
  min-height:620px;
  height:100%;
  background:var(--cream);
  overflow:hidden;
}
body.page-home .hero-photo:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:9px;
  background:linear-gradient(180deg,var(--navy) 0 22%,var(--green) 22% 47%,var(--yellow) 47% 72%,var(--sky) 72% 100%);
  z-index:2;
}
body.page-home .hero-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(31,58,93,.16),rgba(31,58,93,0) 30%,rgba(31,58,93,.12));
  z-index:1;
  pointer-events:none;
}
body.page-home .hero-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.96) contrast(1.02);
}
body.page-home .intro-card,
body.page-home .service-grid,
body.page-home .choose-section>div{width:100%!important}
body.page-home .service-grid{gap:24px!important}
body.page-home .service-card{
  grid-template-columns:minmax(190px,230px) minmax(0,1fr)!important;
  min-height:350px!important;
}
body.page-home .service-media{min-height:350px!important}
body.page-home .service-copy{padding:31px 32px 32px 38px!important}
body.page-home .section-heading{margin-bottom:30px!important}

@media(max-width:1180px){
  body.page-home .hero-frame{grid-template-columns:minmax(0,1fr)!important;min-height:0!important}
  body.page-home .hero-content{min-height:auto!important;padding:44px clamp(28px,7vw,58px)!important;grid-row:2;background:#fff!important}
  body.page-home .hero-photo{grid-row:1;min-height:430px!important}
  body.page-home .hero-photo:before{width:100%;height:7px;right:0;bottom:auto;background:linear-gradient(90deg,var(--navy) 0 25%,var(--green) 25% 50%,var(--yellow) 50% 75%,var(--sky) 75% 100%)}
  body.page-home .hero-content h1{font-size:clamp(42px,7vw,66px)!important;max-width:820px!important}
  body.page-home .service-card{grid-template-columns:1fr!important;min-height:0!important}
  body.page-home .service-media{height:260px!important;min-height:260px!important}
}
@media(max-width:760px){
  body.page-home .home-hero,
  body.page-home .intro-section,
  body.page-home .services-section,
  body.page-home .choose-section{padding-left:16px!important;padding-right:16px!important}
  body.page-home .home-hero{margin-top:22px!important}
  body.page-home .hero-photo{min-height:370px!important}
  body.page-home .hero-content{padding:32px 26px 34px!important}
  body.page-home .hero-content h1{font-size:clamp(38px,11.6vw,48px)!important;line-height:1.02!important;margin:20px 0 18px!important;letter-spacing:-.06em!important}
  body.page-home .hero-content h1 span:last-child{max-width:10.8em}
  body.page-home .hero-content p{font-size:17px!important;margin-bottom:24px!important}
  body.page-home .hero-actions{gap:10px}.btn,.paraBtn a{min-height:43px!important;padding:0 18px!important}
  body.page-home .intro-section{margin-top:42px!important;margin-bottom:42px!important}
  body.page-home .intro-card{padding:32px 26px!important}
  body.page-home .service-grid{grid-template-columns:1fr!important;gap:18px!important}
  body.page-home .service-media{height:220px!important;min-height:220px!important}
  body.page-home .choose-section{margin-top:52px!important}
}

/* v17: safer reveal behavior; only hide reveal items when JS has enabled animations */
.reveal-block{opacity:1;transform:none;transition:opacity .62s ease,transform .62s ease}
html.animations-enabled .reveal-block{opacity:0;transform:translateY(24px)}
html.animations-enabled .reveal-block.is-visible{opacity:1;transform:none}
body.page-home .hero-content h1{font-size:clamp(42px,3.65vw,62px)!important;line-height:1.03!important}
body.page-home .hero-content h1 span:last-child{max-width:none!important}
@media(max-width:760px){body.page-home .hero-content h1{font-size:clamp(36px,10.3vw,46px)!important}}

/* v18 update: client-supplied rotating home hero photos + corrected why-card accent */
body.page-home .hero-photo.hero-slider{
  position:relative!important;
  background:var(--cream)!important;
  overflow:hidden!important;
}
body.page-home .hero-photo.hero-slider .hero-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:0!important;
  transform:scale(1.012)!important;
  transition:opacity 1.45s ease-in-out, transform 6.2s ease!important;
  filter:grayscale(100%) contrast(1.04) brightness(.98)!important;
  z-index:0!important;
}
body.page-home .hero-photo.hero-slider .hero-slide.is-active{
  opacity:1!important;
  transform:scale(1)!important;
}
body.page-home .hero-photo.hero-slider:after{
  z-index:2!important;
  background:linear-gradient(90deg,rgba(31,58,93,.24),rgba(31,58,93,.04) 34%,rgba(31,58,93,.18))!important;
}
body.page-home .hero-photo.hero-slider:before{z-index:3!important}

/* Keep the hero headline line-breaks intentional and avoid orphan words */
body.page-home .hero-content h1{max-width:690px!important;text-wrap:normal!important}
body.page-home .hero-content h1 span{display:block!important;white-space:normal!important}
body.page-home .hero-content h1 span:nth-child(3){white-space:nowrap!important}

/* The previous decorative yellow shape on "Why choose us" was intruding visually into the copy. */
body.page-home .choose-section>div:after,
.choose-section>div:after{
  right:0!important;
  top:0!important;
  width:132px!important;
  height:132px!important;
  transform:none!important;
  opacity:1!important;
  background:var(--yellow)!important;
  clip-path:polygon(100% 0, 0 0, 100% 100%)!important;
  z-index:0!important;
  pointer-events:none!important;
}
body.page-home .choose-section table,
body.page-home .choose-section tbody,
body.page-home .choose-section tr,
.choose-section table,
.choose-section tbody,
.choose-section tr{position:relative!important;z-index:1!important}
@media(max-width:760px){
  body.page-home .hero-photo.hero-slider .hero-slide{object-position:center center!important}
  body.page-home .hero-content h1 span:nth-child(3){white-space:normal!important}
  body.page-home .choose-section>div:after,.choose-section>div:after{width:84px!important;height:84px!important}
}


/* v19: updated hero order and service imagery only */
.service-media img[src*="goodlaw-service-"]{object-position:center center!important;filter:grayscale(1) contrast(1.04)!important}
.imageFrame .butImage[style*="goodlaw-service-"]{background-position:center center!important}
body.page-planning-environment-law .page-hero,
body.page-property-law-conveyancing .page-hero,
body.page-wills-estates-lawyers .page-hero,
body.page-wills-estates .page-hero{background-position:center center!important}


/* v20 About page-only adjustments: new hero photo, matched card widths, team photo card */
body.page-about-us .about-hero-updated{background-position:center 52%!important}
body.page-about-us .about-hero-updated:before{background:linear-gradient(90deg,rgba(31,58,93,.93),rgba(31,58,93,.56) 52%,rgba(31,58,93,.18))!important}
body.page-about-us .content-stack{max-width:var(--content)!important}
body.page-about-us .content-block.long-copy .section-card,
body.page-about-us .content-block.has-dense-table .section-card,
body.page-about-us .content-block .section-card{max-width:none!important;width:100%!important}
body.page-about-us .content-block:first-child .section-card{padding:0!important;overflow:hidden!important}
body.page-about-us .content-block:first-child .section-card:before{z-index:2}
body.page-about-us .content-block:first-child table.moduleTable>tbody>tr,
body.page-about-us .content-block:first-child table.twoColumn>tbody>tr{display:grid!important;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr)!important;gap:0!important;align-items:stretch!important}
body.page-about-us .content-block:first-child table.moduleTable>tbody>tr>td:first-child{min-height:420px!important;background:var(--cream)!important;overflow:hidden!important}
body.page-about-us .content-block:first-child table.moduleTable>tbody>tr>td:first-child img{width:100%!important;height:100%!important;min-height:420px!important;object-fit:cover!important;object-position:center 42%!important;filter:grayscale(100%) contrast(1.02)!important}
body.page-about-us .content-block:first-child table.moduleTable>tbody>tr>td:nth-child(2){padding:clamp(42px,5vw,70px)!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
body.page-about-us .content-block:first-child table.moduleTable>tbody>tr>td:nth-child(2) p:last-child{margin-bottom:0!important}
body.page-about-us .content-block:not(:first-child) .section-card{min-height:420px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
@media(max-width:760px){
  body.page-about-us .content-block:first-child table.moduleTable>tbody>tr,
  body.page-about-us .content-block:first-child table.twoColumn>tbody>tr{grid-template-columns:1fr!important}
  body.page-about-us .content-block:first-child table.moduleTable>tbody>tr>td:first-child{min-height:310px!important}
  body.page-about-us .content-block:first-child table.moduleTable>tbody>tr>td:first-child img{min-height:310px!important;object-position:center 34%!important}
  body.page-about-us .content-block:first-child table.moduleTable>tbody>tr>td:nth-child(2){padding:32px 26px!important}
  body.page-about-us .content-block:not(:first-child) .section-card{min-height:0!important}
}

/* v21 About hero overlay correction: full-width navy overlay, no vertical accent rectangles */
body.page-about-us .page-hero.about-hero-updated:before{
  inset:0!important;
  background:linear-gradient(90deg,rgba(31,58,93,.94) 0%,rgba(31,58,93,.78) 42%,rgba(31,58,93,.48) 72%,rgba(31,58,93,.30) 100%)!important;
}
body.page-about-us .page-hero.about-hero-updated:after{
  display:none!important;
  content:none!important;
}
@media(max-width:760px){
  body.page-about-us .page-hero.about-hero-updated:before{
    inset:0!important;
    background:linear-gradient(90deg,rgba(31,58,93,.94),rgba(31,58,93,.58))!important;
  }
}
body.page-about-us .page-hero.about-hero-updated{
  max-width:none!important;
  width:100%!important;
  margin:30px 0 0!important;
  padding:0!important;
}

/* v22: extend navy gradient overlay across full hero width on primary section pages */
body.page-services .page-hero,
body.page-forms-helpful-links .page-hero,
body.page-wills-estates .page-hero,
body.page-wills-estates-lawyers .page-hero,
body.page-blog .page-hero,
body.page-blog-article .page-hero,
body.page-contact .page-hero{
  max-width:none!important;
  width:100%!important;
  margin:30px 0 0!important;
}
body.page-services .page-hero:before,
body.page-forms-helpful-links .page-hero:before,
body.page-wills-estates .page-hero:before,
body.page-wills-estates-lawyers .page-hero:before,
body.page-blog .page-hero:before,
body.page-blog-article .page-hero:before,
body.page-contact .page-hero:before{
  inset:0!important;
  background:linear-gradient(90deg,rgba(31,58,93,.94) 0%,rgba(31,58,93,.80) 42%,rgba(31,58,93,.50) 72%,rgba(31,58,93,.30) 100%)!important;
}
body.page-services .page-hero:after,
body.page-forms-helpful-links .page-hero:after,
body.page-wills-estates .page-hero:after,
body.page-wills-estates-lawyers .page-hero:after,
body.page-blog .page-hero:after,
body.page-blog-article .page-hero:after,
body.page-contact .page-hero:after{
  display:none!important;
  content:none!important;
}
@media(max-width:760px){
  body.page-services .page-hero:before,
  body.page-forms-helpful-links .page-hero:before,
  body.page-wills-estates .page-hero:before,
  body.page-wills-estates-lawyers .page-hero:before,
  body.page-blog .page-hero:before,
  body.page-blog-article .page-hero:before,
  body.page-contact .page-hero:before{
    inset:0!important;
    background:linear-gradient(90deg,rgba(31,58,93,.94),rgba(31,58,93,.58))!important;
  }
}


/* v23 contact-only refinements */
body.page-contact .page-hero{
  background-position:center 55%!important;
}
body.page-contact .legacy-content .contact-services-row,
body.page-contact .contact-services-row{
  margin-top:clamp(42px,5vw,70px)!important;
  padding-top:clamp(34px,4vw,52px)!important;
  border-top:1px solid rgba(31,58,93,.14)!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
}
body.page-contact .contact-services-row .butFrame{
  box-shadow:0 10px 24px rgba(31,58,93,.06)!important;
}
body.page-contact .contact-services-row .imageFrame{
  height:205px!important;
}
body.page-contact .contact-services-row .butHeading{
  font-size:22px!important;
}
body.page-contact .contact-social-card{
  padding:0!important;
  overflow:hidden!important;
}
body.page-contact .contact-social-card:before{
  display:none!important;
}
body.page-contact .contact-social-inner{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);
  align-items:stretch;
  min-height:250px;
}
body.page-contact .contact-social-copy{
  background:var(--navy);
  color:#fff;
  padding:clamp(36px,4.2vw,58px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}
body.page-contact .contact-social-copy:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:7px;
  background:linear-gradient(90deg,var(--yellow),var(--green),var(--sky));
}
body.page-contact .contact-social-copy h2{
  color:#fff!important;
  font-size:clamp(34px,3.6vw,52px)!important;
  margin:0 0 14px!important;
  letter-spacing:-.055em!important;
  line-height:1.04!important;
}
body.page-contact .contact-social-copy p{
  color:rgba(255,255,255,.82)!important;
  max-width:460px;
  margin:0!important;
}
body.page-contact .contact-social-links{
  padding:clamp(28px,4vw,50px);
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  background:#fff;
}
body.page-contact .contact-social-links .social-link{
  display:flex!important;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  border:1px solid rgba(31,58,93,.14);
  background:#fffdf8;
  color:var(--navy)!important;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(31,58,93,.045);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.page-contact .contact-social-links .social-link:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(31,58,93,.09);
  border-color:rgba(31,58,93,.28);
}
body.page-contact .social-icon{
  width:36px;
  height:36px;
  min-width:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
  font-weight:700;
  color:#fff;
  background:var(--navy);
}
body.page-contact .is-google .social-icon{background:var(--yellow);color:var(--navy)}
body.page-contact .is-facebook .social-icon{background:var(--navy);color:#fff;font-family:Arial, sans-serif;font-size:23px}
body.page-contact .is-instagram .social-icon{background:var(--sky);color:var(--navy);font-size:23px}
body.page-contact .social-text{display:flex;flex-direction:column;gap:2px;min-width:0}
body.page-contact .social-text strong{font-size:18px;font-weight:700;line-height:1.15;color:var(--navy)}
body.page-contact .social-text small{font-size:13px;font-weight:300;color:var(--grey);line-height:1.25}
@media(max-width:980px){
  body.page-contact .legacy-content .contact-services-row,
  body.page-contact .contact-services-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.page-contact .contact-social-inner{grid-template-columns:1fr;min-height:0}
}
@media(max-width:760px){
  body.page-contact .page-hero{background-position:center!important}
  body.page-contact .legacy-content .contact-services-row,
  body.page-contact .contact-services-row{grid-template-columns:1fr!important;margin-top:34px!important;padding-top:30px!important}
  body.page-contact .contact-services-row .imageFrame{height:220px!important}
  body.page-contact .contact-social-copy{padding:34px 24px}
  body.page-contact .contact-social-links{padding:24px;gap:12px}
  body.page-contact .contact-social-links .social-link{padding:16px}
}


/* v24 targeted updates: supplied hero imagery + forms/news refinements */
body.page-services .page-hero{
  background-image:url('../image/goodlaw-hero-services-v24.png')!important;
  background-position:center 54%!important;
}
body.page-forms-helpful-links .page-hero{
  background-image:url('../image/goodlaw-hero-forms-helpful-links-v24.png')!important;
  background-position:center 52%!important;
}
body.page-wills-estates .page-hero,
body.page-wills-estates-lawyers .page-hero{
  background-image:url('../image/goodlaw-hero-wills-estates-v24.jpg')!important;
  background-position:center center!important;
}
body.page-blog .page-hero,
body.page-blog-article .page-hero{
  background-image:url('../image/goodlaw-hero-latest-news-v24.png')!important;
  background-position:center center!important;
}
body.page-forms-helpful-links .section-card:before{
  display:none!important;
  content:none!important;
}
body.page-forms-helpful-links .section-card{
  padding-top:clamp(42px,5vw,72px)!important;
}
body.page-forms-helpful-links .form-link-card:after{
  display:none!important;
  content:none!important;
}
body.page-forms-helpful-links .form-link-card{
  overflow:hidden!important;
}
body.page-blog .itemPagination{
  display:flex;
  justify-content:center;
  margin-top:34px;
}
body.page-blog .itemPagination .pagination{
  margin:0;
}
body.page-blog .itemPagination a{
  min-width:44px;
  min-height:44px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(31,58,93,.32)!important;
  background:#fffdf8!important;
  color:var(--navy)!important;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  box-shadow:none!important;
}
body.page-blog .itemPagination a.current,
body.page-blog .itemPagination a:hover{
  background:var(--navy)!important;
  color:#fff!important;
}
.blogArticle a.all-news-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 22px;
  margin-top:26px;
  border:1px solid rgba(31,58,93,.36)!important;
  background:#fffdf8!important;
  color:var(--navy)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.095em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.blogArticle a.all-news-button:before{
  content:'←';
  margin-right:9px;
  font-weight:700;
}
.blogArticle a.all-news-button:hover{
  background:var(--navy)!important;
  color:#fff!important;
}
/* v24 forms cards: remove top strip; use quieter side colour cues */
body.page-forms-helpful-links .form-link-card:before{
  display:none!important;
  content:none!important;
}
body.page-forms-helpful-links .form-link-card{
  border-left:6px solid var(--navy)!important;
}
body.page-forms-helpful-links .form-link-card:nth-child(2){border-left-color:var(--yellow)!important}
body.page-forms-helpful-links .form-link-card:nth-child(3){border-left-color:var(--green)!important}
body.page-forms-helpful-links .form-link-card:nth-child(4){border-left-color:var(--sky)!important}

/* v25 hero overlay update: replace dark navy overlay with lighter GoodLaw aqua gradient */
.page-hero:before,
body.page-about-us .page-hero.about-hero-updated:before,
body.page-services .page-hero:before,
body.page-forms-helpful-links .page-hero:before,
body.page-wills-estates .page-hero:before,
body.page-wills-estates-lawyers .page-hero:before,
body.page-blog .page-hero:before,
body.page-blog-article .page-hero:before,
body.page-contact .page-hero:before{
  inset:0!important;
  background:linear-gradient(90deg,
    rgba(124,207,221,.70) 0%,
    rgba(124,207,221,.48) 35%,
    rgba(124,207,221,.22) 65%,
    rgba(124,207,221,0) 100%)!important;
}
@media(max-width:760px){
  .page-hero:before,
  body.page-about-us .page-hero.about-hero-updated:before,
  body.page-services .page-hero:before,
  body.page-forms-helpful-links .page-hero:before,
  body.page-wills-estates .page-hero:before,
  body.page-wills-estates-lawyers .page-hero:before,
  body.page-blog .page-hero:before,
  body.page-blog-article .page-hero:before,
  body.page-contact .page-hero:before{
    background:linear-gradient(90deg,
      rgba(124,207,221,.70) 0%,
      rgba(124,207,221,.42) 58%,
      rgba(124,207,221,0) 100%)!important;
  }
}


/* v26 targeted updates: Wills/Estates + Planning hero images and Studio footer credit */
body.page-wills-estates .page-hero,
body.page-wills-estates-lawyers .page-hero{
  background-image:url('../image/goodlaw-hero-wills-estates-v29.jpg')!important;
  background-position:center 40%!important;
}
body.page-planning-environment-law .page-hero{
  background-image:url('../image/goodlaw-hero-planning-environment-v26.png')!important;
  background-position:center center!important;
}
body.page-planning-environment-law .page-hero:before{
  inset:0!important;
  background:linear-gradient(90deg,
    rgba(170,210,104,.70) 0%,
    rgba(170,210,104,.48) 35%,
    rgba(170,210,104,.22) 65%,
    rgba(170,210,104,0) 100%)!important;
}
body.page-wills-estates .page-hero:before,
body.page-wills-estates-lawyers .page-hero:before{
  inset:0!important;
  background:linear-gradient(90deg,
    rgba(124,207,221,.70) 0%,
    rgba(124,207,221,.48) 35%,
    rgba(124,207,221,.22) 65%,
    rgba(124,207,221,0) 100%)!important;
}
@media(max-width:760px){
  body.page-planning-environment-law .page-hero:before{
    background:linear-gradient(90deg,
      rgba(170,210,104,.70) 0%,
      rgba(170,210,104,.42) 58%,
      rgba(170,210,104,0) 100%)!important;
  }
  body.page-wills-estates .page-hero:before,
  body.page-wills-estates-lawyers .page-hero:before{
    background:linear-gradient(90deg,
      rgba(124,207,221,.70) 0%,
      rgba(124,207,221,.42) 58%,
      rgba(124,207,221,0) 100%)!important;
  }
}


/* v27 targeted property law hero update */
body.page-property-law-conveyancing .page-hero{
  background-image:url('../image/goodlaw-hero-property-v27.png')!important;
  background-position:center center!important;
}
body.page-property-law-conveyancing .page-hero:before{
  inset:0!important;
  background:linear-gradient(90deg,
    rgba(254,195,85,.70) 0%,
    rgba(254,195,85,.48) 35%,
    rgba(254,195,85,.22) 65%,
    rgba(254,195,85,0) 100%)!important;
}
@media(max-width:760px){
  body.page-property-law-conveyancing .page-hero:before{
    background:linear-gradient(90deg,
      rgba(254,195,85,.70) 0%,
      rgba(254,195,85,.42) 58%,
      rgba(254,195,85,0) 100%)!important;
  }
}

/* v28 dedicated Conveyancing service page */
body.page-conveyancing .page-hero{
  background-image:url('../image/goodlaw-hero-conveyancing-v28.png')!important;
  background-position:center center!important;
}
body.page-conveyancing .page-hero:before{
  inset:0!important;
  background:linear-gradient(90deg,
    rgba(254,195,85,.70) 0%,
    rgba(254,195,85,.48) 35%,
    rgba(254,195,85,.22) 65%,
    rgba(254,195,85,0) 100%)!important;
}
body.page-conveyancing .page-hero:after{
  display:none!important;
  content:none!important;
}
@media(max-width:760px){
  body.page-conveyancing .page-hero:before{
    background:linear-gradient(90deg,
      rgba(254,195,85,.70) 0%,
      rgba(254,195,85,.42) 58%,
      rgba(254,195,85,0) 100%)!important;
  }
}


/* v29 targeted update: Wills & Estates hero image and footer tagline typography */
body.page-wills-estates .page-hero,
body.page-wills-estates-lawyers .page-hero{
  background-image:url('../image/goodlaw-hero-wills-estates-v29.jpg')!important;
  background-position:center center!important;
}
.footer-brand .footer-tagline{
  margin:24px 0 24px!important;
  color:#fff!important;
  font-family:'Poppins', Arial, sans-serif!important;
  font-size:clamp(22px,2vw,28px)!important;
  line-height:1.25!important;
  font-weight:400!important;
  letter-spacing:0!important;
  max-width:440px!important;
}
.footer-brand .footer-tagline span{
  display:block!important;
}
@media(max-width:680px){
  .footer-brand .footer-tagline{
    font-size:22px!important;
    line-height:1.28!important;
  }
}

/* v30 home update: YouTube video in the "Why choose us?" card */
body.page-home .choose-video-section > .choose-card{
  display:grid!important;
  grid-template-columns:minmax(420px,.95fr) minmax(0,1.05fr)!important;
  align-items:center!important;
  gap:0!important;
  padding:clamp(26px,3.6vw,52px)!important;
  background:
    linear-gradient(135deg,#1F3A5D 0%,#142A46 100%)!important;
  border:1px solid rgba(31,58,93,.18)!important;
  box-shadow:0 22px 52px rgba(31,58,93,.14)!important;
  overflow:hidden!important;
}
body.page-home .choose-video-section > .choose-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:9px;
  background:linear-gradient(180deg,var(--navy) 0 25%,var(--green) 25% 50%,var(--yellow) 50% 75%,var(--sky) 75% 100%);
  z-index:2;
  pointer-events:none;
}
body.page-home .choose-video-section > .choose-card:after{
  right:0!important;
  top:0!important;
  width:120px!important;
  height:120px!important;
  opacity:1!important;
  background:var(--yellow)!important;
  clip-path:polygon(100% 0,0 0,100% 100%)!important;
  z-index:0!important;
}
body.page-home .choose-video-section .choose-video-panel,
body.page-home .choose-video-section .choose-copy{
  position:relative!important;
  z-index:1!important;
}
body.page-home .choose-video-section .choose-video-panel{
  align-self:center!important;
}
body.page-home .choose-video-section .choose-video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#0f2138;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 22px 44px rgba(0,0,0,.24);
  overflow:hidden;
}
body.page-home .choose-video-section .choose-video-frame:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:7px;
  background:linear-gradient(90deg,var(--yellow),var(--green),var(--sky));
  z-index:2;
  pointer-events:none;
}
body.page-home .choose-video-section iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#0f2138;
}
body.page-home .choose-video-section .choose-copy{
  padding:clamp(32px,4.8vw,72px) 0 clamp(30px,4.2vw,62px) clamp(38px,5vw,78px)!important;
  max-width:720px!important;
  justify-self:end!important;
}
body.page-home .choose-video-section .choose-copy h5{
  margin-top:0!important;
  margin-bottom:22px!important;
}
body.page-home .choose-video-section .choose-copy p{
  max-width:660px!important;
}
body.page-home .choose-video-section .choose-copy p:first-of-type{
  margin-top:0!important;
}
@media(max-width:1180px){
  body.page-home .choose-video-section > .choose-card{
    grid-template-columns:1fr!important;
    padding:clamp(20px,4vw,34px)!important;
  }
  body.page-home .choose-video-section .choose-copy{
    padding:34px clamp(12px,3vw,24px) 10px!important;
    justify-self:stretch!important;
    max-width:none!important;
  }
}
@media(max-width:760px){
  body.page-home .choose-video-section > .choose-card{
    padding:18px!important;
  }
  body.page-home .choose-video-section > .choose-card:before{
    width:7px!important;
  }
  body.page-home .choose-video-section > .choose-card:after{
    width:78px!important;
    height:78px!important;
  }
  body.page-home .choose-video-section .choose-copy{
    padding:28px 10px 6px 16px!important;
  }
  body.page-home .choose-video-section .choose-video-frame{
    aspect-ratio:16/9;
  }
}


/* v31: standard YouTube embed fallback. Removed srcdoc/no-cookie loader for better compatibility. */
body.page-home .choose-video-section .choose-video-panel{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
body.page-home .choose-video-section .choose-video-frame iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
}
body.page-home .choose-video-section .choose-video-fallback{
  margin:0!important;
  font-size:14px!important;
  line-height:1.45!important;
}
body.page-home .choose-video-section .choose-video-fallback a{
  color:#fff!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(255,255,255,.54)!important;
  font-weight:500!important;
}
body.page-home .choose-video-section .choose-video-fallback a:hover{
  border-color:#fff!important;
}


/* v31: YouTube fix - parent-page play button loads the standard YouTube embed, with fallback link. */
body.page-home .choose-video-section .choose-video-panel{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
body.page-home .choose-video-section .choose-video-frame iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
}
body.page-home .choose-video-section .choose-video-cover{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  padding:28px!important;
  border:0!important;
  cursor:pointer!important;
  color:#fff!important;
  font-family:'Poppins',Arial,sans-serif!important;
  text-align:center!important;
  background:
    linear-gradient(135deg, rgba(31,58,93,.94) 0%, rgba(20,42,70,.92) 62%, rgba(127,208,221,.74) 100%),
    radial-gradient(circle at 20% 16%, rgba(254,195,85,.24), transparent 34%)!important;
}
body.page-home .choose-video-section .choose-video-cover:before{
  content:'';
  position:absolute;
  left:0;top:0;right:0;height:7px;
  background:linear-gradient(90deg,var(--yellow),var(--green),var(--sky));
}
body.page-home .choose-video-section .choose-video-play{
  width:74px!important;
  height:74px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:2px solid rgba(255,255,255,.88)!important;
  background:rgba(255,255,255,.12)!important;
  transition:transform .24s ease, background .24s ease!important;
}
body.page-home .choose-video-section .choose-video-play:after{
  content:'';
  margin-left:6px;
  border-left:20px solid #fff;
  border-top:13px solid transparent;
  border-bottom:13px solid transparent;
}
body.page-home .choose-video-section .choose-video-cover:hover .choose-video-play{
  transform:scale(1.04)!important;
  background:rgba(255,255,255,.2)!important;
}
body.page-home .choose-video-section .choose-video-label strong{
  display:block!important;
  font-size:clamp(20px,2.2vw,30px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  font-weight:700!important;
}
body.page-home .choose-video-section .choose-video-label span{
  display:block!important;
  margin-top:8px!important;
  font-size:12px!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
  font-weight:600!important;
  color:rgba(255,255,255,.78)!important;
}
body.page-home .choose-video-section .choose-video-fallback{
  margin:0!important;
  font-size:14px!important;
  line-height:1.45!important;
}
body.page-home .choose-video-section .choose-video-fallback a{
  color:#fff!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(255,255,255,.54)!important;
  font-weight:500!important;
}
body.page-home .choose-video-section .choose-video-fallback a:hover{
  border-color:#fff!important;
}


/* v32: direct standard YouTube iframe embed. No custom srcdoc/no-cookie/click loader. */
body.page-home .choose-video-section .choose-video-frame{
  min-height:270px!important;
}
body.page-home .choose-video-section .choose-video-frame iframe{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#0f2138!important;
}
body.page-home .choose-video-section .choose-video-frame:after{
  content:none!important;
}
body.page-home .choose-video-section .choose-video-fallback{
  margin:0!important;
  color:rgba(255,255,255,.78)!important;
}
body.page-home .choose-video-section .choose-video-fallback a{
  color:#fff!important;
  font-weight:600!important;
  border-bottom:1px solid rgba(255,255,255,.65)!important;
}
@media(max-width:760px){
  body.page-home .choose-video-section .choose-video-frame{
    min-height:220px!important;
    aspect-ratio:16/10!important;
  }
}

/* v33 header refinement: utility actions above the navigation on desktop */
@media (min-width:1041px){
  .site-header{
    background:rgba(255,253,248,.985);
    box-shadow:0 10px 30px rgba(31,58,93,.06);
  }
  .header-inner{
    grid-template-columns:minmax(280px,390px) minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:
      "brand actions"
      "brand nav"!important;
    column-gap:clamp(36px,5.4vw,88px)!important;
    row-gap:10px!important;
    padding-top:24px!important;
    padding-bottom:21px!important;
    align-items:end!important;
  }
  .brand{
    grid-area:brand!important;
    align-self:center!important;
    width:clamp(270px,21.5vw,372px)!important;
  }
  .primary-nav{
    grid-area:nav!important;
    grid-column:auto!important;
    justify-self:end!important;
    align-self:end!important;
    min-width:0!important;
    padding-top:8px!important;
    border-top:1px solid rgba(31,58,93,.10);
  }
  .header-actions{
    grid-area:actions!important;
    grid-column:auto!important;
    justify-self:end!important;
    align-self:end!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    padding-bottom:2px!important;
    white-space:nowrap!important;
  }
  .header-actions::before{
    content:"";
    width:48px;
    height:4px;
    background:linear-gradient(90deg,var(--green),var(--yellow),var(--sky));
    display:block;
    flex:0 0 auto;
  }
  .phone-chip{
    display:grid!important;
    grid-template-rows:auto auto;
    justify-items:end;
    align-content:center;
    min-height:42px!important;
    padding:0 22px 0 0!important;
    border:0!important;
    border-right:1px solid rgba(31,58,93,.22)!important;
    background:transparent!important;
    color:var(--navy)!important;
    font-size:18px!important;
    font-weight:700!important;
    line-height:1.05!important;
    letter-spacing:-.015em!important;
  }
  .phone-chip::before{
    content:"Call";
    display:block;
    margin-bottom:4px;
    color:var(--muted);
    font-size:10px;
    line-height:1;
    font-weight:400;
    letter-spacing:.17em;
    text-transform:uppercase;
  }
  .enquire-chip{
    min-height:42px!important;
    padding:0 21px!important;
    background:var(--navy)!important;
    border:1px solid var(--navy)!important;
    box-shadow:inset 0 -4px 0 var(--yellow)!important;
    color:#fff!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }
  .enquire-chip:hover{
    background:var(--yellow)!important;
    border-color:var(--yellow)!important;
    box-shadow:inset 0 -4px 0 var(--sky)!important;
    color:var(--navy)!important;
    transform:translateY(-1px);
  }
  .nav-list{
    gap:clamp(19px,1.6vw,34px)!important;
    justify-content:flex-end!important;
  }
  .nav-item>a{
    padding-top:10px!important;
    padding-bottom:12px!important;
    font-size:14.8px!important;
  }
  .nav-item>a:after{bottom:0!important;height:3px!important;}
  .site-header.is-scrolled .header-inner{
    grid-template-columns:minmax(185px,260px) minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:
      "brand actions"
      "brand nav"!important;
    padding-top:12px!important;
    padding-bottom:11px!important;
    row-gap:4px!important;
  }
  .site-header.is-scrolled .brand{width:clamp(190px,15.5vw,260px)!important;}
  .site-header.is-scrolled .primary-nav{padding-top:5px!important;}
  .site-header.is-scrolled .header-actions{gap:14px!important;padding-bottom:0!important;}
  .site-header.is-scrolled .header-actions::before{width:36px;height:3px;}
  .site-header.is-scrolled .phone-chip{min-height:35px!important;font-size:15px!important;padding-right:18px!important;}
  .site-header.is-scrolled .phone-chip::before{font-size:9px;margin-bottom:3px;}
  .site-header.is-scrolled .enquire-chip{min-height:35px!important;padding:0 17px!important;font-size:11px!important;}
  .site-header.is-scrolled .nav-item>a{font-size:13.5px!important;padding-top:7px!important;padding-bottom:9px!important;}
}

@media (min-width:1041px) and (max-width:1320px){
  .header-inner{
    grid-template-columns:minmax(230px,310px) minmax(0,1fr)!important;
    column-gap:30px!important;
  }
  .brand{width:clamp(230px,23vw,310px)!important;}
  .header-actions::before{width:36px;}
  .phone-chip{font-size:16px!important;padding-right:17px!important;}
  .enquire-chip{padding:0 17px!important;}
  .nav-list{gap:16px!important;}
  .nav-item>a{font-size:13.2px!important;}
}

@media (max-width:1040px){
  .header-actions{order:3;}
  .primary-nav{order:4;}
}

/* v33 polish pass: keep mobile contact actions above the opened menu */
@media (max-width:1040px){
  .header-inner{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    grid-template-rows:auto auto auto!important;
  }
  .brand{grid-column:1!important;grid-row:1!important}
  .nav-toggle{grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:center!important}
  .header-actions{
    grid-column:1 / -1!important;
    grid-row:2!important;
    justify-self:stretch!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin-top:12px!important;
    margin-bottom:0!important;
    min-width:0!important;
  }
  .primary-nav{
    grid-column:1 / -1!important;
    grid-row:3!important;
    justify-self:stretch!important;
    margin-top:8px!important;
  }
  .phone-chip,
  .enquire-chip{
    width:100%!important;
    min-height:46px!important;
    border-radius:0!important;
    justify-content:center!important;
  }
}

/* v33 harden CTA visibility across static/rendering environments */
@media (min-width:1041px){
  .header-actions .enquire-chip{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#1F3A5D!important;
    border:1px solid #1F3A5D!important;
    color:#FFFFFF!important;
    opacity:1!important;
    min-width:116px!important;
  }
  .header-actions .enquire-chip:hover{background:#FEC355!important;border-color:#FEC355!important;color:#1F3A5D!important;}
}
@media (max-width:1040px){
  .header-actions .enquire-chip{
    background:#1F3A5D!important;
    border:1px solid #1F3A5D!important;
    color:#FFFFFF!important;
    opacity:1!important;
  }
}

/* v33 final header visibility polish */
@media (min-width:1041px){
  .site-header .header-inner .header-actions a.enquire-chip{
    background-color:#1F3A5D!important;
    background-image:none!important;
    border:1px solid #1F3A5D!important;
    box-shadow:inset 0 -4px 0 #FEC355,0 8px 20px rgba(31,58,93,.10)!important;
    color:#fff!important;
  }
  .site-header .header-inner .header-actions a.enquire-chip:hover{
    background-color:#FEC355!important;
    border-color:#FEC355!important;
    color:#1F3A5D!important;
  }
  .site-header .header-inner .header-actions a.phone-chip{
    color:#1F3A5D!important;
    background:transparent!important;
  }
}

/* v33 mobile header safeguard */
@media (max-width:1040px){
  .site-header .nav-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    width:52px!important;
    height:52px!important;
    background:#FFFDF8!important;
    border:1px solid rgba(31,58,93,.42)!important;
    box-shadow:0 8px 18px rgba(31,58,93,.08)!important;
    cursor:pointer!important;
  }
  .site-header .nav-toggle span{
    display:block!important;
    width:24px!important;
    height:2px!important;
    min-height:2px!important;
    background:#1F3A5D!important;
    border-radius:0!important;
    opacity:1!important;
  }
  .site-header .nav-toggle strong{
    position:absolute!important;
    left:-9999px!important;
  }
  .site-header .phone-chip{
    background:#fff!important;
    border:1px solid rgba(31,58,93,.25)!important;
    color:#1F3A5D!important;
    box-shadow:none!important;
  }
  .site-header .enquire-chip{
    background:#1F3A5D!important;
    border:1px solid #1F3A5D!important;
    color:#fff!important;
    box-shadow:inset 0 -4px 0 #FEC355!important;
  }
}

/* v33 mobile safety: keep logo/menu first, contact actions underneath */
@media (max-width:1040px){
  .brand{grid-area:auto!important;grid-column:1!important;grid-row:1!important;align-self:center!important}
  .nav-toggle{grid-column:2!important;grid-row:1!important;align-self:center!important}
  .header-actions{grid-area:auto!important;grid-column:1/-1!important;grid-row:2!important;order:2!important;align-self:stretch!important}
  .primary-nav{grid-area:auto!important;grid-column:1/-1!important;grid-row:3!important;order:3!important}
}

/* v33 final polish: keep action row clean and avoid icon-font fallbacks */
.header-actions .phone-chip span,
.header-actions .enquire-chip span{display:none!important;}
@media (min-width:1041px){
  .header-actions .phone-chip:before{
    content:"";
    display:inline-block;
    width:44px;
    height:3px;
    margin-right:14px;
    background:linear-gradient(90deg,var(--green),var(--yellow),var(--sky));
    transform:translateY(-1px);
  }
  .header-actions .phone-chip{
    min-width:178px;
    justify-content:flex-start!important;
  }
}
@media (max-width:1040px){
  .header-actions .phone-chip:before{content:"";display:inline-block;width:22px;height:3px;margin-right:8px;background:linear-gradient(90deg,var(--green),var(--yellow),var(--sky));}
}

/* v33 mobile menu display safeguard */
@media (max-width:1040px){
  .site-header .primary-nav.is-open{
    display:block!important;
  }
  .site-header .primary-nav.is-open .nav-list{
    display:block!important;
  }
}

/* v33.1 small utility label refinement */
@media (min-width:1241px){
  .phone-chip{
    position:relative!important;
    padding-top:12px!important;
  }
  .phone-chip:after{
    content:"CALL"!important;
    position:absolute!important;
    top:0!important;
    right:21px!important;
    display:block!important;
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:.22em!important;
    color:rgba(31,58,93,.55)!important;
    font-weight:400!important;
  }
  .site-header.is-scrolled .phone-chip{padding-top:10px!important;}
  .site-header.is-scrolled .phone-chip:after{font-size:8px!important;right:19px!important;}
}
@media(max-width:1240px){.phone-chip:after{display:none!important;content:""!important}}

/* v34 header action refinement: clean dual-button treatment */
@media (min-width:1041px){
  .site-header .header-inner{row-gap:12px!important;}
  .site-header .header-inner .header-actions{gap:12px!important;padding-bottom:0!important;}
  .site-header .header-inner .header-actions::before{content:none!important;display:none!important;}
  .site-header .header-inner .header-actions a.phone-chip,
  .site-header .header-inner .header-actions a.enquire-chip{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    min-height:44px!important;height:44px!important;padding:0 24px!important;border-radius:0!important;
    font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
    font-size:13px!important;line-height:1!important;font-weight:600!important;letter-spacing:.08em!important;
    text-transform:uppercase!important;box-shadow:none!important;text-decoration:none!important;white-space:nowrap!important;
    transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important;
  }
  .site-header .header-inner .header-actions a.phone-chip{
    min-width:166px!important;color:#1F3A5D!important;background:#FFFFFF!important;
    border:1px solid rgba(31,58,93,.34)!important;padding-top:0!important;padding-right:24px!important;
    justify-content:center!important;letter-spacing:.045em!important;text-transform:none!important;font-size:15px!important;
  }
  .site-header .header-inner .header-actions a.phone-chip::before,
  .site-header .header-inner .header-actions a.phone-chip::after,
  .site-header .header-inner .header-actions a.enquire-chip::before,
  .site-header .header-inner .header-actions a.enquire-chip::after{content:none!important;display:none!important;}
  .site-header .header-inner .header-actions a.enquire-chip{
    min-width:126px!important;color:#FFFFFF!important;background:#1F3A5D!important;background-image:none!important;
    border:1px solid #1F3A5D!important;box-shadow:none!important;
  }
  .site-header .header-inner .header-actions a.phone-chip:hover,
  .site-header .header-inner .header-actions a.phone-chip:focus-visible{
    background:#F2E8DD!important;border-color:#1F3A5D!important;color:#1F3A5D!important;transform:translateY(-1px)!important;
  }
  .site-header .header-inner .header-actions a.enquire-chip:hover,
  .site-header .header-inner .header-actions a.enquire-chip:focus-visible{
    background:#FEC355!important;border-color:#FEC355!important;color:#1F3A5D!important;transform:translateY(-1px)!important;
  }
  .site-header.is-scrolled .header-inner .header-actions{gap:10px!important;}
  .site-header.is-scrolled .header-inner .header-actions a.phone-chip,
  .site-header.is-scrolled .header-inner .header-actions a.enquire-chip{min-height:38px!important;height:38px!important;padding:0 20px!important;}
  .site-header.is-scrolled .header-inner .header-actions a.phone-chip{min-width:154px!important;font-size:14px!important;}
  .site-header.is-scrolled .header-inner .header-actions a.enquire-chip{min-width:112px!important;font-size:12px!important;}
}
@media (min-width:1041px) and (max-width:1320px){
  .site-header .header-inner .header-actions a.phone-chip,
  .site-header .header-inner .header-actions a.enquire-chip{height:40px!important;min-height:40px!important;padding:0 18px!important;}
  .site-header .header-inner .header-actions a.phone-chip{min-width:150px!important;font-size:13.5px!important;}
  .site-header .header-inner .header-actions a.enquire-chip{min-width:108px!important;font-size:11.5px!important;}
}
@media (max-width:1040px){
  .site-header .header-actions{grid-template-columns:1fr 1fr!important;gap:9px!important;}
  .site-header .header-actions a.phone-chip,
  .site-header .header-actions a.enquire-chip{
    display:flex!important;align-items:center!important;justify-content:center!important;
    min-height:45px!important;height:45px!important;border-radius:0!important;
    font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
    font-size:13px!important;line-height:1!important;font-weight:600!important;letter-spacing:.04em!important;
    box-shadow:none!important;padding:0 12px!important;text-decoration:none!important;
  }
  .site-header .header-actions a.phone-chip{background:#FFFFFF!important;border:1px solid rgba(31,58,93,.36)!important;color:#1F3A5D!important;}
  .site-header .header-actions a.phone-chip::before,
  .site-header .header-actions a.phone-chip::after,
  .site-header .header-actions a.enquire-chip::before,
  .site-header .header-actions a.enquire-chip::after{content:none!important;display:none!important;}
  .site-header .header-actions a.enquire-chip{
    background:#1F3A5D!important;background-image:none!important;border:1px solid #1F3A5D!important;color:#FFFFFF!important;
    text-transform:uppercase!important;letter-spacing:.08em!important;box-shadow:none!important;
  }
}


/* v35 typography audit + Planning & Environment card width correction */
:root{
  --type-h1:clamp(52px,6vw,92px);
  --type-h2:clamp(38px,4vw,58px);
  --type-h3:clamp(26px,2.5vw,36px);
  --type-h4:clamp(22px,2vw,30px);
  --type-body:16px;
  --type-small:14px;
}
html,body,button,input,textarea,select,
.site-header,.primary-nav,.page-hero,.content-stack,.legacy-content,.site-footer{
  font-family:var(--font)!important;
}
body{
  font-size:var(--type-body)!important;
  font-weight:300!important;
  line-height:1.72!important;
  letter-spacing:0!important;
}
p,li,td,dd,dt,label,input,textarea,select,
.legacy-content,.legacy-content p,.section-card p,.article-card p,.team-card-copy p,.service-copy p,
.footer-address,.footer-bottom{
  font-family:var(--font)!important;
  font-size:var(--type-body)!important;
  font-weight:300!important;
  line-height:1.74!important;
  letter-spacing:0!important;
}
.site-header a,.nav-item>a,.dropdown a,.btn,.paraBtn a,.enquire-chip,.phone-chip{
  font-family:var(--font)!important;
}
.page-hero h1,
.hero-content h1{
  font-family:var(--font)!important;
  font-weight:700!important;
  line-height:.98!important;
  letter-spacing:-.065em!important;
  text-wrap:balance;
}
.page-hero h1{font-size:var(--type-h1)!important;}
.section-heading h2,
.intro-card h2,
.legacy-content h2.style-two,
.section-card h2,
.article-card h2,
.legacy-content h2:not(.style-two){
  font-family:var(--font)!important;
  font-size:var(--type-h2)!important;
  font-weight:700!important;
  line-height:1.06!important;
  letter-spacing:-.052em!important;
  color:var(--navy)!important;
  text-wrap:balance;
}
.section-card h3,.article-card h3,.legacy-content h3,
.section-card h4,.article-card h4,.legacy-content h4,
.section-card h5,.article-card h5,.legacy-content h5{
  font-family:var(--font)!important;
  color:var(--navy)!important;
  margin-top:0!important;
  letter-spacing:-.035em!important;
  text-wrap:balance;
}
.section-card h3,.article-card h3,.legacy-content h3{
  font-size:var(--type-h3)!important;
  line-height:1.14!important;
  font-weight:400!important;
  margin-bottom:16px!important;
}
.section-card h4,.article-card h4,.legacy-content h4,
.section-card h5,.article-card h5,.legacy-content h5{
  font-size:var(--type-h4)!important;
  line-height:1.16!important;
  font-weight:400!important;
  margin-bottom:16px!important;
}
.eyebrow,.section-heading span,.team-card-copy .role,.contact-social-links .social-link span,
.blogMeta,.blogDate,.footer-nav a{
  font-family:var(--font)!important;
  font-weight:400!important;
  letter-spacing:.11em!important;
}
.btn,.paraBtn a,.blogBtn button,.blogBtn.button,.footer-actions a,.legacy-content input.button,.enqRow input.button{
  font-family:var(--font)!important;
  font-weight:700!important;
}
.footer-brand .footer-tagline{
  font-family:var(--font)!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

/* Planning page: keep all main content cards on the same width and make inner two-column cards equal. */
body.page-planning-environment-law .content-stack{
  max-width:var(--content)!important;
}
body.page-planning-environment-law .content-block,
body.page-planning-environment-law .block-inner,
body.page-planning-environment-law .section-card{
  width:100%!important;
}
body.page-planning-environment-law .content-block.long-copy .section-card,
body.page-planning-environment-law .content-block.has-dense-table .section-card,
body.page-planning-environment-law .content-block .section-card{
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.page-planning-environment-law .content-block:nth-of-type(2) .section-card{
  padding:clamp(28px,3.2vw,42px)!important;
}
body.page-planning-environment-law .content-block:nth-of-type(2) .section-card table.moduleTable.twoColumn,
body.page-planning-environment-law .content-block:nth-of-type(2) .section-card table.moduleTable.twoColumn>tbody,
body.page-planning-environment-law .content-block:nth-of-type(2) .section-card table.moduleTable.twoColumn>tbody>tr{
  width:100%!important;
}
body.page-planning-environment-law .content-block:nth-of-type(2) .section-card table.moduleTable.twoColumn>tbody>tr{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
body.page-planning-environment-law .content-block:nth-of-type(2) .section-card table.moduleTable.twoColumn>tbody>tr>td{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  padding:clamp(28px,3vw,38px)!important;
  background:#FFFDF8!important;
  border:1px solid rgba(31,58,93,.14)!important;
  box-shadow:0 10px 24px rgba(31,58,93,.05)!important;
}
body.page-planning-environment-law .content-block:nth-of-type(2) .section-card table.moduleTable.twoColumn>tbody>tr>td h3{
  margin-bottom:14px!important;
}
body.page-planning-environment-law .content-block:nth-of-type(2) .section-card table.moduleTable.twoColumn>tbody>tr>td ul{
  margin-bottom:0!important;
}
@media(max-width:760px){
  p,li,td,dd,dt,label,input,textarea,select,
  .legacy-content,.legacy-content p,.section-card p,.article-card p,.team-card-copy p,.service-copy p{
    font-size:15.5px!important;
    line-height:1.7!important;
  }
  body.page-planning-environment-law .content-block:nth-of-type(2) .section-card table.moduleTable.twoColumn>tbody>tr{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  body.page-planning-environment-law .content-block:nth-of-type(2) .section-card{
    padding:24px!important;
  }
}

/* v36 Wills & Estates update: simplified hero title + video-led intro card */
body.page-wills-estates .content-stack .content-block:first-child .section-card,
body.page-wills-estates-lawyers .content-stack .content-block:first-child .section-card{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:clamp(30px,4.4vw,58px)!important;
  overflow:hidden!important;
}
body.page-wills-estates .wills-intro-video-card,
body.page-wills-estates-lawyers .wills-intro-video-card{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr)!important;
  gap:clamp(30px,4.4vw,56px)!important;
  align-items:start!important;
}
body.page-wills-estates .wills-intro-copy,
body.page-wills-estates-lawyers .wills-intro-copy{min-width:0!important;}
body.page-wills-estates .wills-intro-copy h2,
body.page-wills-estates-lawyers .wills-intro-copy h2{
  margin:0 0 18px!important;
  max-width:720px!important;
  color:var(--navy)!important;
  font-family:var(--font)!important;
  font-size:clamp(38px,4.2vw,62px)!important;
  font-weight:700!important;
  line-height:1.02!important;
  letter-spacing:-.058em!important;
  text-wrap:balance!important;
}
body.page-wills-estates .wills-intro-copy h3,
body.page-wills-estates-lawyers .wills-intro-copy h3{
  margin:0 0 24px!important;
  color:var(--grey)!important;
  font-family:var(--font)!important;
  font-size:clamp(21px,1.8vw,28px)!important;
  font-weight:400!important;
  line-height:1.25!important;
  letter-spacing:-.025em!important;
}
body.page-wills-estates .wills-video-panel,
body.page-wills-estates-lawyers .wills-video-panel{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  min-width:0!important;
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  margin-top:6px!important;
  background:var(--navy)!important;
  border:1px solid rgba(31,58,93,.18)!important;
  box-shadow:0 20px 44px rgba(31,58,93,.14)!important;
  padding:18px!important;
  overflow:hidden!important;
}
body.page-wills-estates .wills-video-panel:before,
body.page-wills-estates-lawyers .wills-video-panel:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;height:7px!important;
  background:linear-gradient(90deg,var(--sky),var(--green),var(--yellow))!important;
  z-index:2!important;
}
body.page-wills-estates .wills-video-label,
body.page-wills-estates-lawyers .wills-video-label{
  margin-top:8px!important;
  color:rgba(255,255,255,.74)!important;
  font-family:var(--font)!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.page-wills-estates .wills-video-title,
body.page-wills-estates-lawyers .wills-video-title{
  margin:0 0 8px!important;
  color:#fff!important;
  font-family:var(--font)!important;
  font-size:clamp(26px,2.6vw,38px)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
}
body.page-wills-estates .wills-video-frame,
body.page-wills-estates-lawyers .wills-video-frame{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  background:#10243c!important;
  border:1px solid rgba(255,255,255,.22)!important;
  overflow:hidden!important;
}
body.page-wills-estates .wills-video-frame iframe,
body.page-wills-estates-lawyers .wills-video-frame iframe{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#10243c!important;
}
body.page-wills-estates .wills-video-fallback,
body.page-wills-estates-lawyers .wills-video-fallback{
  margin:0!important;
  color:rgba(255,255,255,.76)!important;
  font-family:var(--font)!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:300!important;
}
body.page-wills-estates .wills-video-fallback a,
body.page-wills-estates-lawyers .wills-video-fallback a{
  color:#fff!important;
  font-weight:500!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(255,255,255,.6)!important;
}
body.page-wills-estates .wills-video-fallback a:hover,
body.page-wills-estates-lawyers .wills-video-fallback a:hover{border-color:#fff!important;}
@media(max-width:980px){
  body.page-wills-estates .wills-intro-video-card,
  body.page-wills-estates-lawyers .wills-intro-video-card{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  body.page-wills-estates .content-stack .content-block:first-child .section-card,
  body.page-wills-estates-lawyers .content-stack .content-block:first-child .section-card{padding:28px 22px!important;}
  body.page-wills-estates .wills-video-panel,
  body.page-wills-estates-lawyers .wills-video-panel{padding:14px!important;}
}


/* v37 targeted update: Wills title case, equal card widths, and Conveyancing video/hero overlay */
body.page-wills-estates .content-stack,
body.page-wills-estates-lawyers .content-stack,
body.page-conveyancing .content-stack{
  max-width:var(--content)!important;
}
body.page-wills-estates .content-block,
body.page-wills-estates-lawyers .content-block,
body.page-conveyancing .content-block,
body.page-wills-estates .block-inner,
body.page-wills-estates-lawyers .block-inner,
body.page-conveyancing .block-inner{
  width:100%!important;
}
body.page-wills-estates .content-block .section-card,
body.page-wills-estates-lawyers .content-block .section-card,
body.page-conveyancing .content-block .section-card,
body.page-wills-estates .content-block.long-copy .section-card,
body.page-wills-estates-lawyers .content-block.long-copy .section-card,
body.page-conveyancing .content-block.long-copy .section-card,
body.page-wills-estates .content-block.has-dense-table .section-card,
body.page-wills-estates-lawyers .content-block.has-dense-table .section-card,
body.page-conveyancing .content-block.has-dense-table .section-card{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.page-conveyancing .page-hero:before{
  inset:0!important;
  background:linear-gradient(90deg,
    rgba(37,58,91,.70) 0%,
    rgba(37,58,91,.48) 35%,
    rgba(37,58,91,.22) 65%,
    rgba(37,58,91,0) 100%)!important;
}
@media(max-width:760px){
  body.page-conveyancing .page-hero:before{
    background:linear-gradient(90deg,
      rgba(37,58,91,.70) 0%,
      rgba(37,58,91,.42) 58%,
      rgba(37,58,91,0) 100%)!important;
  }
}
body.page-conveyancing .wills-intro-video-card{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr)!important;
  gap:clamp(30px,4.4vw,56px)!important;
  align-items:start!important;
}
body.page-conveyancing .wills-intro-copy{min-width:0!important;}
body.page-conveyancing .content-stack .content-block:first-child .section-card{
  padding:clamp(30px,4.4vw,58px)!important;
  overflow:hidden!important;
}
body.page-conveyancing .wills-video-panel{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  min-width:0!important;
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  margin-top:6px!important;
  background:var(--navy)!important;
  border:1px solid rgba(31,58,93,.18)!important;
  box-shadow:0 20px 44px rgba(31,58,93,.14)!important;
  padding:18px!important;
  overflow:hidden!important;
}
body.page-conveyancing .wills-video-panel:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;height:7px!important;
  background:linear-gradient(90deg,var(--yellow),var(--sky),var(--green))!important;
  z-index:2!important;
}
body.page-conveyancing .wills-video-label{
  margin-top:8px!important;
  color:rgba(255,255,255,.74)!important;
  font-family:var(--font)!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.page-conveyancing .wills-video-title{
  margin:0 0 8px!important;
  color:#fff!important;
  font-family:var(--font)!important;
  font-size:clamp(26px,2.6vw,38px)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
}
body.page-conveyancing .wills-video-frame{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  background:#10243c!important;
  border:1px solid rgba(255,255,255,.22)!important;
  overflow:hidden!important;
}
body.page-conveyancing .wills-video-frame iframe{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#10243c!important;
}
body.page-conveyancing .wills-video-fallback{
  margin:0!important;
  color:rgba(255,255,255,.76)!important;
  font-family:var(--font)!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:300!important;
}
body.page-conveyancing .wills-video-fallback a{
  color:#fff!important;
  font-weight:500!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(255,255,255,.6)!important;
}
body.page-conveyancing .wills-video-fallback a:hover{border-color:#fff!important;}
@media(max-width:980px){
  body.page-conveyancing .wills-intro-video-card{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  body.page-conveyancing .content-stack .content-block:first-child .section-card{padding:28px 22px!important;}
  body.page-conveyancing .wills-video-panel{padding:14px!important;}
}

/* v38 targeted update: Conveyancing and Property Law cards, heading typography and supplied imagery */
body.page-conveyancing .content-stack,
body.page-property-law-conveyancing .content-stack{
  max-width:var(--content)!important;
}
body.page-conveyancing .content-block,
body.page-property-law-conveyancing .content-block,
body.page-conveyancing .block-inner,
body.page-property-law-conveyancing .block-inner{
  width:100%!important;
}
body.page-conveyancing .content-block .section-card,
body.page-property-law-conveyancing .content-block .section-card,
body.page-conveyancing .content-block.long-copy .section-card,
body.page-property-law-conveyancing .content-block.long-copy .section-card,
body.page-conveyancing .content-block.has-dense-table .section-card,
body.page-property-law-conveyancing .content-block.has-dense-table .section-card{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.page-conveyancing .service-card-heading,
body.page-property-law-conveyancing .service-card-heading,
body.page-conveyancing .legacy-content h2.service-card-heading,
body.page-property-law-conveyancing .legacy-content h2.service-card-heading{
  display:block!important;
  margin:0 0 24px!important;
  color:var(--navy)!important;
  font-family:var(--font)!important;
  font-size:clamp(34px,3.4vw,52px)!important;
  line-height:1.06!important;
  font-weight:700!important;
  letter-spacing:-.055em!important;
}
body.page-conveyancing .service-card-heading.faq-heading,
body.page-property-law-conveyancing .service-card-heading.faq-heading{
  max-width:920px!important;
  margin-bottom:28px!important;
}
body.page-conveyancing .trust-heading,
body.page-property-law-conveyancing .trust-heading{
  max-width:820px!important;
}
body.page-conveyancing .content-block:nth-of-type(3) table.twoColumn img,
body.page-property-law-conveyancing .content-block:nth-of-type(3) table.twoColumn img{
  width:100%!important;
  height:100%!important;
  min-height:360px!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:grayscale(100%) contrast(1.03)!important;
  background:#fff!important;
}
body.page-conveyancing .content-block:nth-of-type(3) table.twoColumn > tbody > tr > td:first-child,
body.page-property-law-conveyancing .content-block:nth-of-type(3) table.twoColumn > tbody > tr > td:first-child{
  min-height:360px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(31,58,93,.12)!important;
}
body.page-conveyancing .content-block:nth-of-type(5) table.twoColumn img,
body.page-property-law-conveyancing .content-block:nth-of-type(5) table.twoColumn img{
  width:100%!important;
  height:100%!important;
  min-height:320px!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:grayscale(100%) contrast(1.02)!important;
  background:#fff!important;
}
body.page-conveyancing .content-block:nth-of-type(5) table.twoColumn > tbody > tr,
body.page-property-law-conveyancing .content-block:nth-of-type(5) table.twoColumn > tbody > tr{
  align-items:stretch!important;
}
body.page-conveyancing .content-block:nth-of-type(5) table.twoColumn > tbody > tr > td:nth-child(2),
body.page-property-law-conveyancing .content-block:nth-of-type(5) table.twoColumn > tbody > tr > td:nth-child(2){
  overflow:hidden!important;
  border:1px solid rgba(31,58,93,.12)!important;
  background:#fff!important;
}
@media(max-width:760px){
  body.page-conveyancing .service-card-heading,
  body.page-property-law-conveyancing .service-card-heading,
  body.page-conveyancing .legacy-content h2.service-card-heading,
  body.page-property-law-conveyancing .legacy-content h2.service-card-heading{
    font-size:clamp(31px,8vw,40px)!important;
    margin-bottom:18px!important;
  }
  body.page-conveyancing .content-block:nth-of-type(3) table.twoColumn img,
  body.page-property-law-conveyancing .content-block:nth-of-type(3) table.twoColumn img,
  body.page-conveyancing .content-block:nth-of-type(5) table.twoColumn img,
  body.page-property-law-conveyancing .content-block:nth-of-type(5) table.twoColumn img{
    min-height:250px!important;
  }
  body.page-conveyancing .content-block:nth-of-type(3) table.twoColumn > tbody > tr > td:first-child,
  body.page-property-law-conveyancing .content-block:nth-of-type(3) table.twoColumn > tbody > tr > td:first-child{
    min-height:250px!important;
  }
}


/* v39 targeted update: videos on Planning & Environment / Property Law first cards + Forms hero image */
body.page-forms-helpful-links .page-hero{
  background-image:url('../image/goodlaw-hero-forms-bag-v39.png')!important;
  background-position:center center!important;
}
body.page-forms-helpful-links .page-hero:before{
  inset:0!important;
  background:linear-gradient(90deg,
    rgba(254,195,85,.70) 0%,
    rgba(254,195,85,.48) 35%,
    rgba(254,195,85,.22) 65%,
    rgba(254,195,85,0) 100%)!important;
}
@media(max-width:760px){
  body.page-forms-helpful-links .page-hero:before{
    background:linear-gradient(90deg,
      rgba(254,195,85,.70) 0%,
      rgba(254,195,85,.42) 58%,
      rgba(254,195,85,0) 100%)!important;
  }
}

body.page-planning-environment-law .content-stack,
body.page-property-law-conveyancing .content-stack{
  max-width:var(--content)!important;
}
body.page-planning-environment-law .content-block,
body.page-property-law-conveyancing .content-block,
body.page-planning-environment-law .block-inner,
body.page-property-law-conveyancing .block-inner{
  width:100%!important;
}
body.page-planning-environment-law .content-block .section-card,
body.page-property-law-conveyancing .content-block .section-card,
body.page-planning-environment-law .content-block.long-copy .section-card,
body.page-property-law-conveyancing .content-block.long-copy .section-card,
body.page-planning-environment-law .content-block.has-dense-table .section-card,
body.page-property-law-conveyancing .content-block.has-dense-table .section-card{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.page-planning-environment-law .content-stack .content-block:first-child .section-card,
body.page-property-law-conveyancing .content-stack .content-block:first-child .section-card{
  padding:clamp(30px,4.4vw,58px)!important;
  overflow:hidden!important;
}
body.page-planning-environment-law .service-intro-video-card,
body.page-property-law-conveyancing .service-intro-video-card{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr)!important;
  gap:clamp(30px,4.4vw,56px)!important;
  align-items:start!important;
}
body.page-planning-environment-law .service-intro-copy,
body.page-property-law-conveyancing .service-intro-copy{
  min-width:0!important;
}
body.page-planning-environment-law .service-intro-copy h2,
body.page-property-law-conveyancing .service-intro-copy h2{
  margin:0 0 18px!important;
  max-width:760px!important;
  color:var(--navy)!important;
  font-family:var(--font)!important;
  font-size:clamp(36px,3.9vw,58px)!important;
  font-weight:700!important;
  line-height:1.04!important;
  letter-spacing:-.056em!important;
  text-wrap:balance!important;
}
body.page-planning-environment-law .service-intro-copy h3,
body.page-property-law-conveyancing .service-intro-copy h3{
  margin:24px 0 16px!important;
  color:var(--navy)!important;
  font-family:var(--font)!important;
  font-size:clamp(24px,2.2vw,34px)!important;
  font-weight:400!important;
  line-height:1.18!important;
  letter-spacing:-.032em!important;
}
body.page-planning-environment-law .service-intro-video-panel,
body.page-property-law-conveyancing .service-intro-video-panel{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  min-width:0!important;
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  margin-top:6px!important;
  background:var(--navy)!important;
  border:1px solid rgba(31,58,93,.18)!important;
  box-shadow:0 20px 44px rgba(31,58,93,.14)!important;
  padding:18px!important;
  overflow:hidden!important;
}
body.page-planning-environment-law .service-intro-video-panel:before,
body.page-property-law-conveyancing .service-intro-video-panel:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;height:7px!important;
  z-index:2!important;
}
body.page-planning-environment-law .service-intro-video-panel:before{
  background:linear-gradient(90deg,var(--green),var(--sky),var(--yellow))!important;
}
body.page-property-law-conveyancing .service-intro-video-panel:before{
  background:linear-gradient(90deg,var(--yellow),var(--sky),var(--green))!important;
}
body.page-planning-environment-law .service-intro-video-panel .wills-video-label,
body.page-property-law-conveyancing .service-intro-video-panel .wills-video-label{
  margin-top:8px!important;
  color:rgba(255,255,255,.74)!important;
  font-family:var(--font)!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.page-planning-environment-law .service-intro-video-panel .wills-video-title,
body.page-property-law-conveyancing .service-intro-video-panel .wills-video-title{
  margin:0 0 8px!important;
  color:#fff!important;
  font-family:var(--font)!important;
  font-size:clamp(25px,2.45vw,36px)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
}
body.page-planning-environment-law .service-intro-video-panel .wills-video-frame,
body.page-property-law-conveyancing .service-intro-video-panel .wills-video-frame{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  background:#10243c!important;
  border:1px solid rgba(255,255,255,.22)!important;
  overflow:hidden!important;
}
body.page-planning-environment-law .service-intro-video-panel .wills-video-frame iframe,
body.page-property-law-conveyancing .service-intro-video-panel .wills-video-frame iframe{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#10243c!important;
}
body.page-planning-environment-law .service-intro-video-panel .wills-video-fallback,
body.page-property-law-conveyancing .service-intro-video-panel .wills-video-fallback{
  margin:0!important;
  color:rgba(255,255,255,.76)!important;
  font-family:var(--font)!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:300!important;
}
body.page-planning-environment-law .service-intro-video-panel .wills-video-fallback a,
body.page-property-law-conveyancing .service-intro-video-panel .wills-video-fallback a{
  color:#fff!important;
  font-weight:500!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(255,255,255,.6)!important;
}
body.page-planning-environment-law .service-intro-video-panel .wills-video-fallback a:hover,
body.page-property-law-conveyancing .service-intro-video-panel .wills-video-fallback a:hover{border-color:#fff!important;}
@media(max-width:980px){
  body.page-planning-environment-law .service-intro-video-card,
  body.page-property-law-conveyancing .service-intro-video-card{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  body.page-planning-environment-law .content-stack .content-block:first-child .section-card,
  body.page-property-law-conveyancing .content-stack .content-block:first-child .section-card{padding:28px 22px!important;}
  body.page-planning-environment-law .service-intro-video-panel,
  body.page-property-law-conveyancing .service-intro-video-panel{padding:14px!important;}
}

/* v40 header menu polish: reliable hover/focus dropdowns with refined interaction */
@media (min-width:1041px){
  .site-header{overflow:visible!important;}
  .site-header .header-inner{overflow:visible!important;}
  .site-header .primary-nav{position:relative!important;overflow:visible!important;z-index:1200!important;}
  .site-header .nav-list{overflow:visible!important;}
  .site-header .nav-item{position:relative!important;}
  .site-header .nav-item > a{
    transition:color .18s ease!important;
    outline-offset:7px!important;
  }
  .site-header .nav-item.has-dropdown > a{cursor:default;}
  .site-header .nav-item.has-dropdown:hover > a,
  .site-header .nav-item.has-dropdown:focus-within > a,
  .site-header .nav-item.has-dropdown.is-dropdown-open > a{
    color:var(--navy-dark)!important;
  }
  .site-header .nav-item.has-dropdown:hover > a:after,
  .site-header .nav-item.has-dropdown:focus-within > a:after,
  .site-header .nav-item.has-dropdown.is-dropdown-open > a:after{
    transform:scaleX(1)!important;
  }
  .site-header .nav-item.has-dropdown > a .chevron{
    display:inline-block!important;
    transition:transform .18s ease,color .18s ease!important;
    transform-origin:center!important;
  }
  .site-header .nav-item.has-dropdown:hover > a .chevron,
  .site-header .nav-item.has-dropdown:focus-within > a .chevron,
  .site-header .nav-item.has-dropdown.is-dropdown-open > a .chevron{
    transform:rotate(180deg) translateY(1px)!important;
    color:var(--navy)!important;
  }

  /* invisible hover bridge prevents the dropdown from closing while moving the mouse */
  .site-header .nav-item.has-dropdown::before{
    content:"";
    position:absolute;
    left:-22px;
    right:-22px;
    top:100%;
    height:18px;
    display:block;
    pointer-events:auto;
  }

  .site-header .dropdown{
    top:calc(100% + 2px)!important;
    left:50%!important;
    width:max-content!important;
    min-width:300px!important;
    max-width:min(430px, calc(100vw - 48px))!important;
    padding:10px!important;
    background:#FFFDF8!important;
    border:1px solid rgba(31,58,93,.16)!important;
    border-top:0!important;
    box-shadow:0 24px 58px rgba(31,58,93,.18),0 2px 0 rgba(255,255,255,.86) inset!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(-50%,8px,0)!important;
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s!important;
    z-index:1400!important;
  }
  .site-header .dropdown::before{
    content:"";
    position:absolute;
    left:-1px;
    right:-1px;
    top:0;
    height:5px;
    background:linear-gradient(90deg,var(--yellow),var(--green),var(--sky));
  }
  .site-header .nav-item.has-dropdown:hover > .dropdown,
  .site-header .nav-item.has-dropdown:focus-within > .dropdown,
  .site-header .nav-item.has-dropdown.is-dropdown-open > .dropdown{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(-50%,0,0)!important;
    transition-delay:0s!important;
  }
  .site-header .dropdown a{
    position:relative!important;
    display:block!important;
    padding:15px 18px 15px 22px!important;
    border:0!important;
    border-bottom:1px solid rgba(31,58,93,.08)!important;
    background:transparent!important;
    color:var(--navy)!important;
    font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:400!important;
    letter-spacing:-.01em!important;
    white-space:normal!important;
    transition:background-color .16s ease,color .16s ease,padding-left .16s ease!important;
  }
  .site-header .dropdown a:last-child{border-bottom:0!important;}
  .site-header .dropdown a::before{
    content:"";
    position:absolute;
    left:8px;
    top:15px;
    bottom:15px;
    width:3px;
    background:var(--accent);
    opacity:0;
    transition:opacity .16s ease,background .16s ease!important;
  }
  .site-header .dropdown a:hover,
  .site-header .dropdown a:focus-visible{
    background:#F2E8DD!important;
    color:var(--navy-dark)!important;
    padding-left:28px!important;
    outline:none!important;
  }
  .site-header .dropdown a:hover::before,
  .site-header .dropdown a:focus-visible::before{opacity:1;}

  /* edge protection for the two right-hand dropdowns */
  .site-header .nav-item:nth-last-child(-n+4) .dropdown{
    left:auto!important;
    right:0!important;
    transform:translate3d(0,8px,0)!important;
  }
  .site-header .nav-item:nth-last-child(-n+4):hover > .dropdown,
  .site-header .nav-item:nth-last-child(-n+4):focus-within > .dropdown,
  .site-header .nav-item:nth-last-child(-n+4).is-dropdown-open > .dropdown{
    transform:translate3d(0,0,0)!important;
  }
}

@media (max-width:1040px){
  .site-header .nav-item.has-dropdown::before{display:none!important;}
  .site-header .nav-item.has-dropdown > a .chevron{
    margin-left:auto!important;
    transition:transform .18s ease!important;
  }
  .site-header .nav-item.has-dropdown.is-expanded > a .chevron{transform:rotate(180deg)!important;}
  .site-header .dropdown{
    position:static!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    display:none!important;
    padding:6px 0!important;
    margin:0!important;
    background:#FFFDF8!important;
    border:0!important;
    border-bottom:1px solid rgba(31,58,93,.10)!important;
    box-shadow:none!important;
  }
  .site-header .nav-item.has-dropdown.is-expanded > .dropdown{display:block!important;}
  .site-header .dropdown::before{display:none!important;}
  .site-header .dropdown a{
    display:block!important;
    padding:12px 28px 12px 38px!important;
    border:0!important;
    color:var(--navy)!important;
    font-size:14px!important;
    font-weight:400!important;
    background:transparent!important;
  }
  .site-header .dropdown a:hover,
  .site-header .dropdown a:focus-visible{background:#F2E8DD!important;}
}

/* v41 targeted hero image/overlay update: Forms resources and related guide pages */
body.page-forms-helpful-links .page-hero,
body.page-buyers-residential .page-hero,
body.page-sellers-residential .page-hero,
body.page-commercial-conveyancing .page-hero,
body.page-real-estate-agents .page-hero,
body.page-privacy-policy .page-hero{
  background-image:url('../image/goodlaw-hero-forms-bag-v41.png')!important;
  background-position:center center!important;
  background-size:cover!important;
}
body.page-forms-helpful-links .page-hero:before,
body.page-buyers-residential .page-hero:before,
body.page-sellers-residential .page-hero:before,
body.page-commercial-conveyancing .page-hero:before,
body.page-real-estate-agents .page-hero:before,
body.page-privacy-policy .page-hero:before{
  inset:0!important;
  background:linear-gradient(90deg,
    rgba(31,58,93,.70) 0%,
    rgba(31,58,93,.48) 35%,
    rgba(31,58,93,.22) 65%,
    rgba(31,58,93,0) 100%)!important;
}
@media(max-width:760px){
  body.page-forms-helpful-links .page-hero:before,
  body.page-buyers-residential .page-hero:before,
  body.page-sellers-residential .page-hero:before,
  body.page-commercial-conveyancing .page-hero:before,
  body.page-real-estate-agents .page-hero:before,
  body.page-privacy-policy .page-hero:before{
    background:linear-gradient(90deg,
      rgba(31,58,93,.70) 0%,
      rgba(31,58,93,.44) 58%,
      rgba(31,58,93,0) 100%)!important;
  }
}

/* v41 robustness: use the actual overlay element for the forms-family hero overlay. */
body.page-forms-helpful-links .page-hero > .page-hero-overlay,
body.page-buyers-residential .page-hero > .page-hero-overlay,
body.page-sellers-residential .page-hero > .page-hero-overlay,
body.page-commercial-conveyancing .page-hero > .page-hero-overlay,
body.page-real-estate-agents .page-hero > .page-hero-overlay,
body.page-privacy-policy .page-hero > .page-hero-overlay{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(31,58,93,.70) 0%,
    rgba(31,58,93,.48) 35%,
    rgba(31,58,93,.22) 65%,
    rgba(31,58,93,0) 100%)!important;
}
body.page-forms-helpful-links .page-hero > .page-hero-inner,
body.page-buyers-residential .page-hero > .page-hero-inner,
body.page-sellers-residential .page-hero > .page-hero-inner,
body.page-commercial-conveyancing .page-hero > .page-hero-inner,
body.page-real-estate-agents .page-hero > .page-hero-inner,
body.page-privacy-policy .page-hero > .page-hero-inner{
  position:relative!important;
  z-index:3!important;
}
@media(max-width:760px){
  body.page-forms-helpful-links .page-hero > .page-hero-overlay,
  body.page-buyers-residential .page-hero > .page-hero-overlay,
  body.page-sellers-residential .page-hero > .page-hero-overlay,
  body.page-commercial-conveyancing .page-hero > .page-hero-overlay,
  body.page-real-estate-agents .page-hero > .page-hero-overlay,
  body.page-privacy-policy .page-hero > .page-hero-overlay{
    background:linear-gradient(90deg,
      rgba(31,58,93,.70) 0%,
      rgba(31,58,93,.42) 58%,
      rgba(31,58,93,0) 100%)!important;
  }
}

/* v41 final overlay cleanup: keep one navy gradient layer only and remove vertical hero strip */
body.page-forms-helpful-links .page-hero > .page-hero-overlay,
body.page-buyers-residential .page-hero > .page-hero-overlay,
body.page-sellers-residential .page-hero > .page-hero-overlay,
body.page-commercial-conveyancing .page-hero > .page-hero-overlay,
body.page-real-estate-agents .page-hero > .page-hero-overlay,
body.page-privacy-policy .page-hero > .page-hero-overlay{
  display:none!important;
}
body.page-forms-helpful-links .page-hero:after,
body.page-buyers-residential .page-hero:after,
body.page-sellers-residential .page-hero:after,
body.page-commercial-conveyancing .page-hero:after,
body.page-real-estate-agents .page-hero:after,
body.page-privacy-policy .page-hero:after{
  display:none!important;
  content:none!important;
}

/* v46 sellers residential polish: equal-width cards and single, refined mortgage image */
body.page-sellers-residential .content-stack > .content-block,
body.page-sellers-residential .content-stack > .content-block .block-inner,
body.page-sellers-residential .content-stack > .content-block .section-card{
  width:100%!important;
  max-width:none!important;
}
body.page-sellers-residential .content-stack > .content-block.has-dense-table .section-card{
  max-width:none!important;
  margin:0!important;
}
body.page-sellers-residential .content-stack > .content-block:nth-child(3) .section-card{
  padding:0!important;
}
body.page-sellers-residential .content-stack > .content-block:nth-child(3) .section-card:after{
  display:none!important;
}
body.page-sellers-residential .mortgage-card-layout{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);
  align-items:stretch;
  min-height:360px;
  width:100%;
}
body.page-sellers-residential .mortgage-card-copy{
  padding:clamp(42px,5.2vw,76px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.page-sellers-residential .mortgage-card-copy h3{
  margin-top:0!important;
  max-width:680px;
}
body.page-sellers-residential .mortgage-card-copy p{
  max-width:660px;
  margin-bottom:0!important;
}
body.page-sellers-residential .mortgage-card-image{
  margin:0!important;
  min-height:360px;
  background:#f7f3ec;
  border-left:1px solid rgba(31,58,93,.14);
  overflow:hidden;
}
body.page-sellers-residential .mortgage-card-image img{
  width:100%!important;
  height:100%!important;
  min-height:360px!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:grayscale(100%) contrast(1.03);
}
@media(max-width:900px){
  body.page-sellers-residential .mortgage-card-layout{
    grid-template-columns:1fr;
  }
  body.page-sellers-residential .mortgage-card-image{
    border-left:0;
    border-top:1px solid rgba(31,58,93,.14);
    min-height:260px;
  }
  body.page-sellers-residential .mortgage-card-image img{
    min-height:260px!important;
  }
}

/* v47 sellers residential: place short-term accommodation image inside the card */
body.page-sellers-residential .content-stack > .content-block.shortstay-card-block,
body.page-sellers-residential .content-stack > .content-block.shortstay-card-block .block-inner,
body.page-sellers-residential .content-stack > .content-block.shortstay-card-block .section-card{
  width:100%!important;
  max-width:none!important;
}
body.page-sellers-residential .seller-shortstay-card{
  padding:0!important;
  overflow:hidden;
}
body.page-sellers-residential .seller-shortstay-card:after{
  display:none!important;
  content:none!important;
}
body.page-sellers-residential .shortstay-card-layout{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);
  align-items:stretch;
  min-height:390px;
  width:100%;
}
body.page-sellers-residential .shortstay-card-copy{
  padding:clamp(42px,5.2vw,76px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.page-sellers-residential .shortstay-card-copy h3{
  margin-top:0!important;
  max-width:760px;
  font-size:clamp(1.75rem,2.4vw,2.7rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
body.page-sellers-residential .shortstay-card-copy p{
  max-width:760px;
}
body.page-sellers-residential .shortstay-card-copy p:last-child{
  margin-bottom:0!important;
}
body.page-sellers-residential .shortstay-card-image{
  margin:0!important;
  min-height:390px;
  background:#f7f3ec;
  border-left:1px solid rgba(31,58,93,.14);
  overflow:hidden;
  position:relative;
}
body.page-sellers-residential .shortstay-card-image:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:8px;
  background:linear-gradient(180deg,#AAD268 0%,#FEC355 55%,#7FD0DD 100%);
  z-index:2;
}
body.page-sellers-residential .shortstay-card-image img{
  display:block;
  width:100%!important;
  height:100%!important;
  min-height:390px!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:grayscale(100%) contrast(1.04);
}
@media(max-width:900px){
  body.page-sellers-residential .shortstay-card-layout{
    grid-template-columns:1fr;
    min-height:0;
  }
  body.page-sellers-residential .shortstay-card-image{
    border-left:0;
    border-top:1px solid rgba(31,58,93,.14);
    min-height:260px;
  }
  body.page-sellers-residential .shortstay-card-image:before{
    width:100%;
    height:6px;
    right:0;
    bottom:auto;
    background:linear-gradient(90deg,#AAD268 0%,#FEC355 55%,#7FD0DD 100%);
  }
  body.page-sellers-residential .shortstay-card-image img{
    min-height:260px!important;
  }
}


/* v48 Latest News filter refinements */
.news-filter-panel{
  margin:0 0 34px;
  padding:30px 32px 28px;
  background:#fff;
  border:1px solid rgba(31,58,93,.16);
  border-left:8px solid var(--sky);
  box-shadow:0 22px 55px rgba(31,58,93,.08);
}
.news-filter-heading{display:grid;gap:7px;margin-bottom:23px;}
.news-filter-kicker{
  color:var(--navy);
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.news-filter-heading h2{
  margin:0;
  color:var(--navy);
  font-size:clamp(26px,2.4vw,38px);
  font-weight:700;
  letter-spacing:-.04em;
  line-height:1.05;
}
.news-filter-controls{display:grid;gap:18px;}
.news-filter-group{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding-top:16px;
  border-top:1px solid rgba(31,58,93,.12);
}
.news-filter-label{
  flex:0 0 86px;
  color:var(--grey);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.news-filter-btn{
  appearance:none;
  border:1px solid rgba(31,58,93,.22);
  border-radius:0;
  background:#fff;
  color:var(--navy);
  min-height:42px;
  padding:0 16px;
  font-family:Poppins,system-ui,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.news-filter-btn:hover,.news-filter-btn:focus-visible{
  background:var(--cream);
  border-color:var(--navy);
  box-shadow:inset 0 -3px 0 var(--sky);
  outline:none;
}
.news-filter-btn.is-active{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
  box-shadow:inset 0 -4px 0 var(--yellow);
}
.news-filter-btn[data-news-category="property law"].is-active{box-shadow:inset 0 -4px 0 var(--yellow);}
.news-filter-btn[data-news-category="wills and estates"].is-active{box-shadow:inset 0 -4px 0 var(--sky);}
.news-filter-btn[data-news-category="planning & environment"].is-active{box-shadow:inset 0 -4px 0 var(--green);}
.news-filter-empty{
  margin:22px 0 0;
  padding:18px 20px;
  background:var(--cream);
  color:var(--navy);
  font-weight:400;
  border-left:5px solid var(--yellow);
}
.news-post-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 12px;
}
.news-post-meta span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  background:var(--cream);
  color:var(--navy);
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.blogPost[hidden]{display:none!important;}
@media (max-width:760px){
  .news-filter-panel{padding:24px 20px;border-left-width:6px;}
  .news-filter-label{flex:0 0 100%;}
  .news-filter-btn{flex:1 1 auto;min-width:140px;}
}

/* v49 Latest News filter alignment refinement
   Keep category filters aligned when they wrap onto a second row. */
.news-filter-group{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  align-items:start;
  column-gap:10px;
  row-gap:10px;
}
.news-filter-label{
  flex:initial;
  padding-top:13px;
  white-space:nowrap;
}
.news-filter-options{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  min-width:0;
}
.news-filter-options .news-filter-btn{
  flex:0 0 auto;
}
@media (max-width:760px){
  .news-filter-group{
    grid-template-columns:1fr;
    row-gap:12px;
  }
  .news-filter-label{
    padding-top:0;
  }
  .news-filter-options .news-filter-btn{
    flex:1 1 auto;
    min-width:140px;
  }
}

/* v50 Latest News filter hover refinement
   Plain navy hover/active buttons with no bottom accent stripe. */
.news-filter-btn:hover,
.news-filter-btn:focus-visible{
  background:var(--navy)!important;
  color:#fff!important;
  border-color:var(--navy)!important;
  box-shadow:none!important;
  transform:none!important;
  outline:none!important;
}
.news-filter-btn.is-active,
.news-filter-btn.is-active:hover,
.news-filter-btn.is-active:focus-visible,
.news-filter-btn[data-news-category="property law"].is-active,
.news-filter-btn[data-news-category="wills and estates"].is-active,
.news-filter-btn[data-news-category="planning & environment"].is-active{
  background:var(--navy)!important;
  color:#fff!important;
  border-color:var(--navy)!important;
  box-shadow:none!important;
}

/* v51 Contact page photo-led refinement */
body.page-contact .contact-page-card{
  padding:0!important;
  overflow:hidden!important;
  background:#fffdf8;
}
body.page-contact .contact-page-card:before{
  display:none!important;
  content:none!important;
}
body.page-contact .contact-page-grid{
  display:grid;
  grid-template-columns:minmax(420px,.95fr) minmax(420px,1.05fr);
  align-items:stretch;
  min-height:650px;
}
body.page-contact .contact-info-panel{
  display:grid;
  grid-template-rows:330px 1fr;
  min-width:0;
  background:#fff;
  border-right:1px solid rgba(31,58,93,.14);
}
body.page-contact .contact-office-image{
  margin:0!important;
  position:relative;
  overflow:hidden;
  background:var(--cream);
  min-height:330px;
}
body.page-contact .contact-office-image:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(31,58,93,.30),rgba(31,58,93,.05));
  z-index:1;
  pointer-events:none;
}
body.page-contact .contact-office-image:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:7px;
  background:linear-gradient(90deg,var(--green),var(--yellow),var(--sky));
  z-index:2;
}
body.page-contact .contact-office-image img{
  display:block;
  width:100%!important;
  height:100%!important;
  min-height:330px!important;
  object-fit:cover!important;
  object-position:center 58%!important;
  filter:grayscale(100%) contrast(1.04);
}
body.page-contact .contact-info-copy{
  padding:clamp(38px,4.5vw,64px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.page-contact .contact-kicker{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:var(--navy);
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin:0 0 18px;
}
body.page-contact .contact-kicker:before{
  content:"";
  width:54px;
  height:5px;
  background:linear-gradient(90deg,var(--yellow),var(--green),var(--sky));
}
body.page-contact .contact-info-copy h2{
  margin:0 0 18px!important;
  color:var(--navy)!important;
  font-size:clamp(40px,4.6vw,64px)!important;
  line-height:.98!important;
  letter-spacing:-.06em!important;
  font-weight:700!important;
}
body.page-contact .contact-info-copy p{
  max-width:610px;
  color:var(--grey)!important;
  font-weight:300!important;
  font-size:16px;
  line-height:1.75;
}
body.page-contact .contact-detail-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:20px;
}
body.page-contact .contact-detail-item{
  display:grid;
  gap:5px;
  padding:16px 18px;
  background:#fffdf8;
  border:1px solid rgba(31,58,93,.14);
  text-decoration:none!important;
  box-shadow:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
body.page-contact a.contact-detail-item:hover{
  background:#fff;
  border-color:rgba(31,58,93,.28);
  transform:translateX(3px);
}
body.page-contact .contact-detail-label{
  color:var(--grey);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.page-contact .contact-detail-item strong{
  color:var(--navy);
  font-size:16px;
  font-weight:700;
  line-height:1.35;
}
body.page-contact .contact-form-panel{
  display:flex;
  align-items:center;
  padding:clamp(42px,5vw,72px);
  background:
    linear-gradient(135deg,rgba(242,232,221,.72),rgba(255,253,248,.92)),
    radial-gradient(circle at 100% 0%,rgba(127,208,221,.22),transparent 34%);
}
body.page-contact .contact-form-panel form{
  width:100%;
  max-width:620px;
  margin:0 auto;
}
body.page-contact .contact-form-panel .enquiryForm{
  border:0!important;
  box-shadow:0 28px 70px rgba(31,58,93,.13)!important;
  padding:clamp(30px,4vw,48px)!important;
  background:#fff!important;
  position:relative;
}
body.page-contact .contact-form-panel .enquiryForm:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:7px;
  background:linear-gradient(90deg,var(--sky),var(--green),var(--yellow));
}
body.page-contact .contact-form-panel .enqHeader{
  font-size:clamp(34px,3.6vw,48px)!important;
  margin-bottom:28px!important;
}
body.page-contact .contact-form-panel .enqRow input.button{
  background:var(--navy)!important;
  color:#fff!important;
  border-color:var(--navy)!important;
  padding-left:30px!important;
  padding-right:30px!important;
}
body.page-contact .contact-form-panel .enqRow input.button:hover{
  background:var(--yellow)!important;
  color:var(--navy)!important;
  border-color:var(--yellow)!important;
}
body.page-contact .contact-page-card .contact-services-row{
  margin:0!important;
  padding:clamp(34px,4vw,52px)!important;
  border-top:1px solid rgba(31,58,93,.14)!important;
  background:#fff;
}
@media(max-width:1080px){
  body.page-contact .contact-page-grid{
    grid-template-columns:1fr;
    min-height:0;
  }
  body.page-contact .contact-info-panel{
    border-right:0;
    border-bottom:1px solid rgba(31,58,93,.14);
  }
  body.page-contact .contact-form-panel form{
    max-width:none;
  }
}
@media(max-width:760px){
  body.page-contact .contact-info-panel{
    grid-template-rows:250px auto;
  }
  body.page-contact .contact-office-image,
  body.page-contact .contact-office-image img{
    min-height:250px!important;
  }
  body.page-contact .contact-info-copy,
  body.page-contact .contact-form-panel{
    padding:30px 22px;
  }
  body.page-contact .contact-detail-item{
    padding:14px 15px;
  }
  body.page-contact .contact-page-card .contact-services-row{
    padding:30px 22px!important;
  }
}

/* v51 polish: align contact form with top of contact card rather than floating low */
body.page-contact .contact-page-grid{min-height:0!important;}
body.page-contact .contact-form-panel{align-items:flex-start!important;}

/* v52 targeted polish: professional contact page, Clo role content update in HTML, and equal-width Buyers cards */
body.page-contact .content-stack{
  padding-top:clamp(58px,6vw,92px)!important;
}
body.page-contact .content-block:first-child .block-inner,
body.page-contact .content-block:nth-of-type(2) .block-inner{
  max-width:1220px!important;
}
body.page-contact .contact-page-card{
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(31,58,93,.14)!important;
  box-shadow:0 28px 76px rgba(31,58,93,.10)!important;
}
body.page-contact .contact-page-card:before,
body.page-contact .contact-page-card:after{
  display:none!important;
  content:none!important;
}
body.page-contact .contact-page-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.04fr) minmax(430px,.86fr)!important;
  align-items:stretch!important;
  min-height:0!important;
  background:#fff!important;
  border-bottom:1px solid rgba(31,58,93,.13)!important;
}
body.page-contact .contact-info-panel{
  display:grid!important;
  grid-template-rows:clamp(300px,28vw,390px) auto!important;
  border-right:1px solid rgba(31,58,93,.13)!important;
  border-bottom:0!important;
  background:#fff!important;
}
body.page-contact .contact-office-image{
  margin:0!important;
  min-height:clamp(300px,28vw,390px)!important;
  overflow:hidden!important;
  background:var(--cream)!important;
  position:relative!important;
}
body.page-contact .contact-office-image:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(90deg,rgba(31,58,93,.34),rgba(31,58,93,.08) 64%,rgba(31,58,93,0))!important;
  pointer-events:none!important;
}
body.page-contact .contact-office-image:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:6px!important;
  z-index:2!important;
  background:linear-gradient(90deg,var(--yellow),var(--green),var(--sky))!important;
}
body.page-contact .contact-office-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:clamp(300px,28vw,390px)!important;
  object-fit:cover!important;
  object-position:center 55%!important;
  filter:grayscale(100%) contrast(1.03)!important;
}
body.page-contact .contact-info-copy{
  padding:clamp(36px,4.2vw,58px)!important;
  display:block!important;
}
body.page-contact .contact-kicker{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0 0 18px!important;
  color:var(--navy)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
body.page-contact .contact-kicker:before{
  content:""!important;
  width:52px!important;
  height:5px!important;
  background:linear-gradient(90deg,var(--yellow),var(--green),var(--sky))!important;
}
body.page-contact .contact-info-copy h2{
  margin:0 0 16px!important;
  color:var(--navy)!important;
  font-size:clamp(36px,3.8vw,56px)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
  font-weight:700!important;
}
body.page-contact .contact-info-copy p{
  max-width:660px!important;
  margin:0 0 22px!important;
  color:var(--grey)!important;
  font-size:16px!important;
  line-height:1.72!important;
  font-weight:300!important;
}
body.page-contact .contact-detail-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:24px!important;
}
body.page-contact .contact-detail-item{
  min-height:94px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:6px!important;
  padding:18px 20px!important;
  background:#fffdf8!important;
  border:1px solid rgba(31,58,93,.16)!important;
  color:var(--navy)!important;
  text-decoration:none!important;
  box-shadow:0 10px 22px rgba(31,58,93,.04)!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}
body.page-contact a.contact-detail-item:hover,
body.page-contact a.contact-detail-item:focus-visible{
  background:#fff!important;
  border-color:rgba(31,58,93,.32)!important;
  transform:translateY(-2px)!important;
}
body.page-contact .contact-detail-label{
  color:var(--grey)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body.page-contact .contact-detail-item strong{
  color:var(--navy)!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
body.page-contact .contact-form-panel{
  display:flex!important;
  align-items:stretch!important;
  padding:clamp(38px,4.6vw,58px)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(127,208,221,.22),transparent 32%),
    linear-gradient(135deg,var(--navy),#253a5b)!important;
}
body.page-contact .contact-form-panel form{
  width:100%!important;
  max-width:560px!important;
  margin:0 auto!important;
  display:flex!important;
}
body.page-contact .contact-form-panel .enquiryForm{
  width:100%!important;
  margin:0!important;
  padding:clamp(30px,3.4vw,42px)!important;
  background:#fffdf8!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:none!important;
  position:relative!important;
}
body.page-contact .contact-form-panel .enquiryForm:before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  width:100%!important;
  height:6px!important;
  background:linear-gradient(90deg,var(--sky),var(--green),var(--yellow))!important;
}
body.page-contact .contact-form-panel .enqHeader{
  margin:0 0 24px!important;
  color:var(--navy)!important;
  font-size:clamp(32px,3vw,44px)!important;
  font-weight:700!important;
  letter-spacing:-.05em!important;
  line-height:1.06!important;
}
body.page-contact .contact-form-panel .enqRow{
  grid-template-columns:118px minmax(0,1fr)!important;
  gap:14px!important;
  margin-bottom:15px!important;
}
body.page-contact .contact-form-panel .enqLeft{
  color:var(--navy)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
}
body.page-contact .contact-form-panel .enqRight input,
body.page-contact .contact-form-panel .enqRight textarea,
body.page-contact .contact-form-panel .enquiryForm input[type="text"],
body.page-contact .contact-form-panel .enquiryForm textarea{
  min-height:48px!important;
  background:#fff!important;
  border:1px solid rgba(31,58,93,.24)!important;
}
body.page-contact .contact-form-panel .enqRight textarea,
body.page-contact .contact-form-panel .enquiryForm textarea{
  min-height:138px!important;
}
body.page-contact .contact-form-panel .enqRow input.button{
  min-width:150px!important;
  background:var(--yellow)!important;
  border-color:var(--yellow)!important;
  color:var(--navy)!important;
  font-weight:700!important;
  box-shadow:none!important;
}
body.page-contact .contact-form-panel .enqRow input.button:hover,
body.page-contact .contact-form-panel .enqRow input.button:focus-visible{
  background:var(--navy)!important;
  color:#fff!important;
  border-color:var(--navy)!important;
}
body.page-contact .contact-page-card .contact-services-row{
  margin:0!important;
  padding:clamp(34px,4vw,48px)!important;
  background:#fff!important;
  border-top:1px solid rgba(31,58,93,.13)!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
body.page-contact .contact-page-card .contact-services-row .butFrame{
  box-shadow:none!important;
  border-color:rgba(31,58,93,.16)!important;
}
body.page-contact .contact-page-card .contact-services-row .imageFrame{
  height:178px!important;
}
body.page-contact .contact-social-card{
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(31,58,93,.14)!important;
  box-shadow:0 18px 46px rgba(31,58,93,.075)!important;
}
body.page-contact .contact-social-card:before{
  display:none!important;
}
body.page-contact .contact-social-inner{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)!important;
}
body.page-contact .contact-social-copy{
  padding:clamp(34px,4vw,48px)!important;
  color:var(--navy)!important;
  background:#fffdf8!important;
  border-right:1px solid rgba(31,58,93,.13)!important;
}
body.page-contact .contact-social-copy:after{
  display:none!important;
}
body.page-contact .contact-social-copy h2{
  color:var(--navy)!important;
  font-size:clamp(30px,2.8vw,42px)!important;
  line-height:1.06!important;
  margin:0 0 10px!important;
}
body.page-contact .contact-social-copy p{
  color:var(--grey)!important;
  max-width:470px!important;
}
body.page-contact .contact-social-links{
  padding:clamp(28px,3.5vw,42px)!important;
  background:#fff!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
body.page-contact .contact-social-links .social-link{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:18px 16px!important;
  min-height:92px!important;
  background:#fffdf8!important;
  border:1px solid rgba(31,58,93,.16)!important;
  box-shadow:none!important;
  transform:none!important;
}
body.page-contact .contact-social-links .social-link:hover,
body.page-contact .contact-social-links .social-link:focus-visible{
  background:#fff!important;
  border-color:rgba(31,58,93,.32)!important;
  transform:translateY(-2px)!important;
}
body.page-contact .social-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  font-size:17px!important;
}
body.page-contact .social-text strong{
  font-size:15px!important;
}
body.page-contact .social-text small{
  font-size:12px!important;
}
@media(max-width:1120px){
  body.page-contact .contact-page-grid{grid-template-columns:1fr!important;}
  body.page-contact .contact-info-panel{border-right:0!important;border-bottom:1px solid rgba(31,58,93,.13)!important;}
  body.page-contact .contact-form-panel form{max-width:none!important;}
  body.page-contact .contact-social-inner{grid-template-columns:1fr!important;}
  body.page-contact .contact-social-copy{border-right:0!important;border-bottom:1px solid rgba(31,58,93,.13)!important;}
}
@media(max-width:860px){
  body.page-contact .contact-detail-list{grid-template-columns:1fr!important;}
  body.page-contact .contact-page-card .contact-services-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.page-contact .contact-social-links{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  body.page-contact .contact-info-panel{grid-template-rows:235px auto!important;}
  body.page-contact .contact-office-image,
  body.page-contact .contact-office-image img{min-height:235px!important;}
  body.page-contact .contact-info-copy,
  body.page-contact .contact-form-panel{padding:28px 20px!important;}
  body.page-contact .contact-form-panel .enqRow{grid-template-columns:1fr!important;gap:6px!important;}
  body.page-contact .contact-form-panel .enqRow input.button{grid-column:auto!important;width:100%!important;}
  body.page-contact .contact-page-card .contact-services-row{grid-template-columns:1fr!important;padding:28px 20px!important;}
  body.page-contact .contact-page-card .contact-services-row .imageFrame{height:210px!important;}
}

/* v52 Buyers Residential equal-width card system */
body.page-buyers-residential .content-stack{
  padding-left:18px!important;
  padding-right:18px!important;
}
body.page-buyers-residential .content-block .block-inner{
  width:min(1120px,100%)!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.page-buyers-residential .content-block.has-media .block-inner,
body.page-buyers-residential .content-block.has-media.media-right .block-inner,
body.page-buyers-residential .content-block.has-dense-table .block-inner{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:22px!important;
}
body.page-buyers-residential .section-card{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
body.page-buyers-residential .section-media{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-height:0!important;
}
body.page-buyers-residential .section-media img{
  width:100%!important;
  height:clamp(240px,28vw,340px)!important;
  min-height:0!important;
  object-fit:cover!important;
  display:block!important;
}
body.page-buyers-residential .content-block.has-dense-table .section-media{
  display:none!important;
}
body.page-buyers-residential .legacy-content table.twoColumn > tbody > tr,
body.page-buyers-residential .legacy-content table.moduleTable.twoColumn > tbody > tr{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
}
body.page-buyers-residential .legacy-content table.twoColumn > tbody > tr > td,
body.page-buyers-residential .legacy-content table.moduleTable.twoColumn > tbody > tr > td{
  display:block!important;
  width:auto!important;
}
@media(max-width:760px){
  body.page-buyers-residential .content-stack{padding-left:16px!important;padding-right:16px!important;}
  body.page-buyers-residential .legacy-content table.twoColumn > tbody > tr,
  body.page-buyers-residential .legacy-content table.moduleTable.twoColumn > tbody > tr{
    grid-template-columns:1fr!important;
  }
}

/* v53 Contact page: Google map section + darker Love working with us card */
body.page-contact .contact-map-block{
  margin-top:clamp(34px,4vw,58px)!important;
  margin-bottom:clamp(34px,4vw,58px)!important;
}
body.page-contact .contact-map-card{
  display:grid!important;
  grid-template-columns:minmax(320px,.48fr) minmax(0,.72fr)!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(31,58,93,.16)!important;
  border-top:8px solid var(--yellow)!important;
  background:#fff!important;
  box-shadow:0 22px 56px rgba(31,58,93,.10)!important;
}
body.page-contact .contact-map-card:before,
body.page-contact .contact-map-card:after{
  display:none!important;
  content:none!important;
}
body.page-contact .contact-map-copy{
  padding:clamp(34px,4vw,58px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:linear-gradient(180deg,#fffdf8 0%,#fff 100%)!important;
  border-right:1px solid rgba(31,58,93,.12)!important;
}
body.page-contact .contact-map-copy h2{
  margin:18px 0 16px!important;
  color:var(--navy)!important;
  font-size:clamp(34px,3.6vw,54px)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
  font-weight:700!important;
}
body.page-contact .contact-map-copy p{
  margin:0 0 24px!important;
  color:var(--grey)!important;
  max-width:520px!important;
  font-size:16px!important;
  line-height:1.65!important;
  font-weight:300!important;
}
body.page-contact .contact-map-directions{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  min-height:48px!important;
  padding:0 22px!important;
  background:var(--navy)!important;
  border:1px solid var(--navy)!important;
  color:#fff!important;
  font-family:var(--font)!important;
  font-size:12.5px!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
body.page-contact .contact-map-directions:hover,
body.page-contact .contact-map-directions:focus-visible{
  background:var(--yellow)!important;
  border-color:var(--yellow)!important;
  color:var(--navy)!important;
  outline:none!important;
}
body.page-contact .contact-map-frame{
  position:relative!important;
  min-height:430px!important;
  background:var(--cream)!important;
  overflow:hidden!important;
}
body.page-contact .contact-map-frame iframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  filter:grayscale(100%) contrast(1.02)!important;
}
body.page-contact .contact-social-card{
  background:linear-gradient(135deg,#1F3A5D 0%,#142A46 100%)!important;
  border-left:10px solid var(--yellow)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 22px 58px rgba(20,42,70,.18)!important;
}
body.page-contact .contact-social-card:before{
  background:linear-gradient(180deg,rgba(127,208,221,.28),rgba(254,195,85,.18))!important;
}
body.page-contact .contact-social-copy h2,
body.page-contact .contact-social-copy p,
body.page-contact .contact-social-copy,
body.page-contact .contact-social-card .eyebrow{
  color:#fff!important;
}
body.page-contact .contact-social-copy p{
  color:rgba(255,255,255,.78)!important;
}
body.page-contact .contact-social-copy:after{
  background:linear-gradient(90deg,var(--yellow),var(--sky),var(--green))!important;
}
body.page-contact .contact-social-links .social-link{
  background:rgba(255,255,255,.98)!important;
  border-color:rgba(255,255,255,.18)!important;
}
body.page-contact .contact-social-links .social-link:hover,
body.page-contact .contact-social-links .social-link:focus-visible{
  background:#fff!important;
  border-color:var(--yellow)!important;
}
@media(max-width:980px){
  body.page-contact .contact-map-card{grid-template-columns:1fr!important;}
  body.page-contact .contact-map-copy{border-right:0!important;border-bottom:1px solid rgba(31,58,93,.12)!important;}
  body.page-contact .contact-map-frame{min-height:340px!important;}
}
@media(max-width:760px){
  body.page-contact .contact-map-copy{padding:30px 22px!important;}
  body.page-contact .contact-map-frame{min-height:300px!important;}
  body.page-contact .contact-map-directions{width:100%!important;}
  body.page-contact .contact-social-card{border-left-width:7px!important;}
}

/* v53.1: ensure the whole Love working with us card reads as the darker treatment */
body.page-contact .contact-social-card .contact-social-copy{
  background:transparent!important;
  border-right:1px solid rgba(255,255,255,.16)!important;
}
body.page-contact .contact-social-card .contact-social-links{
  background:rgba(255,255,255,.055)!important;
}
body.page-contact .contact-social-card .social-text strong,
body.page-contact .contact-social-card .social-text small{
  color:var(--navy)!important;
}

/* v54 Contact social icons: original logos on clean white cards + LinkedIn */
body.page-contact .contact-social-card{
  background:linear-gradient(135deg,#1F3A5D 0%,#142A46 100%)!important;
  border-left:10px solid var(--yellow)!important;
}
body.page-contact .contact-social-card .contact-social-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  padding:clamp(26px,3vw,42px)!important;
  background:rgba(255,255,255,.055)!important;
}
body.page-contact .contact-social-card .contact-social-links .social-link{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  align-items:center!important;
  gap:16px!important;
  min-height:92px!important;
  padding:18px 18px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.25)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.10)!important;
  text-decoration:none!important;
  transform:none!important;
}
body.page-contact .contact-social-card .contact-social-links .social-link:hover,
body.page-contact .contact-social-card .contact-social-links .social-link:focus-visible{
  background:#fff!important;
  border-color:var(--yellow)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.14)!important;
  outline:none!important;
  transform:translateY(-1px)!important;
}
body.page-contact .contact-social-card .social-icon{
  width:58px!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:1px solid rgba(31,58,93,.12)!important;
  border-radius:0!important;
  padding:10px!important;
  overflow:hidden!important;
  color:inherit!important;
  font-size:0!important;
  line-height:0!important;
}
body.page-contact .contact-social-card .social-icon img{
  display:block!important;
  width:auto!important;
  height:30px!important;
  max-width:42px!important;
  object-fit:contain!important;
}
body.page-contact .contact-social-card .is-google .social-icon img{
  height:22px!important;
  max-width:46px!important;
}
body.page-contact .contact-social-card .is-linkedin .social-icon img{
  height:32px!important;
  max-width:38px!important;
}
body.page-contact .contact-social-card .is-instagram .social-icon img,
body.page-contact .contact-social-card .is-facebook .social-icon img{
  height:32px!important;
  max-width:38px!important;
}
body.page-contact .contact-social-card .social-text strong{
  display:block!important;
  color:var(--navy)!important;
  font-size:15.5px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
body.page-contact .contact-social-card .social-text small{
  display:block!important;
  color:var(--grey)!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  margin-top:4px!important;
  font-weight:400!important;
}
@media(max-width:760px){
  body.page-contact .contact-social-card .contact-social-links{
    grid-template-columns:1fr!important;
    padding:22px!important;
  }
  body.page-contact .contact-social-card .contact-social-links .social-link{
    min-height:82px!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    padding:15px!important;
  }
  body.page-contact .contact-social-card .social-icon{
    width:54px!important;
    height:54px!important;
  }
}

/* v54 Contact social card: original icons on white background + LinkedIn */
body.page-contact .contact-social-card{
  background:linear-gradient(135deg,#1F3A5D 0%,#142A46 100%)!important;
  border-left:10px solid var(--yellow)!important;
  border-color:rgba(255,255,255,.12)!important;
}
body.page-contact .contact-social-card .contact-social-copy{
  background:transparent!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.16)!important;
}
body.page-contact .contact-social-copy h2,
body.page-contact .contact-social-copy p{
  color:#fff!important;
}
body.page-contact .contact-social-copy p{
  color:rgba(255,255,255,.78)!important;
}
body.page-contact .contact-social-card .contact-social-links{
  background:rgba(255,255,255,.055)!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
body.page-contact .contact-social-links .social-link{
  min-height:116px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:12px!important;
  padding:18px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.08)!important;
}
body.page-contact .contact-social-links .social-link:hover,
body.page-contact .contact-social-links .social-link:focus-visible{
  background:#fff!important;
  border-color:var(--yellow)!important;
  transform:translateY(-2px)!important;
  outline:none!important;
}
body.page-contact .contact-social-card .social-icon{
  width:60px!important;
  height:44px!important;
  min-width:60px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:#fff!important;
  border-radius:0!important;
  padding:0!important;
  color:inherit!important;
  font-size:0!important;
  line-height:0!important;
}
body.page-contact .contact-social-card .social-icon img{
  display:block!important;
  width:auto!important;
  max-width:60px!important;
  height:30px!important;
  max-height:30px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
body.page-contact .contact-social-card .social-link.is-google .social-icon{
  width:92px!important;
  min-width:92px!important;
}
body.page-contact .contact-social-card .social-link.is-google .social-icon img{
  width:86px!important;
  max-width:86px!important;
  height:auto!important;
  max-height:30px!important;
}
body.page-contact .contact-social-card .social-link.is-linkedin .social-icon img{
  height:32px!important;
  max-height:32px!important;
}
body.page-contact .contact-social-card .social-text strong,
body.page-contact .contact-social-card .social-text small{
  color:var(--navy)!important;
}
body.page-contact .contact-social-card .social-text strong{
  font-size:15px!important;
  line-height:1.15!important;
}
body.page-contact .contact-social-card .social-text small{
  font-size:12px!important;
  line-height:1.35!important;
}
@media(max-width:1180px){
  body.page-contact .contact-social-card .contact-social-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  body.page-contact .contact-social-card .contact-social-copy{
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.16)!important;
  }
  body.page-contact .contact-social-card .contact-social-links{
    grid-template-columns:1fr!important;
  }
  body.page-contact .contact-social-links .social-link{
    min-height:94px!important;
    flex-direction:row!important;
    align-items:center!important;
  }
}

/* v54 Contact social icons: original brand icons on white icon tiles + LinkedIn */
body.page-contact .contact-social-card{
  background:linear-gradient(135deg,#1F3A5D 0%,#142A46 100%)!important;
  border-left-color:var(--yellow)!important;
}
body.page-contact .contact-social-card .contact-social-copy,
body.page-contact .contact-social-card .contact-social-links{
  background:transparent!important;
}
body.page-contact .contact-social-card .contact-social-links{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
body.page-contact .contact-social-card .social-link{
  background:#fff!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.12)!important;
  min-height:96px!important;
  padding:18px 16px!important;
}
body.page-contact .contact-social-card .social-link:hover,
body.page-contact .contact-social-card .social-link:focus-visible{
  background:#fff!important;
  border-color:var(--yellow)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.16)!important;
  transform:translateY(-2px)!important;
}
body.page-contact .contact-social-card .social-icon.social-icon-image{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:1px solid rgba(31,58,93,.12)!important;
  border-radius:0!important;
  overflow:hidden!important;
}
body.page-contact .contact-social-card .social-icon.social-icon-image img{
  display:block!important;
  width:auto!important;
  height:28px!important;
  max-width:38px!important;
  max-height:28px!important;
  object-fit:contain!important;
}
body.page-contact .contact-social-card .is-google .social-icon.social-icon-image img{
  width:64px!important;
  height:auto!important;
  max-width:64px!important;
  max-height:26px!important;
}
body.page-contact .contact-social-card .is-linkedin .social-icon.social-icon-image img{
  height:30px!important;
  max-height:30px!important;
  max-width:42px!important;
}
body.page-contact .contact-social-card .social-text strong,
body.page-contact .contact-social-card .social-text small{
  color:var(--navy)!important;
}
@media(max-width:1120px){
  body.page-contact .contact-social-card .contact-social-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  body.page-contact .contact-social-card .contact-social-links{
    grid-template-columns:1fr!important;
  }
  body.page-contact .contact-social-card .social-icon.social-icon-image{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
  }
}

/* v54: Contact social card icons use the supplied original artwork on clean white cards */
body.page-contact .contact-social-card{
  background:linear-gradient(135deg,#1F3A5D 0%,#142A46 100%)!important;
}
body.page-contact .contact-social-card .contact-social-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  background:rgba(255,255,255,.055)!important;
}
body.page-contact .contact-social-card .contact-social-links .social-link{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:16px!important;
  min-height:88px!important;
  padding:18px 18px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.55)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.08)!important;
}
body.page-contact .contact-social-card .contact-social-links .social-link:hover,
body.page-contact .contact-social-card .contact-social-links .social-link:focus-visible{
  background:#fff!important;
  border-color:var(--yellow)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.14)!important;
  outline:none!important;
}
body.page-contact .contact-social-card .social-icon,
body.page-contact .contact-social-card .is-google .social-icon,
body.page-contact .contact-social-card .is-facebook .social-icon,
body.page-contact .contact-social-card .is-instagram .social-icon,
body.page-contact .contact-social-card .is-linkedin .social-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:54px!important;
  min-width:54px!important;
  height:54px!important;
  padding:8px!important;
  background:#fff!important;
  border:1px solid rgba(31,58,93,.12)!important;
  border-radius:0!important;
  box-shadow:0 5px 14px rgba(31,58,93,.06)!important;
  overflow:hidden!important;
  color:inherit!important;
  font-size:0!important;
  line-height:0!important;
}
body.page-contact .contact-social-card .is-google .social-icon{
  width:78px!important;
  min-width:78px!important;
}
body.page-contact .contact-social-card .social-icon img{
  display:block!important;
  max-width:100%!important;
  max-height:34px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
body.page-contact .contact-social-card .is-instagram .social-icon img,
body.page-contact .contact-social-card .is-facebook .social-icon img,
body.page-contact .contact-social-card .is-linkedin .social-icon img{
  max-height:36px!important;
}
body.page-contact .contact-social-card .is-google .social-icon img{
  max-height:28px!important;
  max-width:64px!important;
}
body.page-contact .contact-social-card .social-text strong{
  color:var(--navy)!important;
  font-size:16px!important;
  line-height:1.15!important;
}
body.page-contact .contact-social-card .social-text small{
  color:var(--grey)!important;
  font-size:12.5px!important;
  line-height:1.25!important;
}
@media(max-width:760px){
  body.page-contact .contact-social-card .contact-social-links{
    grid-template-columns:1fr!important;
  }
  body.page-contact .contact-social-card .contact-social-links .social-link{
    min-height:78px!important;
  }
}

/* v54.1: improve Google wordmark sizing using cropped transparent bounds */
body.page-contact .contact-social-card .is-google .social-icon{
  width:86px!important;
  min-width:86px!important;
}
body.page-contact .contact-social-card .is-google .social-icon img{
  max-width:74px!important;
  max-height:30px!important;
}

/* v54.1: keep social text readable with original icons */
body.page-contact .contact-social-card .social-text{
  letter-spacing:0!important;
  font-family:'Poppins',Arial,sans-serif!important;
}
body.page-contact .contact-social-card .social-text strong,
body.page-contact .contact-social-card .social-text small{
  letter-spacing:0!important;
  font-family:'Poppins',Arial,sans-serif!important;
}

/* v54.2 final responsive guard for original social icons */
body.page-contact .contact-social-card .contact-social-links{
  align-items:stretch!important;
}
body.page-contact .contact-social-card .social-link{
  box-sizing:border-box!important;
}
body.page-contact .contact-social-card .social-icon img{
  object-position:center!important;
}
@media(max-width:900px){
  body.page-contact .contact-social-card .contact-social-links{
    grid-template-columns:1fr!important;
  }
}

/* v56 static contact form note */
body.page-contact .mailto-note{
  margin:0 0 22px!important;
  color:var(--grey)!important;
  font-size:14px!important;
  line-height:1.55!important;
  font-weight:300!important;
}
