

:root {

  --green:#06382c;

  --deep:#03291f;

  --gold:#a67c45;

  --gold-hover:#8d6637;

  --cream:#faf8f3;

  --sand:#f2efe8;

  --white:#ffffff;

  --ink:#183028;

  --muted:#5c6761;

  --line:#e5dfd4;

  --serif:'Libre Baskerville',Georgia,serif;

  --sans:'DM Sans',Arial,sans-serif;

}



* { box-sizing:border-box; }



html {

  scroll-behavior:smooth;

  scroll-padding-top:92px;

}



body {

  margin:0;

  background:var(--cream);

  color:var(--ink);

  font-family:var(--sans);

  font-size:15px;

  line-height:1.65;

}



h1,h2,h3,p { margin-top:0; }



h1,h2,h3 {

  font-family:var(--serif);

  font-weight:400;

  line-height:1.22;

  letter-spacing:-.045em;

}



h1 { font-size:clamp(40px,4.4vw,76px); }

h2 { font-size:clamp(30px,3.1vw,49px); }

h3 { font-size:21px; }



a { color:inherit;text-decoration:none; }

button,input,select,textarea { font:inherit; }

button { cursor:pointer; }

img { display:block;max-width:100%; }



.container {

  width:min(1380px,calc(100% - 96px));

  margin-inline:auto;

}



.eyebrow {

  display:flex;

  align-items:center;

  gap:13px;

  font-size:10px;

  font-weight:700;

  letter-spacing:.22em;

  text-transform:uppercase;

}



.eyebrow::before {

  content:"";

  width:28px;

  height:1px;

  flex-shrink:0;

  background:var(--gold);

}



.btn {

  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:13px;

  padding:16px 25px;

  min-height:49px;

  border:1px solid var(--gold);

  background:var(--gold);

  color:#fff;

  font-size:11px;

  font-weight:700;

  letter-spacing:.065em;

  text-transform:uppercase;

  transition:background .2s,color .2s,transform .2s;

}



.btn:hover {

  background:var(--gold-hover);

  transform:translateY(-2px);

}



.btn-green {

  background:var(--green);

  border-color:var(--green);

}



.btn-green:hover { background:var(--deep); }



.btn-outline {

  background:transparent;

  color:var(--green);

}



.btn-outline:hover {

  background:var(--green);

  color:white;

}



section[id] { scroll-margin-top:85px; }



/* HEADER */



.site-header {

  position:sticky;

  top:0;

  z-index:100;

  background:rgba(250,248,243,.97);

  border-bottom:1px solid rgba(6,56,44,.08);

  box-shadow:0 3px 18px rgba(0,0,0,.035);

}



.header-inner {

  min-height:88px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:25px;

}



.logo { flex-shrink:0; }



.logo img {

  width:175px;

  height:70px;

  object-fit:contain;

  mix-blend-mode:multiply;

}



.main-nav {

  display:flex;

  align-items:center;

  gap:29px;

}



.main-nav a {

  font-size:12px;

  font-weight:700;

  white-space:nowrap;

  transition:color .2s;

}



.main-nav a:hover { color:var(--gold); }



.languages {

  display:flex;

  gap:11px;

  align-items:center;

}



.languages button {

  border:0;

  background:transparent;

  color:#777;

  padding:5px 2px;

  font-size:11px;

}



.languages button.active {

  color:var(--gold);

  font-weight:700;

  text-decoration:underline;

}



.header-cta {

  white-space:nowrap;

  font-size:10px;

}



.mobile-toggle {

  display:none;

  border:0;

  background:transparent;

  color:var(--green);

  font-size:29px;

}



/* HERO */



.hero {

  min-height:640px;

  display:flex;

  align-items:center;

  background:

    linear-gradient(

      90deg,

      #faf8f3 0%,

      rgba(250,248,243,.99) 26%,

      rgba(250,248,243,.90) 43%,

      rgba(250,248,243,.35) 64%,

      rgba(250,248,243,0) 85%

    ),

    url("https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=2000&q=85");

  background-position:center,right center;

  background-size:cover,cover;

  background-repeat:no-repeat;

}



.hero-inner {

  padding-top:75px;

  padding-bottom:75px;

}



.hero-content { max-width:710px; }



.hero h1 {

  margin:26px 0 22px;

  max-width:720px;

}



.hero h1 span { color:var(--gold); }



.hero-description {

  max-width:440px;

  font-size:17px;

  color:#39463f;

}



.hero-buttons {

  display:flex;

  flex-wrap:wrap;

  gap:12px;

  margin-top:28px;

}



.hero-values {

  display:flex;

  margin-top:55px;

  max-width:575px;

}



.hero-value {

  width:33.333%;

  padding:0 18px;

  text-align:center;

  border-right:1px solid #d9d0c2;

}



.hero-value:first-child { padding-left:0; }

.hero-value:last-child { border:0; }



.value-icon {

  display:block;

  font-size:29px;

  line-height:1.3;

  color:var(--gold);

}



.hero-value strong {

  display:block;

  margin:9px 0 3px;

  font-size:11px;

  letter-spacing:.12em;

}



.hero-value small {

  display:block;

  font-size:11px;

  color:var(--muted);

}



/* SECTIONS */



.section { padding:95px 0; }



.section-heading {

  display:flex;

  align-items:end;

  justify-content:space-between;

  gap:60px;

  margin-bottom:40px;

}



.section-heading h2 {

  max-width:720px;

  margin:15px 0 0;

}



.section-heading p {

  max-width:360px;

  margin:0 0 6px;

  color:#4d5953;

}



/* PRACTICE AREAS */



.practice-grid {

  display:grid;

  grid-template-columns:repeat(6,minmax(0,1fr));

  gap:24px;

}



.practice-card {

  grid-column:span 2;

  min-width:0;

  background:#fff;

  box-shadow:0 8px 25px rgba(0,0,0,.045);

  transition:transform .2s,box-shadow .2s;

}



.practice-card:nth-child(n+4) { grid-column:span 3; }



.practice-card:hover {

  transform:translateY(-4px);

  box-shadow:0 16px 35px rgba(0,0,0,.08);

}



.practice-card img {

  width:100%;

  height:205px;

  object-fit:cover;

}



.practice-body {

  position:relative;

  min-height:157px;

  padding:25px 70px 25px 27px;

}



.practice-body h3 { margin-bottom:11px; }



