@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
:root{--ink:#192023;--muted:#626b70;--cream:#f7f5ef;--gold:#b29a65;--line:#dfded8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}.wrap{max-width:1220px;margin:auto;padding:0 32px}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid #eee}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:'Playfair Display',serif;font-size:25px;font-weight:600;letter-spacing:-.04em}.brand small{display:block;font-family:'DM Sans',sans-serif;text-transform:uppercase;font-size:9px;letter-spacing:.28em;font-weight:700;color:var(--gold);margin-top:5px}.links{display:flex;align-items:center;gap:32px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.links a:hover{color:#9d8556}.button{background:var(--ink);color:#fff;padding:17px 24px;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink);cursor:pointer}.button:hover{background:#394249}.button.alt{background:transparent;color:var(--ink)}.eyebrow{color:#9b8250;font-size:11px;text-transform:uppercase;letter-spacing:.25em;font-weight:700}.hero{background:var(--cream);min-height:620px;display:flex;align-items:center;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-100px;top:-100px;border:1px solid #e8e4db;width:780px;height:780px;border-radius:50%;pointer-events:none}.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;padding-top:75px;padding-bottom:75px}.hero h1,.pagehero h1{font-family:'Playfair Display',serif;font-size:clamp(46px,5.2vw,82px);line-height:1.1;font-weight:400;letter-spacing:-.045em;margin:22px 0}.hero h1 em{font-style:normal;color:#a58b5b}.lead{font-size:16px;line-height:1.85;color:#586165;max-width:590px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-frame{min-height:440px;background:linear-gradient(145deg,#343a3e,#121719);position:relative;display:flex;align-items:end;padding:30px;color:white;box-shadow:30px 30px 0 #ece8de}.hero-frame:before{content:'§';font-family:Georgia,serif;font-size:270px;opacity:.16;position:absolute;right:70px;top:5px}.hero-frame span{position:relative;font-family:'Playfair Display',serif;font-size:35px;line-height:1.3}.section{padding:105px 0}.cream{background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section h2,.pagehero h1{font-family:'Playfair Display',serif;font-weight:400;letter-spacing:-.035em}.section h2{font-size:clamp(35px,4vw,56px);margin:15px 0}.section-head p{max-width:440px;line-height:1.75;color:var(--muted)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service{padding:35px;border:1px solid var(--line);background:#fff;min-height:238px}.service b{font-size:12px;color:var(--gold)}.service h3{font-family:'Playfair Display',serif;font-size:26px;font-weight:500;margin:24px 0 15px}.service p{color:var(--muted);font-size:14px;line-height:1.8}.text-link{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--gold);padding-bottom:7px}.lawyer{background:#f0f0ed;position:relative;overflow:hidden}.lawyer img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 15%;filter:grayscale(13%)}.lawyer-info{background:white;padding:22px 4px}.lawyer-info h3{font-family:'Playfair Display',serif;font-size:23px;margin:0 0 8px;font-weight:500}.lawyer-info p{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:#9a8052;margin:0}.cta{background:#192023;color:white;padding:76px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{font-family:'Playfair Display',serif;font-size:42px;font-weight:400;margin:12px 0}.cta .button{background:#c1a873;color:#192023;border-color:#c1a873}footer{background:#101517;color:#eee;padding:65px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:65px}.footer-grid h3{font-family:'Playfair Display',serif;font-size:28px;font-weight:400;margin-top:0}.footer-grid h4{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#c4ac79}.footer-grid p,.footer-grid a{color:#a8b0b2;font-size:13px;line-height:2}.footer-grid a{display:block}.copyright{border-top:1px solid #303637;margin-top:50px;padding-top:22px;color:#818a8c;font-size:11px}.pagehero{padding:105px 0;background:var(--cream)}.pagehero h1{font-size:64px}.pagehero p{max-width:760px;color:var(--muted);line-height:1.85}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.practice{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px;font-family:'Playfair Display',serif;font-size:24px}.practice span{display:block;color:#a88d5b;font:700 11px 'DM Sans',sans-serif;margin-bottom:30px}.about-cols{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.about-cols p{line-height:1.95;color:var(--muted);margin-top:0}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.contact-grid h3{font-family:'Playfair Display',serif;font-size:30px;font-weight:400}.contact-grid p{color:var(--muted);line-height:1.9}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.formgrid label{font-size:12px;font-weight:700;display:block;margin-bottom:18px}.formgrid input,.formgrid textarea{border:1px solid #d7d9d7;width:100%;padding:15px;margin-top:9px;font:14px 'DM Sans',sans-serif}.formgrid .wide{grid-column:1/-1}.form-note{font-size:12px;color:#777}.menu{display:none}@media(max-width:800px){.wrap{padding:0 22px}.nav{height:76px}.links{display:none;position:absolute;top:76px;left:0;right:0;background:white;flex-direction:column;padding:25px;box-shadow:0 15px 25px #0001}.links.open{display:flex}.menu{display:block;background:none;border:none;font-size:25px}.hero-inner,.about-cols,.contact-grid{grid-template-columns:1fr;gap:35px}.hero{min-height:auto}.hero-inner{padding-top:70px}.hero-frame{min-height:280px;box-shadow:12px 12px 0 #ece8de}.hero-frame:before{font-size:170px}.grid3,.practice-grid{grid-template-columns:1fr}.section{padding:70px 0}.section-head,.cta .wrap{display:block}.section-head p{margin-top:15px}.lawyer img{height:460px;object-fit:contain}.footer-grid{grid-template-columns:1fr;gap:20px}.pagehero{padding:70px 0}.pagehero h1{font-size:48px}.formgrid{grid-template-columns:1fr}.cta .button{margin-top:20px}}

/* October 2026: homepage Lady Justice and four-lawyer team presentation */
.hero:after{display:none}
.hero-frame{background:#e5e5e4;min-height:470px;box-shadow:none;padding:0;overflow:hidden;border:1px solid #e8e6e0}
.hero-frame:before{display:none}
.hero-frame img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover;object-position:67% center}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.grid4 .lawyer img{height:370px;object-fit:cover;object-position:center 20%}
.grid4 .lawyer-info{min-height:118px;padding:19px 7px}
.grid4 .lawyer-info h3{font-size:20px;line-height:1.25}
.grid4 .lawyer-info p{font-size:10px}
@media(max-width:1050px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid4 .lawyer img{height:490px}.hero-inner{gap:30px}}
@media(max-width:800px){.hero-frame{min-height:290px}.hero-frame img{min-height:290px;max-height:360px;object-position:70% center}.grid4 .lawyer img{height:440px}}
@media(max-width:520px){.grid4{grid-template-columns:1fr}.grid4 .lawyer img{height:520px}.hero h1{font-size:42px}.hero-inner{padding-bottom:44px}}

/* Brand logo in header: exact gold DC monogram from supplied artwork */
.nav .brand-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none}
.nav .brand-logo .brand-mark{height:52px;width:52px;object-fit:contain;flex:none}
.nav .brand-logo .brand-name{font-family:'Playfair Display',Georgia,serif;font-size:23px;line-height:1.05;letter-spacing:-.025em;color:#192023;font-weight:600;white-space:nowrap}
.hero h1,.hero h1 strong,.hero h1 em{color:#192023!important;font-style:normal!important;font-weight:700!important}
.hero h1 strong,.hero h1 em{font-family:inherit}
@media(max-width:800px){.nav .brand-logo .brand-mark{height:44px;width:44px}.nav .brand-logo .brand-name{font-size:20px}}
@media(max-width:430px){.nav .brand-logo{gap:7px}.nav .brand-logo .brand-mark{width:37px;height:37px}.nav .brand-logo .brand-name{font-size:18px}}

/* Dofoyena brand typography and image update - 2026-10-30 */
.hero h1, .section h2, .pagehero h1, .service h3, .practice,
.lawyer-info h3, .contact-grid h3, .cta h2, .footer-grid h3 {
  font-family: 'Playfair Display', Georgia, serif;
  letter-spacing: -0.025em;
  font-weight: 400;
  color: var(--ink);
}
/* Match the elegant, relaxed 'Choose Us' heading throughout the website. */
.hero h1, .hero h1 strong, .hero h1 span {
  font-weight: 400 !important;
  font-style: normal !important;
  color: var(--ink) !important;
}
.hero h1 {
  font-size: clamp(39px, 3.55vw, 55px) !important;
  line-height: 1.17 !important;
  letter-spacing: -0.028em !important;
  max-width: 100% !important;
  margin: 12px 0 26px !important;
  text-wrap: pretty;
}
.section h2 {font-size: clamp(36px, 3.75vw, 56px); line-height: 1.15; font-weight: 400; margin: 0;}
.pagehero h1 {font-size: clamp(39px, 4vw, 58px); line-height: 1.17; font-weight: 400; letter-spacing: -.025em;}
.service h3 {font-size: clamp(22px, 2vw, 27px); line-height: 1.23; font-weight: 400; margin: 20px 0 16px;}
.practice {font-size: 23px; line-height: 1.25;}
.lawyer-info h3 {font-size: 21px; line-height: 1.28; font-weight: 400;}
.cta h2 {font-size: clamp(31px, 3vw, 42px); line-height: 1.17;}
.contact-grid h3 {font-size: 29px; line-height: 1.2;}
.choose-us-head {align-items: center; gap: 42px;}
.choose-us-head h2 {margin: 0;}
.choose-us-logo {flex: 0 1 465px; width: min(100%, 465px); margin: 0 0 0 auto;}
.choose-us-logo img {width: 100%; height: auto; display: block; object-fit: contain;}
@media(max-width: 900px) {
  .hero h1 {font-size: clamp(37px, 5.6vw, 49px) !important;}
  .section h2 {font-size: 43px;}
  .choose-us-head {display:flex; flex-direction: column; align-items: stretch; gap: 26px;}
  .choose-us-logo {width: min(100%, 465px); flex: none; margin-left: 0;}
}
@media(max-width: 520px) {
  .hero h1 {font-size: 38px !important; line-height: 1.18 !important;}
  .section h2 {font-size: 36px;}
  .pagehero h1 {font-size: 39px;}
  .choose-us-head {gap: 23px;}
  .choose-us-logo {width: 100%;}
}


/* 2026-10-30 Footer refresh: legible contrast, generous spacing, original legal gallery */
.cta h2,.cta .wrap h2{color:#fff !important;font-weight:400 !important;letter-spacing:-.025em !important;}
.cta .eyebrow{color:#cdb57f;}
.cta .button{white-space:nowrap;}
.site-footer{background:#111617;color:#f6f6f4;padding:76px 0 26px;}
.site-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.74fr) minmax(0,1.18fr);gap:clamp(28px,4.2vw,64px);align-items:start;}
.site-footer .footer-column h3{font:600 23px/1.28 'DM Sans',Arial,sans-serif;color:#fff !important;letter-spacing:-.025em;margin:0 0 28px;}
.site-footer .footer-links h3,.site-footer .footer-gallery-column h3{font-size:21px;padding-bottom:16px;border-bottom:2px solid #d1b75e;margin-bottom:23px;}
.site-footer .footer-contact-list{display:grid;gap:18px;margin:5px 0 26px;}
.site-footer .contact-row,.contact-details .contact-row{display:flex;align-items:flex-start;gap:14px;max-width:100%;font:400 14px/1.8 'DM Sans',Arial,sans-serif;}
.site-footer .contact-row{color:#e7e9e6 !important;}
.site-footer .contact-row:hover{color:#e6cc87 !important;}
.site-footer address,.contact-details address{font-style:normal;line-height:1.95;overflow-wrap:anywhere;}
.site-footer .contact-icon{width:20px;height:20px;margin-top:3px;flex:0 0 20px;color:#d5d9d6;}
.site-footer .contact-icon svg,.contact-details .contact-icon svg{width:100%;height:100%;display:block;}
.site-footer .contact-row span:last-child{overflow-wrap:anywhere;}
.site-footer .social-link{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:50%;background:#e3ce6b;color:#111617;transition:transform .2s ease,background .2s ease;}
.site-footer .social-link:hover{transform:translateY(-2px);background:#f1df86;}
.site-footer .social-link svg{width:23px;height:23px;}
.site-footer .footer-quick-links{display:grid;gap:16px;}
.site-footer .footer-quick-links a{display:inline-block;width:max-content;max-width:100%;color:#e7e9e6;font-size:15px;line-height:1.55;transition:color .2s;}
.site-footer .footer-quick-links a:hover{color:#e3ce6b;}
.site-footer .footer-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.site-footer .footer-gallery img{display:block;width:100%;height:91px;object-fit:cover;background:#263032;}
.site-footer .footer-gallery .footer-gallery-wide{grid-column:1/-1;height:220px;object-fit:cover;object-position:center center;}
.site-footer .copyright{border-top:1px solid #343b3b;margin-top:58px;padding-top:23px;color:#9ca7a7;font-size:12px;line-height:1.6;}
.contact-details{display:grid;gap:18px;padding-top:12px;}
.contact-details .contact-row{font-size:14px;color:#354045;line-height:1.9;}
.contact-details .contact-row:hover{color:#947742;}
.contact-details .contact-icon{width:23px;height:23px;margin-top:3px;flex:0 0 23px;color:#a08754;}
.contact-details .contact-row span:last-child{overflow-wrap:anywhere;}
@media(max-width:1000px){.site-footer .footer-grid{grid-template-columns:1.08fr .82fr;gap:40px;}.site-footer .footer-gallery-column{grid-column:1/-1;max-width:530px;}.site-footer .footer-gallery img{height:110px;}.site-footer .footer-gallery .footer-gallery-wide{height:220px;}}
@media(max-width:700px){.site-footer{padding:54px 0 25px;}.site-footer .footer-grid{grid-template-columns:1fr;gap:42px;}.site-footer .footer-gallery-column{grid-column:auto;max-width:100%;}.site-footer .footer-column h3{margin-bottom:22px;}.site-footer .footer-gallery img{height:90px;}.site-footer .footer-gallery .footer-gallery-wide{height:190px;}.site-footer .copyright{margin-top:42px;}.cta{padding:62px 0;}.cta .button{margin-top:22px;}}

/* Dark charcoal hero: consistent with Dofoyena's legal-gallery footer palette */
.hero {background:#111617 !important;color:#f7f6f1;overflow:hidden;}
.hero-inner {grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(30px,4vw,70px);padding-top:58px;padding-bottom:58px;}
.hero h1,.hero h1 strong,.hero h1 span,.hero h1 em {color:#f7f6f1 !important;font-family:'Playfair Display',Georgia,serif;font-weight:400 !important;font-style:normal !important;}
.hero h1 {font-size:clamp(39px,3.75vw,57px) !important;line-height:1.17 !important;letter-spacing:-.025em !important;margin:0 0 25px !important;max-width:620px !important;text-wrap:balance;}
.hero .lead {color:#cfd6d3 !important;font-size:15.5px;line-height:1.85;max-width:615px;}
.hero .hero-actions{margin-top:32px;}
.hero .button {background:#d6bf7b !important;border:1px solid #d6bf7b !important;color:#101517 !important;}
.hero .button:hover{background:#e6d29c !important;border-color:#e6d29c !important;}
.hero .button.alt {background:transparent !important;border:1px solid #8d948f !important;color:#f7f6f1 !important;}
.hero .button.alt:hover{background:#293133 !important;border-color:#a5ada9 !important;}
.hero-frame {background:transparent !important;box-shadow:none !important;border:0 !important;min-height:540px;height:540px;padding:0 !important;display:flex;align-items:center;justify-content:flex-end;overflow:hidden;}
.hero-frame:before,.hero:after {display:none !important;}
.hero-frame img {display:block;width:100%;height:100%;min-height:0 !important;max-height:100%;object-fit:contain;object-position:right center;background:#111617;}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:20px;padding-top:62px;padding-bottom:32px;}.hero h1{font-size:clamp(40px,6vw,51px) !important;max-width:660px !important;}.hero-frame{height:410px;min-height:410px;justify-content:center;}.hero-frame img{object-position:center center;}.hero .lead{max-width:680px;}}
@media(max-width:520px){.hero-inner{padding-top:50px;padding-bottom:28px;}.hero h1{font-size:clamp(35px,9vw,44px) !important;line-height:1.18 !important;}.hero .lead{font-size:14.5px;line-height:1.8;}.hero-frame{height:305px;min-height:305px;}.hero-frame img{object-position:center bottom;}.hero .hero-actions{gap:10px;}.hero .button{padding:15px 17px;font-size:10px;}}
