:root{
  --graphite:#1f2223;
  --graphite-2:#2a2d2e;
  --bone:#f2eee7;
  --bone-2:#f8f5ef;
  --wine:#781a27;
  --wine-dark:#68131f;
  --ink:#22201e;
  --muted:#6e6a65;
  --line:#d7d0c7;
  --white:#fff;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Manrope", Arial, sans-serif;
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bone-2);color:var(--ink);font-family:var(--sans);line-height:1.55}
p{ text-align:justify; text-justify:inter-word; hyphens:auto; }
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button{font:inherit}
.site-header{height:84px;padding:0 clamp(22px,5vw,74px);display:flex;align-items:center;justify-content:space-between;background:rgba(248,245,239,.97);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(0,0,0,.06);backdrop-filter:blur(10px)}
.brand{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:.035em}.brand-role{font-size:9px;letter-spacing:.5em;color:#7f7a74;margin-top:7px;text-align:center;padding-left:.5em}
.main-nav{display:flex;align-items:center;gap:38px;font-size:13px;font-weight:500}.main-nav a{position:relative;padding:30px 0 25px}.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:1px;background:var(--wine);transition:.25s}.main-nav a:hover::after,.main-nav a.active::after{right:0}.main-nav a.active{color:var(--wine)}
.menu-toggle{display:none;border:0;background:none;width:42px;height:42px;padding:8px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0}
.hero{min-height:610px;display:grid;grid-template-columns:53% 47%;background:var(--bone);overflow:hidden}
.hero-copy{padding:clamp(68px,7vw,110px) clamp(28px,7vw,100px);align-self:center}.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;margin:0 0 14px;color:#6c6762}.hero-copy h1{font-family:var(--serif);font-size:clamp(54px,5.7vw,88px);line-height:.88;letter-spacing:.015em;margin:0 0 20px;font-weight:600}.accent-line{display:block;width:40px;height:2px;background:var(--wine);margin:18px 0}.hero-copy h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,2.5vw,40px);line-height:1.02;margin:18px 0 20px}.lead{max-width:670px;font-size:16px;color:#45413d;margin:0 0 34px}.btn{display:inline-flex;align-items:center;gap:24px;min-height:54px;padding:0 27px;font-weight:600;border-radius:3px;transition:.25s}.btn-primary{background:var(--wine);color:#fff}.btn-primary:hover{background:var(--wine-dark);transform:translateY(-1px)}
.hero-image-wrap,.about-image-wrap{position:relative;overflow:hidden}.hero-image-wrap img{height:100%;object-fit:cover;object-position:50% 26%;filter:saturate(.9) contrast(.99)}.hero-image-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(242,238,231,.28),transparent 35%)}.hero-note{position:absolute;z-index:2;top:15%;right:7%;color:rgba(255,255,255,.84);font-size:12px;line-height:1.8;letter-spacing:.34em}.placeholder-badge{position:absolute;z-index:5;bottom:18px;right:18px;background:rgba(31,34,35,.75);color:#fff;padding:7px 10px;font-size:9px;letter-spacing:.18em;border-radius:2px}
.authority{background:var(--graphite);color:#f6f2ec;display:grid;grid-template-columns:repeat(3,1fr);padding:38px clamp(24px,5vw,70px);gap:0}.authority article{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:0 34px;border-left:1px solid rgba(255,255,255,.32);align-items:start}.authority article:first-child{border-left:0;padding-left:0}.authority article:last-child{padding-right:0}.authority-icon{font-size:30px;line-height:1}.authority h3{text-transform:uppercase;font-family:var(--serif);font-size:19px;line-height:1.05;margin:0 0 13px;font-weight:500}.authority p{font-size:12px;margin:0;color:#ded8d1;line-height:1.55}
.section{padding:80px clamp(24px,5vw,72px)}.practice{background:var(--bone-2)}.section-heading{max-width:var(--max);margin:0 auto 42px}.split-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.split-heading h2{font-family:var(--serif);font-size:clamp(34px,3.2vw,50px);font-weight:500;line-height:1.05;max-width:800px;margin:0}.section-note{text-align:right;font-size:10px;letter-spacing:.11em;line-height:1.8;color:#99928b;margin:0 0 5px}
.practice-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.practice-grid article{padding:25px 22px 28px;border-right:1px solid var(--line)}.practice-grid article:first-child{padding-left:0}.practice-grid article:last-child{border-right:0;padding-right:0}.practice-grid h3{font-family:var(--serif);font-size:24px;font-weight:600;margin:0 0 16px}.practice-grid p{font-size:12.5px;line-height:1.55;min-height:180px;margin:0 0 15px;color:#4d4945}.practice-grid a{font-size:12px;color:var(--wine);font-weight:600;border-bottom:1px solid var(--wine);padding-bottom:3px}.practice-grid a span{margin-left:7px}
.about{display:grid;grid-template-columns:44% 56%;background:var(--bone)}.about-image-wrap img{height:100%;min-height:490px;object-fit:cover;object-position:50% 25%;filter:saturate(.88) contrast(.99)}.about-overlay{position:absolute;top:48px;left:42px;color:rgba(255,255,255,.85);font-size:12px;letter-spacing:.3em;line-height:1.8}.about-copy{padding:68px clamp(35px,6vw,90px);align-self:center}.about-copy h2{font-family:var(--serif);font-size:42px;line-height:1;margin:14px 0 26px;font-weight:500}.about-copy p{font-size:13.5px;max-width:820px;color:#4c4844;margin:0 0 13px}
.mission-vision{display:grid;grid-template-columns:1fr 1fr;background:var(--graphite);color:#f7f2eb;padding:42px clamp(24px,6vw,85px)}.mission-vision article{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:0 40px}.mission-vision article+article{border-left:1px solid rgba(255,255,255,.3)}.mv-icon{font-size:34px}.mission-vision h2{font-family:var(--serif);font-size:26px;font-weight:500;margin:0 0 8px}.mission-vision p{font-size:12.5px;color:#e1dbd4;margin:0;max-width:620px}
.contact{background:linear-gradient(110deg,var(--wine-dark),#861f2e 70%,#6c1522);color:#fff;padding:55px clamp(24px,6vw,85px);display:grid;grid-template-columns:1.55fr .85fr;gap:65px}.contact-copy h2{font-family:var(--serif);font-size:clamp(48px,4vw,66px);line-height:1;margin:0 0 14px;font-weight:500}.contact-copy>p:not(.eyebrow){max-width:800px;font-family:var(--serif);font-size:20px;line-height:1.28;color:#f2dfdf}.eyebrow.light{color:#e8cfd2}.btn-light{margin-top:17px;background:#fff;color:var(--wine-dark)}.btn-light:hover{transform:translateY(-1px);background:#f8f3ef}.contact-details{border-left:1px solid rgba(255,255,255,.6);padding-left:45px;display:flex;flex-direction:column;justify-content:center;gap:18px}.contact-details>div{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start}.detail-icon{font-size:18px}.contact-details p{margin:0;font-size:13px;color:#f3e5e7}.contact-details strong{font-weight:600}
.site-footer{background:#17191a;color:#bdb8b1;display:flex;justify-content:space-between;padding:18px clamp(24px,6vw,85px);font-size:10px}.site-footer p{margin:0}.floating-whatsapp{position:fixed;right:22px;bottom:22px;min-height:52px;padding:0 18px 0 12px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:9px;background:#25D366;color:#fff;font-weight:700;font-size:13px;letter-spacing:.01em;box-shadow:0 8px 25px rgba(0,0,0,.22);z-index:40;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.floating-whatsapp:hover{transform:translateY(-2px);background:#20bd5a;box-shadow:0 10px 28px rgba(0,0,0,.28)}.wa-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);font-size:16px;line-height:1}.wa-label{white-space:nowrap}
@media(max-width:1050px){.main-nav{gap:22px;font-size:12px}.hero{grid-template-columns:55% 45%}.hero-copy{padding-left:45px;padding-right:35px}.authority{grid-template-columns:repeat(3,1fr)}.authority article{padding:0 24px}.practice-grid{grid-template-columns:repeat(2,1fr)}.practice-grid article{border-bottom:1px solid var(--line)}.practice-grid article:nth-child(2n){border-right:0}.practice-grid article:first-child{padding-left:22px}.practice-grid article:last-child{padding-right:22px}.practice-grid p{min-height:auto}.about{grid-template-columns:42% 58%}}
@media(max-width:780px){.site-header{height:72px}.brand-name{font-size:17px}.menu-toggle{display:block}.main-nav{position:absolute;top:72px;left:0;right:0;background:var(--bone-2);padding:16px 24px 28px;display:none;flex-direction:column;align-items:flex-start;gap:0;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.main-nav a{padding:12px 0;width:100%}.main-nav a::after{bottom:7px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:54px 26px 45px}.hero-copy h1{font-size:56px}.hero-image-wrap{height:500px}.hero-note{right:8%;top:18%}.authority{grid-template-columns:1fr;padding:34px 26px}.authority article{border-left:0;border-bottom:1px solid rgba(255,255,255,.25);padding:24px 0}.authority article:last-child{border-bottom:0}.split-heading{display:block}.section-note{text-align:left;margin-top:25px}.practice-grid{grid-template-columns:1fr}.practice-grid article,.practice-grid article:first-child,.practice-grid article:last-child{border-right:0;padding:24px 0}.about{grid-template-columns:1fr}.about-image-wrap{height:430px}.about-image-wrap img{min-height:430px}.about-copy{padding:50px 26px}.mission-vision{grid-template-columns:1fr;padding:35px 26px}.mission-vision article{padding:22px 0}.mission-vision article+article{border-left:0;border-top:1px solid rgba(255,255,255,.3)}.contact{grid-template-columns:1fr;padding:50px 26px;gap:40px}.contact-details{border-left:0;border-top:1px solid rgba(255,255,255,.6);padding:30px 0 0}.site-footer{gap:14px;flex-direction:column}.floating-whatsapp{right:16px;bottom:16px;min-height:48px;padding:0 15px 0 10px;font-size:12.5px}.wa-icon{width:28px;height:28px}}

/* Microcopy and UI labels remain naturally aligned; paragraph copy is justified. */
.section-note,.contact-details p,.site-footer p{ text-align:left; }


/* Internal practice-area pages */
.internal-hero{background:var(--bone);padding:clamp(70px,8vw,125px) clamp(24px,7vw,105px) 70px;border-bottom:1px solid var(--line)}
.internal-hero-inner{max-width:1180px;margin:0 auto}
.breadcrumb{font-size:11px;letter-spacing:.08em;color:#817a73;margin:0 0 30px;text-align:left}
.breadcrumb a{color:var(--wine)}
.internal-hero h1{font-family:var(--serif);font-size:clamp(52px,6vw,86px);line-height:.92;font-weight:600;margin:0 0 22px;max-width:900px}
.internal-hero .intro{font-family:var(--serif);font-size:clamp(24px,2.4vw,34px);line-height:1.15;max-width:900px;margin:20px 0 0;color:#38332f}
.practice-page{background:var(--bone-2);padding:75px clamp(24px,7vw,105px)}
.practice-page-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:90px}
.practice-copy h2,.practice-copy h3{font-family:var(--serif);font-weight:500;color:var(--ink)}
.practice-copy h2{font-size:42px;line-height:1.05;margin:0 0 22px}
.practice-copy h3{font-size:28px;margin:42px 0 12px}
.practice-copy p{font-size:15px;color:#4b4641;margin:0 0 18px;line-height:1.75}
.practice-points{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:28px 0 42px;padding:0;list-style:none}
.practice-points li{border-top:1px solid var(--line);padding:14px 0;font-size:13.5px;line-height:1.45}
.practice-aside{align-self:start;position:sticky;top:112px;background:var(--graphite);color:#f5f0e9;padding:34px 32px}
.practice-aside .eyebrow{color:#c9c0b6}
.practice-aside h2{font-family:var(--serif);font-size:34px;line-height:1.05;font-weight:500;margin:12px 0 18px}
.practice-aside p{font-size:13px;color:#ddd6ce;line-height:1.65;margin-bottom:24px}
.practice-aside .btn{width:100%;justify-content:space-between;background:var(--wine);color:#fff;padding:0 20px}
.related-areas{background:var(--bone);padding:58px clamp(24px,7vw,105px)}
.related-inner{max-width:1180px;margin:0 auto}
.related-inner h2{font-family:var(--serif);font-size:34px;font-weight:500;margin:0 0 25px}
.related-links{display:flex;flex-wrap:wrap;gap:10px}
.related-links a{border:1px solid #cfc6bc;padding:11px 16px;font-size:12px;transition:.2s}
.related-links a:hover{border-color:var(--wine);color:var(--wine)}
.internal-contact{background:linear-gradient(110deg,var(--wine-dark),#861f2e 70%,#6c1522);color:#fff;padding:58px clamp(24px,7vw,105px)}
.internal-contact-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:50px}
.internal-contact h2{font-family:var(--serif);font-size:clamp(40px,4vw,58px);font-weight:500;line-height:1;margin:0 0 12px}
.internal-contact p{max-width:750px;font-size:14px;color:#f1dedf;margin:0}
.internal-contact .btn{background:white;color:var(--wine-dark);white-space:nowrap}
@media(max-width:900px){.practice-page-inner{grid-template-columns:1fr;gap:45px}.practice-aside{position:static}.practice-points{grid-template-columns:1fr}.internal-contact-inner{align-items:flex-start;flex-direction:column;gap:28px}}
@media(max-width:780px){.internal-hero{padding:52px 26px 48px}.internal-hero h1{font-size:52px}.practice-page{padding:52px 26px}.practice-copy h2{font-size:36px}.related-areas{padding:45px 26px}.internal-contact{padding:48px 26px}.internal-contact .btn{width:100%;justify-content:space-between}}