.practice-body p {

  font-size:13px;

  color:#5b625e;

  margin:0;

}



.round-arrow {

  position:absolute;

  right:22px;

  top:27px;

  width:36px;

  height:36px;

  border:1px solid var(--gold);

  border-radius:50%;

  color:var(--gold);

  background:white;

  font-size:20px;

  transition:.2s;

}



.round-arrow:hover {

  background:var(--gold);

  color:white;

}



/* ABOUT */



.about {

  display:grid;

  grid-template-columns:1fr 1fr;

  background:var(--green);

  color:white;

}



.about-copy {

  display:flex;

  flex-direction:column;

  justify-content:center;

  align-items:flex-start;

  padding:75px 9% 75px max(48px,calc((100vw - 1380px)/2));

}



.about-copy h2 {

  margin:22px 0;

  max-width:650px;

}



.about-copy p {

  max-width:560px;

  color:#e0e9e4;

  margin:23px 0;

}



.about-tag {

  font-size:11px;

  letter-spacing:.2em;

  text-transform:uppercase;

  font-weight:700;

}



.about-photo {

  height:530px;

  overflow:hidden;

}



.about-photo img {

  width:100%;

  height:100%;

  object-fit:cover;

  object-position:center 35%;

}



/* WHY CHOOSE */



.why { background:var(--sand); }



.benefits {

  display:grid;

  grid-template-columns:repeat(4,1fr);

  margin-top:55px;

}



.benefit {

  padding:15px 32px;

  text-align:center;

  border-right:1px solid #dcd5c9;

}



.benefit:last-child { border:0; }



.benefit-icon {

  font-size:38px;

  color:var(--gold);

  line-height:1.3;

}



.benefit strong {

  display:block;

  margin:14px 0 10px;

  font-size:11px;

  text-transform:uppercase;

  letter-spacing:.13em;

}



.benefit p {

  font-size:13px;

  color:#5a625d;

}



/* LOCATIONS */



.locations {

  display:grid;

  grid-template-columns:1fr 1fr;

  min-height:410px;

}



.locations-photo {

  background:

    url("https://images.unsplash.com/photo-1535498730771-e735b998cd64?auto=format&fit=crop&w=1600&q=85")

    center/cover no-repeat;

}



.locations-content {

  background:var(--green);

  color:white;

  display:flex;

  flex-direction:column;

  justify-content:center;

  padding:75px 10%;

}



.locations-content h2 { margin:20px 0 30px; }



.locations-columns {

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:35px;

}



.locations-columns p {

  color:#e5ede7;

  font-size:14px;

}



.locations-columns strong { color:white; }



/* LANGUAGES */



.multilingual {

  background:var(--sand);

  padding:42px 0;

}



.multilingual-inner {

  display:flex;

  justify-content:space-between;

  align-items:center;

  gap:35px;

}



.multilingual h2 {

  font-size:clamp(22px,2.4vw,34px);

  margin:12px 0 0;

}



.multilingual p {

  max-width:400px;

  margin:0;

  font-size:14px;

}



/* CONTACT */



.contact {

  padding:95px 0;

  background:var(--cream);

}



.contact-inner {

  display:grid;

  grid-template-columns:1fr 1fr;

  align-items:center;

  gap:100px;

}



.contact-info h2 {

  margin:20px 0 25px;

  max-width:540px;

}



.contact-info p {

  max-width:490px;

  color:#526059;

}



.contact-info a {

  color:var(--green);

  text-decoration:underline;

}



.contact-details { margin-top:30px; }



.contact-form {

  padding:42px;

  background:white;

  box-shadow:0 12px 45px rgba(0,0,0,.065);

}



.field {

  display:block;

  width:100%;

  padding:14px 15px;

  margin-bottom:13px;

  border:1px solid #dedbd4;

  border-radius:0;

  background:white;

  color:var(--ink);

  font-size:13px;

}



.field:focus {

  outline:1px solid var(--gold);

  border-color:var(--gold);

}



textarea.field {

  min-height:130px;

  resize:vertical;

}



.form-note {

  font-size:11px;

  color:#737b75;

  margin:16px 0 0;

}



.form-status {

  margin-top:12px;

  font-size:12px;

}



/* FOOTER */



.footer {

  background:var(--deep);

  color:white;

  padding:48px 0 25px;

}



.footer-top {

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:35px;

  padding-bottom:32px;

  border-bottom:1px solid rgba(255,255,255,.2);

}



.footer-logo {

  background:var(--cream);

  padding:5px;

}



.footer-logo img {

  width:145px;

  height:auto;

}



.footer-links {

  display:flex;

  flex-wrap:wrap;

  gap:25px;

  font-size:12px;

}



