:root{--purple:#1d0b48;--purple2:#311064;--gold:#c79b45;--cream:#f7f3ea;--ink:#1f1b27;--muted:#6c6673;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.65;background:#fff}a{color:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.narrow{max-width:820px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:999}.utility-bar{background:#12052e;color:#e9dfcf;font:12px/1.3 Arial,sans-serif}.utility-inner{display:flex;justify-content:flex-end;gap:28px;padding:8px 0}.utility-inner a{text-decoration:none}.site-header{background:var(--purple);color:#fff;position:relative;z-index:20}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:18px;text-decoration:none}.brand img{width:190px;max-height:68px;object-fit:contain}.brand span{font:italic 13px Georgia;color:#d8c8b1;border-left:1px solid #634f80;padding-left:18px}.primary-nav{display:flex;align-items:center;gap:22px}.primary-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}.primary-nav a{text-decoration:none;font:13px Arial,sans-serif}.menu-toggle{display:none;background:none;border:1px solid #fff;color:#fff;padding:9px 14px}.button{display:inline-block;border:0;text-decoration:none;padding:14px 24px;text-transform:uppercase;letter-spacing:.08em;font:700 11px Arial,sans-serif;cursor:pointer}.button-gold{background:var(--gold);color:#1a1020}.button-purple{background:var(--purple);color:#fff}.button-outline{border:1px solid rgba(255,255,255,.7);color:#fff;background:transparent}.hero{min-height:520px;background:var(--purple);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0 0 0 43%;background:linear-gradient(90deg,var(--purple) 0%,rgba(29,11,72,.55) 38%,rgba(29,11,72,.08) 70%),url('../images/hero-family.jpg') center/cover no-repeat}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,11,72,1) 0 40%,rgba(29,11,72,.4) 63%,transparent 100%)}.hero-content{position:relative;z-index:2;padding:76px 0;max-width:620px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font:700 11px Arial,sans-serif;color:#7d6d64;margin-bottom:15px}.eyebrow.light{color:#d2b56d}.hero h1,.page-hero h1{font-size:64px;line-height:1.02;margin:0 0 22px;font-weight:500}.hero p{font-size:19px;max-width:560px;color:#eee5f3}.actions{display:flex;gap:12px;margin-top:30px}.split{padding:70px 0}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}h2{font-size:40px;line-height:1.15;font-weight:500;margin:0 0 20px}h3{font-size:18px;color:#514858}.text-link{font:700 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--purple)}.practice-home{background:linear-gradient(135deg,#18063d,#351066);color:#fff;padding:75px 0;text-align:center}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:36px 0}.practice-card{height:250px;display:flex;align-items:flex-end;justify-content:center;padding:25px;text-decoration:none;background:linear-gradient(rgba(14,5,35,.25),rgba(14,5,35,.75)),url('../images/hero-family.jpg') center/cover;border:1px solid rgba(255,255,255,.15)}.practice-card.estate{background-position:25% center}.practice-card.probate{background-position:80% center}.practice-card span{font-size:25px}.light-btn{margin-top:15px}.attorney{padding:80px 0;background:#fbfaf7}.attorney-grid{display:grid;grid-template-columns:420px 1fr;gap:75px;align-items:center}.portrait-frame{padding:12px;border:1px solid #d2c2a5;background:#fff}.portrait-frame img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.attorney blockquote{font-size:27px;line-height:1.4;margin:24px 0;color:#3e3451}.why{padding:78px 0}.center{text-align:center}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:42px}.why-grid div{padding:28px 20px;border-top:2px solid var(--gold);text-align:center}.why-grid strong{font-size:19px}.why-grid p{font-size:14px;color:var(--muted)}.testimonial{padding:75px 0;background:var(--cream)}.testimonial blockquote{max-width:850px;margin:28px auto;text-align:center;font-size:28px;font-style:italic}.small{font:12px Arial;color:#746d78}.resources-home{padding:75px 0}.resources-home img{width:100%;height:340px;object-fit:cover}.cta{background:var(--purple);color:#fff;text-align:center;padding:62px 0}.cta h2{font-size:42px}.page-hero{background:linear-gradient(135deg,#1a073f,#371166);color:#fff;padding:85px 0}.page-hero p{font-size:19px;max-width:680px}.content-section{padding:75px 0}.content-section h2{margin-top:45px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.principles>div{background:var(--cream);padding:24px}.service-list article{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:55px 0;border-bottom:1px solid #ddd}.service-list span{font:12px Arial;color:var(--gold)}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.resource-grid article{padding:30px;background:var(--cream)}.resource-grid article span{font:700 11px Arial;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.resource-grid h2{font-size:28px;margin-top:14px}.legal-note{margin-top:35px;padding:20px;border-left:3px solid var(--gold);background:#fafafa}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:70px}.contact-form{display:grid;gap:16px}.contact-form label{font:700 12px Arial,sans-serif;letter-spacing:.03em}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:13px;margin-top:7px;border:1px solid #cfc8d5;font:15px Arial;background:#fff}.checkbox{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}.checkbox input{width:auto;margin-top:4px}.map{width:100%;height:260px;border:0;margin-top:20px}.notice{padding:14px;margin-bottom:20px}.success{background:#e7f5e9}.error{background:#fbe8e8}.site-footer{background:#14052f;color:#ddd1e6;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px}.footer-logo{width:220px}.site-footer h3{color:#fff}.site-footer a{text-decoration:none}.footer-bottom{border-top:1px solid #4b3763;margin-top:35px;padding-top:18px;display:flex;justify-content:space-between;gap:30px;font:11px Arial;color:#afa2b9}
@media(max-width:900px){.utility-bar{display:none}.brand span{display:none}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:90px;background:#18063d;padding:25px;flex-direction:column}.primary-nav.open{display:flex}.primary-nav ul{flex-direction:column;text-align:center}.hero-image{left:0;opacity:.45}.hero:after{background:rgba(29,11,72,.72)}.hero h1,.page-hero h1{font-size:48px}.split-grid,.attorney-grid,.contact-grid{grid-template-columns:1fr}.practice-grid{grid-template-columns:1fr}.practice-card{height:220px}.why-grid{grid-template-columns:1fr 1fr}.attorney-grid{gap:35px}.portrait-frame{max-width:440px}.service-list article{grid-template-columns:1fr;gap:10px}.footer-grid{grid-template-columns:1fr 1fr}.resource-grid{grid-template-columns:1fr}}
@media(max-width:560px){.wrap{width:min(calc(100% - 28px),var(--max))}.header-inner{height:76px}.brand img{width:160px}.primary-nav{top:76px}.hero{min-height:580px}.hero h1,.page-hero h1{font-size:40px}.actions{flex-direction:column;align-items:flex-start}h2{font-size:34px}.why-grid,.principles,.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.utility-inner{display:none}}

/* 2026 launch polish: high-contrast white header, larger logo, sticky navigation */
.site-header{background:#fff;color:var(--purple);position:sticky;top:0;z-index:100;box-shadow:0 3px 18px rgba(20,5,47,.10)}
.utility-bar{background:#12052e;color:#e9dfcf}
.header-inner{min-height:96px;height:auto;padding:10px 0}
.brand img{width:240px;max-width:32vw;max-height:76px;object-fit:contain}
.brand span{color:#695b77;border-left:1px solid #d8cfde}
.primary-nav a{color:var(--purple);font-size:13px;font-weight:600;letter-spacing:.015em}
.primary-nav a:hover,.primary-nav a:focus{color:#8c6828}
.primary-nav .button-gold{color:#1a1020}
.menu-toggle{border:1px solid var(--purple);color:var(--purple);border-radius:2px}
.button-gold{box-shadow:0 2px 0 rgba(0,0,0,.08)}
.button-gold:hover,.button-gold:focus{filter:brightness(.96);transform:translateY(-1px)}
.hero-content{padding:88px 0}
@media(max-width:900px){
  .primary-nav{top:96px;background:#fff;box-shadow:0 12px 24px rgba(20,5,47,.12)}
  .primary-nav a{color:var(--purple)}
  .primary-nav .button-gold{color:#1a1020}
  .brand img{width:210px;max-width:58vw}
}
@media(max-width:560px){
  .header-inner{min-height:78px;padding:7px 0}
  .brand img{width:185px;max-width:62vw}
  .primary-nav{top:78px}
}

/* v2.0 editable imagery and refinement */
.hero-image{background:linear-gradient(90deg,var(--purple) 0%,rgba(29,11,72,.55) 38%,rgba(29,11,72,.08) 70%),var(--tef-hero-image,url('../images/hero-family.jpg')) center/cover no-repeat}
.practice-card{background:linear-gradient(rgba(14,5,35,.28),rgba(14,5,35,.78)),var(--card-image,url('../images/hero-family.jpg')) center/cover no-repeat;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.practice-card:hover,.practice-card:focus{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.22);border-color:rgba(199,155,69,.75)}
.resources-home img{border-radius:2px;box-shadow:0 16px 38px rgba(31,27,39,.12)}
.button{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.button:hover,.button:focus{transform:translateY(-2px)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}
.footer-credentials{font:12px/1.6 Arial,sans-serif;color:#bfb2c9}.social-links{display:flex;gap:14px;flex-wrap:wrap;font:12px Arial,sans-serif}.social-links a{color:#d2b56d}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.button,.practice-card{transition:none}}

/* v3.0 distinct practice imagery and high-contrast footer wordmark */
.footer-wordmark{display:inline-flex;flex-direction:column;align-items:center;line-height:1;margin-bottom:18px;min-width:250px}.footer-wordmark .footer-the,.footer-wordmark .footer-firm{color:var(--gold);font-size:16px;letter-spacing:.32em;margin-left:.32em}.footer-wordmark strong{color:#fff;font-size:34px;font-weight:500;letter-spacing:.06em;margin:7px 0}.footer-wordmark small{color:#fff;font:9px/1.4 Arial,sans-serif;letter-spacing:.22em;margin-top:9px}.practice-card.family{background-position:center 38%}.practice-card.estate{background-position:center 48%}.practice-card.probate{background-position:center 45%}