.footer-links a:hover { color:#d8b27b; }



.footer-bottom {

  display:flex;

  justify-content:space-between;

  gap:30px;

  padding-top:22px;

  color:#bfcfc5;

  font-size:11px;

}



/* DETAIL DIALOG */



.detail-dialog {

  width:min(640px,calc(100% - 30px));

  max-height:85vh;

  overflow:auto;

  padding:40px;

  border:0;

  background:var(--cream);

  color:var(--ink);

  box-shadow:0 20px 80px rgba(0,0,0,.25);

}



.detail-dialog::backdrop {

  background:rgba(0,25,17,.72);

}



.detail-dialog h2 {

  margin:20px 0;

  font-size:30px;

}



.detail-dialog ul {

  columns:2;

  padding-left:20px;

  margin-bottom:28px;

}



.detail-dialog li {

  margin-bottom:9px;

  break-inside:avoid;

}



.dialog-close {

  float:right;

  background:transparent;

  border:0;

  font-size:29px;

  color:var(--green);

}



.sr-only {

  position:absolute;

  width:1px;

  height:1px;

  overflow:hidden;

  clip:rect(0,0,0,0);

}



/* TABLET */



@media(max-width:1100px) {

  .container { width:calc(100% - 60px); }



  .header-inner { gap:15px; }

  .main-nav { gap:16px; }

  .logo img { width:145px; }

  .header-cta { padding:13px 15px; }



  .about-copy { padding:55px 7%; }

  .contact-inner { gap:45px; }

}



/* MOBILE NAVIGATION */



@media(max-width:900px) {

  .header-inner { min-height:76px; }

  .mobile-toggle { display:block; }



  .main-nav {

    display:none;

    position:absolute;

    top:76px;

    left:0;

    right:0;

    padding:25px 30px;

    flex-direction:column;

    align-items:flex-start;

    gap:20px;

    background:var(--cream);

    box-shadow:0 12px 20px rgba(0,0,0,.1);

  }



  .main-nav.open { display:flex; }

  .header-cta { display:none; }



  .hero { min-height:560px; }

  .hero-content { max-width:580px; }



  .practice-grid { gap:16px; }

  .practice-card img { height:160px; }

  .practice-body { padding:20px 55px 20px 20px; }



  .about-photo { height:470px; }

  .benefit { padding:15px; }

}



/* SMALL SCREENS */



@media(max-width:650px) {

  .container { width:calc(100% - 36px); }



  .header-inner { gap:10px; }

  .logo img { width:120px;height:58px; }

  .languages { margin-left:auto;gap:5px; }



  .hero {

    min-height:auto;

    background:

      linear-gradient(

        90deg,

        rgba(250,248,243,.98),

        rgba(250,248,243,.88)

      ),

      url("https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=900&q=80")

      center/cover;

  }



  .hero-inner { padding:70px 0; }

  .hero h1 { font-size:clamp(35px,9vw,48px); }

  .hero-description { font-size:15px; }

  .hero-buttons { gap:10px; }

  .hero-buttons .btn { font-size:10px;padding:13px 15px; }



  .hero-values { margin-top:40px; }

  .hero-value { padding:0 7px; }

  .hero-value strong { font-size:9px; }

  .hero-value small { font-size:10px; }



  .section { padding:65px 0; }

  .section-heading { display:block; }

  .section-heading p { margin-top:22px; }



  .practice-grid { grid-template-columns:1fr; }

  .practice-card,

  .practice-card:nth-child(n+4) { grid-column:auto; }

  .practice-card img { height:200px; }

  .practice-body { min-height:130px; }



  .about { grid-template-columns:1fr; }

  .about-copy { padding:60px 25px; }

  .about-photo { height:390px; }

  .about-photo img { object-position:center 25%; }



  .benefits { grid-template-columns:1fr 1fr; }

  .benefit:nth-child(2) { border-right:0; }

  .benefit:nth-child(-n+2) {

    border-bottom:1px solid #dcd5c9;

  }



  .locations { grid-template-columns:1fr; }

  .locations-photo { min-height:260px; }

  .locations-content { padding:55px 25px; }



  .multilingual-inner { display:block; }

  .multilingual p { margin-top:18px; }



  .contact { padding:65px 0; }

  .contact-inner { grid-template-columns:1fr;gap:30px; }

  .contact-form { padding:25px; }



  .footer-top,.footer-bottom { flex-direction:column; }

  .footer-links { gap:17px; }

  .detail-dialog { padding:25px; }

  .detail-dialog ul { columns:1; }

}



@media(prefers-reduced-motion:reduce) {

  html { scroll-behavior:auto; }

  *,*::before,*::after { transition:none!important; }

}


/* COMPACT DESKTOP AND RESPONSIVE LAYOUT — 2026 */
:root { --compact-gap: 18px; }
html { scroll-padding-top: 72px; }
section[id] { scroll-margin-top: 72px; }
.container { width: min(1250px, calc(100% - 80px)); }
body { font-size: 14px; line-height: 1.55; }
h1 { font-size: clamp(37px, 3.7vw, 60px); }
h2 { font-size: clamp(28px, 2.7vw, 42px); }
h3 { font-size: 19px; }
.btn { min-height: 42px; padding: 12px 19px; font-size: 10px; }
.header-inner { min-height: 70px; gap: 18px; }
.logo img { width: 140px; height: 58px; }
.main-nav { gap: 22px; }
.main-nav a { font-size: 11px; }
.hero { min-height: 510px; }
.hero-inner { padding-top: 50px; padding-bottom: 50px; }
.hero-content { max-width: 650px; }
.hero h1 { margin: 17px 0 16px; max-width: 660px; }
.hero-description { font-size: 15px; max-width: 420px; }
.hero-buttons { margin-top: 20px; }
.hero-values { margin-top: 32px; max-width: 515px; }
.hero-value { padding-inline: 12px; }
.value-icon { font-size: 24px; }
.hero-value strong { margin-top: 5px; }
.section { padding: 65px 0; }
.section-heading { gap: 35px; margin-bottom: 27px; }
.section-heading h2 { margin-top: 10px; }
.practice-grid { gap: 17px; }
.practice-card img { height: 155px; }
.practice-body { min-height: 125px; padding: 19px 60px 20px 22px; }
.practice-body h3 { margin-bottom: 6px; }
.practice-body p { font-size: 12px; }
.round-arrow { width: 31px; height: 31px; top: 20px; right: 17px; }
.about-copy { padding-top: 48px; padding-bottom: 48px; padding-left: max(40px, calc((100vw - 1250px)/2)); }
.about-copy h2 { margin: 13px 0; }
.about-copy p { margin: 15px 0 19px; }
.about-photo { height: 405px; }
.about-photo img { object-position: center 32%; }
.benefits { margin-top: 30px; }
.benefit { padding: 10px 23px; }
.benefit-icon { font-size: 30px; }
.benefit strong { margin: 8px 0 6px; }
.benefit p { font-size: 12px; margin-bottom: 0; }
.locations { min-height: 330px; }
.locations-content { padding: 48px 9%; }
.locations-content h2 { margin: 13px 0 22px; }
.locations-columns p { font-size: 13px; margin-bottom: 0; }
.multilingual { padding: 28px 0; }
.multilingual h2 { margin-top: 7px; }
.contact { padding: 65px 0; }
.contact-inner { gap: 65px; }
.contact-info h2 { margin: 12px 0 18px; }
.contact-details { margin-top: 20px; }
.contact-form { padding: 30px; }
.field { padding: 11px 13px; margin-bottom: 10px; }
textarea.field { min-height: 100px; }
.footer { padding: 32px 0 19px; }
.footer-top { padding-bottom: 22px; }
.footer-logo img { width: 120px; }
.footer-bottom { padding-top: 16px; }
@media (max-width: 1100px) {
  .container { width: calc(100% - 54px); }
  .about-copy { padding-left: 7%; }
  .contact-inner { gap: 35px; }
}
@media (max-width: 900px) {
  .header-inner { min-height: 68px; }
  .main-nav { top: 68px; }
  .hero { min-height: 470px; }
  .hero-inner { padding-top: 45px; padding-bottom: 45px; }
  .practice-card img { height: 145px; }
  .about-photo { height: 390px; }
}
@media (max-width: 650px) {
  .container { width: calc(100% - 36px); }
  .logo img { width: 118px; height: 53px; }
  .hero { min-height: auto; }
  .hero-inner { padding: 54px 0; }
  .hero h1 { font-size: clamp(34px, 8.6vw, 45px); }
  .hero-values { margin-top: 29px; }
  .section { padding: 48px 0; }
  .section-heading { margin-bottom: 22px; }
  .practice-card img { height: 170px; }
  .practice-body { min-height: 108px; }
  .about-copy { padding: 44px 24px; }
  .about-photo { height: 350px; }
  .benefits { margin-top: 22px; }
  .locations-photo { min-height: 210px; }
  .locations-content { padding: 43px 25px; }
  .multilingual { padding: 27px 0; }
  .contact { padding: 48px 0; }
  .contact-inner { gap: 23px; }
  .contact-form { padding: 22px; }
  .footer { padding: 30px 0 20px; }
}


/* PRIMUS REFINEMENT — compact layout, improved readability */
:root { --gold:#a67c45; }
body { font-size:16px; line-height:1.55; }
.container { width:min(1250px,calc(100% - 64px)); }
.eyebrow { font-size:11px; letter-spacing:.16em; }
.btn { font-size:12px; min-height:44px; padding:12px 19px; }
.header-inner { min-height:74px; }
.logo img { width:156px; height:58px; }
.main-nav a { font-size:13px; }
.languages button { font-size:12px; }
.header-cta { font-size:11px; }
.hero { min-height:510px; }
.hero-inner { padding-top:45px; padding-bottom:45px; }
.hero h1 { font-size:clamp(39px,3.75vw,62px); margin:17px 0; }
.hero-description { font-size:16px; }
.hero-values { margin-top:30px; }
.hero-value strong { font-size:12px; }
.hero-value small { font-size:13px; line-height:1.4; }
.section { padding:62px 0; }
.section-heading { margin-bottom:26px; }
.section-heading p { font-size:15px; }
.practice-grid { gap:17px; }
.practice-card img { height:160px; }
.practice-body { min-height:125px; padding:19px 57px 20px 22px; }
.practice-body h3 { font-size:20px; }
.practice-body p { font-size:14px; line-height:1.45; }
.about-copy { padding-top:48px; padding-bottom:48px; }
.about-copy p { font-size:15px; line-height:1.6; }
.about-tag { font-size:12px; }
.about-photo { height:410px; }
.benefits { margin-top:28px; }
.benefit { padding:12px 20px; }
.benefit strong { font-size:12px; }
.benefit p { font-size:14px; }
.locations { min-height:330px; }
.locations-content { padding-top:45px; padding-bottom:45px; }
.locations-columns p { font-size:15px; }
.multilingual { padding:29px 0; }
.multilingual p { font-size:15px; }
.contact { padding:62px 0; }
.contact-inner { gap:65px; }
.contact-info p { font-size:15px; }
.contact-form { padding:30px; }
.field { font-size:15px; padding:11px 13px; }
.form-note { font-size:12px; }
.form-status { font-size:14px; }
.footer { padding:30px 0 20px; }
.footer-links { font-size:13px; }
.footer-bottom { font-size:12px; }
/* Prevent broken-image symbols if optional local assets are absent */
.logo-fallback { display:none; align-items:center; gap:8px; color:var(--green); line-height:1; }
.logo-fallback .monogram { color:var(--gold); font-family:Georgia,serif; font-size:39px; }
.logo-fallback .wordmark { font-family:Georgia,serif; font-size:22px; letter-spacing:.16em; }
.logo-fallback .wordmark small { display:block; text-align:center; font-size:9px; letter-spacing:.3em; margin-top:4px; }
.footer .logo-fallback { color:var(--green); }
.about-photo.missing-photo { background:linear-gradient(125deg,#173e33,#08271f); }
.about-photo.missing-photo img { display:none; }
@media(max-width:1100px) {
 .container { width:calc(100% - 48px); }
 .main-nav { gap:14px; }
 .header-inner { gap:12px; }
 .logo img { width:136px; }
 .header-cta { padding:10px 12px; }
}
@media(max-width:900px) {
 .header-inner { min-height:70px; }
 .main-nav { top:70px; }
 .main-nav a { font-size:15px; }
 .hero { min-height:470px; }
 .practice-card img { height:145px; }
 .contact-inner { gap:35px; }
}
@media(max-width:650px) {
 .container { width:calc(100% - 36px); }
 .logo img { width:122px; }
 .hero { min-height:auto; }
 .hero-inner { padding:48px 0; }
 .hero h1 { font-size:clamp(34px,8.6vw,45px); }
 .hero-description { font-size:15px; }
 .hero-value strong { font-size:11px; }
 .hero-value small { font-size:12px; }
 .section { padding:48px 0; }
 .practice-card img { height:185px; }
 .practice-body { min-height:115px; }
 .about-copy { padding:45px 24px; }
 .about-photo { height:350px; }
 .benefit { padding:14px 10px; }
 .benefit strong { font-size:11px; }
 .benefit p { font-size:13px; }
 .locations-photo { min-height:220px; }
 .locations-content { padding:44px 25px; }
 .multilingual { padding:28px 0; }
 .contact { padding:48px 0; }
 .contact-form { padding:22px; }
}


/* HERO AND BRAND REFINEMENTS */
.logo img {width:205px;height:70px;mix-blend-mode:normal;object-fit:contain}
.header-inner {min-height:82px}
.hero {position:relative;isolation:isolate;min-height:565px;background:#faf8f3;overflow:hidden}
.hero::before {content:"";position:absolute;inset:0 0 0 43%;z-index:-2;background:url("assets/lady-justice.webp") center 44% / cover no-repeat}
.hero::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf8f3 0%,#faf8f3 28%,rgba(250,248,243,.96) 38%,rgba(250,248,243,.64) 50%,rgba(250,248,243,0) 68%)}
.hero-content {max-width:610px}
.hero h1 {font-size:clamp(40px,4vw,65px);max-width:610px;line-height:1.12;letter-spacing:-.055em}
.hero-values {max-width:560px;margin-top:35px}
.value-icon {font-size:43px;line-height:1.1;color:var(--gold)}
.hero-value strong {font-size:13px;margin:10px 0 6px}
.hero-value small {font-size:15px;line-height:1.35;color:#39463f}
.hero-value {padding-inline:17px}
@media(max-width:1100px){.logo img{width:165px;height:62px}.hero::before{inset:0 0 0 40%}}
@media(max-width:650px){.logo img{width:132px;height:55px}.hero::before{inset:0;background-position:62% center;opacity:.43}.hero::after{background:linear-gradient(90deg,rgba(250,248,243,.98),rgba(250,248,243,.78))}.hero h1{font-size:clamp(34px,8.5vw,46px)}.value-icon{font-size:34px}.hero-value small{font-size:12px}.hero-value strong{font-size:10px}.hero-value{padding-inline:6px}}


/* HERO — imagem integrada ao fundo, sem divisão vertical */
.hero {position:relative;isolation:isolate;overflow:hidden;min-height:565px;background:#faf8f3!important;}
.hero::before {
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:url("assets/lady-justice.webp");
  background-repeat:no-repeat;
  background-position:right center;
  background-size:auto 125%;
  opacity:1;
}
.hero::after {
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,
    #faf8f3 0%,#faf8f3 39%,
    rgba(250,248,243,.99) 47%,
    rgba(250,248,243,.90) 53%,
    rgba(250,248,243,.65) 60%,
    rgba(250,248,243,.27) 69%,
    rgba(250,248,243,0) 79%);
}
.hero-inner{position:relative;z-index:1;}
.hero-content{max-width:610px;}
.hero-values{max-width:560px;}
@media(max-width:1100px){
 .hero::before{background-size:auto 118%;background-position:right center;}
 .hero::after{background:linear-gradient(90deg,#faf8f3 0%,#faf8f3 43%,rgba(250,248,243,.97) 53%,rgba(250,248,243,.75) 65%,rgba(250,248,243,.2) 82%,rgba(250,248,243,0) 100%);}
}
@media(max-width:650px){
 .hero{min-height:auto;}
 .hero::before{background-size:auto 100%;background-position:right center;opacity:.55;}
 .hero::after{background:linear-gradient(90deg,#faf8f3 0%,rgba(250,248,243,.99) 48%,rgba(250,248,243,.93) 74%,rgba(250,248,243,.70) 100%);}
 .hero-content,.hero-values{max-width:100%;}
}


/* BANNER — fotografia contida no mesmo alinhamento lateral do site */
@media (min-width: 901px) {
  .hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    height: 565px;
    min-height: 565px;
    display: flex;
    align-items: center;
    background: #faf8f3 !important;
  }
  .hero::before {
    content: "";
    position: absolute;
    z-index: -2;
    top: 0;
    bottom: 0;
    right: max(32px, calc((100vw - 1250px) / 2));
    width: min(603px, 55vw);
    background: url("assets/lady-justice.webp") right center / auto 100% no-repeat;
    opacity: 1;
  }
  .hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    top: 0;
    bottom: 0;
    right: max(32px, calc((100vw - 1250px) / 2));
    width: min(603px, 55vw);
    background: linear-gradient(to right,
      #faf8f3 0%,
      rgba(250,248,243,.98) 9%,
      rgba(250,248,243,.75) 22%,
      rgba(250,248,243,.24) 38%,
      rgba(250,248,243,0) 55%);
  }
  .hero-inner { width: min(1250px, calc(100% - 64px)); padding-block: 38px; }
  .hero-content { max-width: 610px; }
  .hero-values { max-width: 560px; }
}
@media (min-width: 901px) and (max-width: 1150px) {
  .hero::after {
    background: linear-gradient(to right,
      #faf8f3 0%, rgba(250,248,243,.98) 25%,
      rgba(250,248,243,.72) 48%, rgba(250,248,243,0) 85%);
  }
}
@media (max-width: 900px) {
  .hero { height: auto; min-height: 0; background: #faf8f3 !important; }
  .hero::before {
    inset: 0;
    background: url("assets/lady-justice.webp") right center / auto 100% no-repeat;
    opacity: .55;
  }
  .hero::after {
    inset: 0;
    background: linear-gradient(to right,
      #faf8f3 0%, rgba(250,248,243,.99) 54%,
      rgba(250,248,243,.83) 78%, rgba(250,248,243,.5) 100%);
  }
}
@media (max-width: 650px) {
  .hero::before { opacity: .28; }
  .hero::after { background: linear-gradient(to right, #faf8f3 0%, rgba(250,248,243,.97) 70%, rgba(250,248,243,.82) 100%); }
}


/* BANNER RECONSTRUIDO: imagem e fade pertencem ao container central */
.hero{background:#faf8f3!important;position:relative;overflow:hidden;isolation:auto;display:block!important;min-height:0!important;height:auto!important}
.hero::before,.hero::after{content:none!important;display:none!important}
.hero .hero-inner{position:relative!important;isolation:isolate;width:min(1250px,calc(100% - 64px))!important;min-height:540px;padding:42px 0 38px!important;display:flex;align-items:center;z-index:0}
.hero .hero-inner::before{content:"";position:absolute;top:0;bottom:0;right:0;width:60%;z-index:-2;background-image:url("assets/lady-justice.webp");background-position:right center;background-size:auto 100%;background-repeat:no-repeat}
.hero .hero-inner::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#faf8f3 0%,#faf8f3 37%,rgba(250,248,243,.99) 44%,rgba(250,248,243,.84) 53%,rgba(250,248,243,.32) 67%,transparent 80%)}
.hero .hero-content{position:relative;z-index:1;max-width:610px}
@media(max-width:900px){.hero .hero-inner{width:calc(100% - 36px)!important;min-height:0;padding:46px 0!important}.hero .hero-inner::before{width:85%;opacity:.45;background-size:auto 100%}.hero .hero-inner::after{background:linear-gradient(90deg,#faf8f3 0%,rgba(250,248,243,.98) 48%,rgba(250,248,243,.75) 100%)}}
@media(max-width:650px){.hero .hero-inner::before{opacity:.22}.hero .hero-inner::after{background:linear-gradient(90deg,#faf8f3 0%,rgba(250,248,243,.97) 75%,rgba(250,248,243,.82) 100%)}}


/* PRACTICE AREAS — refinamento visual */
.practice-card { overflow:hidden; }
.practice-card img { height:168px; object-fit:cover; object-position:center; }
.practice-card:nth-child(1) img { object-position:center 58%; }
.practice-card:nth-child(2) img { object-position:center 55%; }
.practice-card:nth-child(3) img { object-position:center 42%; }
.practice-card:nth-child(4) img { object-position:center 50%; }
.practice-card:nth-child(5) img { object-position:center 52%; }
.practice-body { min-height:124px; padding:18px 60px 22px 22px; }
.round-arrow {
  display:flex; align-items:center; justify-content:center;
  padding:0; line-height:1; text-align:center;
  width:33px; height:33px; border-radius:50%;
  font-family:Arial,sans-serif; font-size:21px; font-weight:400;
  top:20px; right:18px;
}
@media(max-width:650px){.practice-card img{height:185px}}

/* October 8 — constrained locations and compact, readable contact section */
#locations.locations{
  width:min(1250px,calc(100% - 80px));
  margin-inline:auto;
  min-height:300px;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  overflow:hidden;
}
#locations .locations-content{padding:30px clamp(22px,3.4vw,52px);min-width:0}
#locations .locations-content h2{margin:10px 0 18px;font-size:clamp(29px,2.8vw,40px)}
#locations .locations-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(14px,2vw,30px)}
#locations .location-entry{gap:9px}
#locations .location-entry p{overflow-wrap:anywhere;font-size:13px}
.multilingual{padding:20px 0}
.multilingual h2{font-size:clamp(25px,2.4vw,35px)}
#contact.contact{padding:42px 0 46px}
#contact .contact-inner{gap:clamp(20px,4vw,62px);grid-template-columns:minmax(0,1fr) minmax(340px,.95fr)}
#contact .contact-info{
  box-sizing:border-box;
  max-width:550px;
  padding:clamp(22px,3vw,38px);
  background:rgba(250,248,244,.88);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 12px 36px rgba(15,34,28,.08);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
#contact .contact-info h2{font-size:clamp(35px,3.2vw,49px);margin:10px 0 13px}
#contact .contact-info p{font-size:14px;line-height:1.55}
#contact .contact-details{margin-top:18px;gap:10px}
#contact .contact-form{padding:24px}
@media(max-width:850px){
  #locations.locations{width:calc(100% - 48px);grid-template-columns:1fr}
  #locations .locations-photo{min-height:220px}
  #locations .locations-content{padding:30px}
  #contact .contact-inner{grid-template-columns:1fr;gap:20px}
  #contact .contact-info{max-width:none}
}
@media(max-width:520px){
  #locations.locations{width:calc(100% - 32px)}
  #locations .locations-columns{grid-template-columns:1fr}
  #contact.contact{padding:30px 0}
  #contact .contact-info{padding:22px}
  #contact .contact-form{padding:20px}
}


/* Primus Lawyer — refined contact and footer */
#contact.contact{background:radial-gradient(ellipse at 22% 35%,rgba(185,156,111,.12),transparent 43%),linear-gradient(118deg,#f7f5ef 0%,#eeece6 52%,#faf9f5 100%)!important;position:relative;isolation:isolate;overflow:hidden}
#contact.contact::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(118deg,transparent 0 110px,rgba(174,136,81,.045) 111px 112px,transparent 113px 210px);pointer-events:none}
#contact .contact-info{background:rgba(255,255,255,.74)!important;backdrop-filter:blur(8px);border:1px solid rgba(171,138,88,.16);box-shadow:0 12px 38px rgba(16,42,34,.055)}
#contact .contact-info a{text-decoration:none}
#contact .contact-info a:hover{text-decoration:underline}
#contact .contact-details{margin-top:20px}
#contact .contact-detail span{line-height:1.75}
#contact .contact-form{background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(16,42,34,.07)}
#contact .form-note{display:none!important}
.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
.footer{background:#063b2d!important;color:#f5f0e8!important}
.footer .footer-top{border-bottom:1px solid rgba(238,222,193,.26);gap:22px}
.footer .footer-bottom{border-top:0!important;color:rgba(255,255,255,.8)}
.footer .footer-logo{background:transparent!important}
.footer .footer-logo img{background:transparent!important;mix-blend-mode:normal;object-fit:contain;width:170px;height:auto;max-height:72px}
.footer .footer-links{border-left:1px solid rgba(238,222,193,.26);padding-left:24px}
.footer-social{display:flex;align-items:center;gap:13px;padding-left:20px;border-left:1px solid rgba(238,222,193,.26)}
.footer-social a{color:#e1c294;display:inline-flex;width:29px;height:29px;align-items:center;justify-content:center}
.footer-social svg{width:24px;height:24px}
.footer-social a:hover{color:white}
@media(max-width:750px){.footer .footer-links,.footer-social{border-left:0;padding-left:0}.footer-social{justify-content:center}.footer .footer-top{justify-content:center}#contact .contact-info{padding:24px!important}}

/* Footer branding and warm architectural contact background */
#contact.contact{background:#f4eee4 url("assets/contact-beige.svg") center center/cover no-repeat!important}
#contact.contact::before{background:linear-gradient(90deg,rgba(255,253,249,.20),rgba(255,253,249,.10))!important}
.footer .footer-logo img{width:215px!important;max-height:85px!important;object-fit:contain!important;mix-blend-mode:normal!important}
.footer-social{gap:18px!important}
.footer-social a{width:39px!important;height:39px!important;color:#d8b27b!important;transition:transform .2s ease,color .2s ease}
.footer-social svg{width:31px!important;height:31px!important}
.footer-social a:hover{color:#fff!important;transform:translateY(-2px)}
@media(max-width:750px){.footer .footer-logo img{width:180px!important}.footer-social a{width:36px!important;height:36px!important}}

/* Mobile: portrait fills the full available width, no green sidebars. */
@media (max-width:650px) {
  #about .about-photo { width:100% !important; height:auto !important; min-height:0 !important; display:block !important; background:transparent !important; padding:0 !important; }
  #about .about-photo img { display:block !important; width:100% !important; height:auto !important; max-width:none !important; object-fit:cover !important; object-position:center !important; }
}



/* AJUSTE FINAL: fade curto no centro e borda da fotografia invisivel */
@media (min-width:901px) {
 .hero .hero-inner::before {
   width:50%!important;
   right:0!important;
   background-position:right center!important;
   background-size:auto 100%!important;
   -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 20%,#000 100%);
   mask-image:linear-gradient(to right,transparent 0%,#000 20%,#000 100%);
 }
 .hero .hero-inner::after {
   background:linear-gradient(to right,#faf8f3 0%,#faf8f3 50%,rgba(250,248,243,.75) 53%,rgba(250,248,243,.35) 57%,transparent 60%,transparent 100%)!important;
 }
}
/* Ajuste do enquadramento: desloca somente a fotografia para a direita. */
@media (min-width:901px) {
  .hero .hero-inner { overflow:hidden!important; }
  .hero .hero-inner::before {
    right:-95px!important;
    width:calc(50% + 95px)!important;
    background-position:right center!important;
  }
}

/* HERO FINAL — enquadramento à esquerda e transição sem emendas */
@media (min-width: 901px) {
  .hero .hero-inner { overflow: hidden !important; }
  .hero .hero-inner::before {
    right: 0 !important;
    width: 50% !important;
    background-position: calc(50% - 55px) center !important;
    background-size: auto 100% !important;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 20%, #000 100%) !important;
    mask-image: linear-gradient(to right, transparent 0%, #000 20%, #000 100%) !important;
  }
  .hero .hero-inner::after {
    background: linear-gradient(to right,
      #faf8f3 0%, #faf8f3 50%,
      rgba(250,248,243,.96) 52%,
      rgba(250,248,243,.68) 55%,
      rgba(250,248,243,.24) 58%,
      transparent 60%, transparent 100%) !important;
  }
}



/* Practice area photography and centered arrow buttons */
.practice-card img {display:block;width:100%;height:168px;object-fit:cover;object-position:center;}
.practice-card:nth-child(4) img,.practice-card:nth-child(5) img {object-position:center;}
.round-arrow {display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;text-align:center;vertical-align:middle;}
@media(max-width:900px){.practice-card img{height:145px;}}
@media(max-width:650px){.practice-card img{height:185px;}}




/* PRACTICE AREA POLISH — subtle elevation, editorial divider and precise arrows */
#practice .section-heading { align-items:center; }
#practice .section-heading > p {
  border-left:1px solid #d7c7b2;
  padding-left:26px;
  max-width:350px;
  margin:0;
}
#practice .practice-card {
  box-shadow:0 5px 18px rgba(28,37,30,.09),0 1px 3px rgba(28,37,30,.035);
  transition:transform .22s ease,box-shadow .22s ease;
}
#practice .practice-card:hover {
  transform:translateY(-3px);
  box-shadow:0 11px 26px rgba(28,37,30,.13);
}
#practice .round-arrow {
  display:grid;
  place-items:center;
  width:33px;
  height:33px;
  padding:0;
  line-height:0;
  border:1px solid var(--gold);
  border-radius:50%;
  background:#fff;
  color:var(--gold);
  cursor:pointer;
}
#practice .round-arrow svg {
  display:block;
  width:19px;
  height:19px;
  stroke:currentColor;
  stroke-width:1.35;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#practice .round-arrow:hover {background:var(--gold);color:#fff;}
#practice .round-arrow:focus-visible {outline:2px solid var(--green);outline-offset:3px;}
@media(max-width:650px) {
  #practice .section-heading > p {margin-top:20px;padding-left:17px;max-width:100%;}
}



/* ABOUT & WHY CHOOSE — refinement */
.about {grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr);}
.about-copy {padding:58px 7% 58px max(32px,calc((100vw - 1250px)/2));}
.about-copy h2 {font-size:clamp(30px,2.65vw,44px);line-height:1.24;letter-spacing:-.045em;max-width:700px;margin:15px 0 13px;}
.about-tag {font-size:12px;letter-spacing:.2em;line-height:1.6;}
.about-copy p {font-size:16px;line-height:1.75;max-width:610px;margin:20px 0 24px;color:#e3ece7;}
.about-photo {height:440px;min-width:0;overflow:hidden;background:#e8e4dd;}
.about-photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%;}
.why {position:relative;background:#f5f2ec;}
.why .section-heading h2 {font-size:clamp(31px,2.8vw,44px);}
.why .section-heading p {border-left:1px solid #d9c6a8;padding-left:24px;max-width:375px;}
.benefits {align-items:stretch;margin-top:38px;}
.benefit {padding:8px 25px 12px;}
.benefit-icon {height:55px;display:flex;align-items:center;justify-content:center;color:var(--gold);}
.benefit-icon svg {width:47px;height:47px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.benefit strong {font-size:12px;letter-spacing:.12em;line-height:1.5;max-width:210px;margin:12px auto 9px;}
.benefit p {font-size:14px;line-height:1.55;max-width:230px;margin:0 auto;}
@media(max-width:900px){.about{grid-template-columns:1fr 1fr}.about-copy{padding:38px 6%}.about-copy h2{font-size:clamp(27px,3.3vw,36px)}.about-copy p{font-size:14px}.about-photo{height:420px}.benefit{padding-inline:12px}.benefit-icon svg{width:41px;height:41px}}
@media(max-width:650px){.about{grid-template-columns:1fr}.about-copy{padding:45px 24px}.about-copy h2{font-size:clamp(29px,7vw,37px)}.about-photo{height:390px}.about-photo img{object-position:center 32%}.why .section-heading p{padding-left:16px}.benefit{padding:16px 9px}.benefit-icon{height:50px}.benefit-icon svg{width:39px;height:39px}.benefit strong{font-size:10px}.benefit p{font-size:12px}}



/* Fotografia About: enquadramento integral e dentro da área designada */
.about {overflow:hidden;}
.about-photo {height:440px;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e9e6df;}
.about-photo img {display:block;width:100%;height:100%;object-fit:contain;object-position:center center;}
@media(max-width:650px){.about-photo{height:420px;}.about-photo img{object-fit:contain;object-position:center center;}}



/* About: fotografia e conteúdo limitados à mesma largura das demais seções */
#about.about {width:min(1250px,calc(100% - 64px));max-width:1250px;margin-inline:auto;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);overflow:hidden;}
#about .about-copy {padding:44px 38px 44px 48px;min-width:0;}
#about .about-photo {height:420px;min-width:0;background:#e9e6df;overflow:hidden;}
#about .about-photo img {width:100%;height:100%;display:block;object-fit:contain;object-position:center center;}
#why .benefit-icon svg {width:49px;height:49px;stroke-width:1.7;}
@media(max-width:900px){#about.about{grid-template-columns:1fr 1fr}#about .about-copy{padding:35px 25px}#about .about-photo{height:420px}}
@media(max-width:650px){#about.about{width:calc(100% - 32px);grid-template-columns:1fr}#about .about-copy{padding:38px 24px}#about .about-photo{height:390px}#about .about-photo img{object-position:center center}}



/* ABOUT: painel verde contínuo até o retrato, sem faixas cinza */
#about.about {
  background:var(--green);
  grid-template-columns:minmax(0,1fr) minmax(300px,34%);
  gap:0;
}
#about .about-copy {background:var(--green);}
#about .about-photo {background:var(--green);height:420px;min-width:0;}
#about .about-photo img {width:100%;height:100%;object-fit:cover;object-position:center 42%;}
@media(max-width:900px) and (min-width:651px) {
  #about.about {grid-template-columns:minmax(0,1fr) 40%;}
}
@media(max-width:650px) {
  #about.about {grid-template-columns:1fr;}
  #about .about-photo {height:390px;}
  #about .about-photo img {object-fit:contain;object-position:center;}
}

/* Primus Lawyer — Locations, Languages and Contact refinements */
.primus-icon{display:block;width:27px;height:27px;flex:0 0 27px;color:var(--gold)}
.locations-columns{gap:26px;align-items:start}
.location-entry{display:flex;align-items:flex-start;gap:14px;min-width:0}
.location-entry .primus-icon{width:25px;height:25px;flex-basis:25px;margin-top:2px}
.location-entry p{margin:0;line-height:1.65}
.language-message{display:flex;align-items:center;gap:22px;max-width:470px}
.language-message .globe-icon{width:53px;height:53px;flex-basis:53px}
.language-message p{max-width:360px;line-height:1.55}
.multilingual-inner{gap:35px}
.contact{position:relative;isolation:isolate;overflow:hidden;background:var(--cream);padding:75px 0}
.contact::before{content:"";position:absolute;z-index:-1;inset:0 32% 0 0;background:linear-gradient(90deg,rgba(248,246,242,.25),rgba(248,246,242,.2) 40%,var(--cream) 100%),url("https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=1600&q=85") center/cover no-repeat;opacity:.58}
.contact-inner{grid-template-columns:minmax(0,1fr) minmax(340px,.86fr);gap:clamp(35px,6vw,100px);align-items:center}
.contact-info{max-width:520px}
.contact-info h2{font-size:clamp(38px,3.8vw,58px);line-height:1.08;margin:15px 0 18px}
.contact-info p{font-size:15px;line-height:1.65}
.contact-details{display:grid;gap:13px;margin-top:24px}
.contact-detail{display:flex;align-items:flex-start;gap:14px;font-size:14px;line-height:1.5;color:var(--ink)}
.contact-detail .primus-icon{width:22px;height:22px;flex-basis:22px;margin-top:1px}
.contact-detail a{text-decoration:none;color:inherit}
.contact-detail a:hover{text-decoration:underline}
.contact-form{position:relative;box-shadow:0 10px 35px rgba(24,37,31,.08);padding:32px}
@media(max-width:850px){.contact::before{inset:0;opacity:.15}.contact-inner{grid-template-columns:1fr;gap:28px}.language-message{margin-top:20px}.locations-columns{gap:18px}}
@media(max-width:520px){.locations-columns{grid-template-columns:1fr}.language-message .globe-icon{width:40px;height:40px;flex-basis:40px}.contact{padding:50px 0}}




/* Novo logo horizontal somente no menu; rodape preservado. */
.header .logo img{width:185px!important;height:auto!important;max-height:65px!important;object-fit:contain!important;object-position:left center!important}
/* Imagem original centralizada na metade direita, sem borda visivel. */
.hero .hero-inner{overflow:hidden!important}
.hero .hero-inner::before{
  content:""!important;display:block!important;position:absolute!important;
  top:0!important;bottom:0!important;right:0!important;left:auto!important;
  width:50%!important;z-index:-2!important;opacity:1!important;
  background-image:url("assets/banner-justica-novo.webp")!important;
  background-size:cover!important;background-position:67% center!important;background-repeat:no-repeat!important;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 10%,#000 23%,#000 100%)!important;
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 10%,#000 23%,#000 100%)!important;
}
.hero .hero-inner::after{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;
  background:linear-gradient(to right,#faf8f3 0%,#faf8f3 49%,rgba(250,248,243,.9) 52%,rgba(250,248,243,.4) 57%,transparent 62%)!important}
@media(max-width:900px){.hero .hero-inner::before{width:72%!important;opacity:.43!important;background-position:67% center!important}.hero .hero-inner::after{background:linear-gradient(to right,#faf8f3 0%,rgba(250,248,243,.98) 46%,rgba(250,248,243,.65) 100%)!important}}
@media(max-width:650px){.header .logo img{width:145px!important;max-height:54px!important}.hero .hero-inner::before{opacity:.23!important}.hero .hero-inner::after{background:linear-gradient(to right,#faf8f3 0%,rgba(250,248,243,.96) 75%,rgba(250,248,243,.8) 100%)!important}}


 :focus-visible{outline:3px solid #a67c45;outline-offset:3px} @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important}} 

/* SEO service links and accessible contact notice */
.practice-page-link{display:inline-block;margin-top:12px;color:var(--green);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.practice-page-link:hover{color:var(--gold-hover)}
.contact-privacy-notice{margin:14px 0 0;font-size:12px;line-height:1.5;color:#48564e}
.service-hero{background:var(--sand);padding:60px 0 50px}
.service-hero .eyebrow{margin-bottom:18px}.service-hero h1{max-width:900px}.service-hero p{max-width:750px;font-size:18px}
.service-content{padding:65px 0}.service-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:65px}
.service-content h2{font-size:clamp(25px,2.5vw,37px);margin:0 0 18px}.service-content h3{margin:30px 0 10px}.service-content p{max-width:740px}
.service-side{background:#fff;padding:22px;align-self:start;box-shadow:0 5px 20px #0000000b}.service-side img{width:100%;height:180px;object-fit:cover;margin-bottom:22px}
.service-side .btn{margin-top:12px}.service-breadcrumb{font-size:13px;margin-bottom:25px}.service-breadcrumb a{text-decoration:underline}
@media(max-width:700px){.service-layout{grid-template-columns:1fr;gap:30px}.service-hero{padding:42px 0}.service-content{padding:40px 0}}
