:root{
  --ink:#242321;
  --paper:#ffffff;
  --white:#ffffff;
  --muted:#746f68;
  --red:#8f2025;
  --line:rgba(36,35,33,.15);
}

body{background:var(--paper);color:var(--ink)}

/* Warm ivory navigation with the original deep-red brand mark */
.site-head{position:absolute;color:var(--ink);background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.brand img{width:232px;filter:none}
.site-head nav a:hover{color:var(--red);opacity:1}
.head-contact{border-left-color:var(--line)}
.head-contact span{color:var(--muted)}
.head-contact strong{color:var(--red)}
.method-icon{width:54px;height:54px;margin-top:34px;border:1px solid rgba(167,39,45,.32);border-radius:6px;display:grid;place-items:center;color:var(--red);transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.method-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.method-track article:hover .method-icon{background:var(--red);border-color:var(--red);color:#fff}
.method-track article h3{margin-top:25px}
.method-track{grid-template-columns:repeat(4,1fr)}
.hero-keywords{margin:24px 0 0;color:var(--red);font-size:16px;font-weight:700;line-height:1.8}
.hero-actions{flex-wrap:wrap}
.method-lead{max-width:760px;color:var(--muted);font-size:17px;margin-top:24px}
.client-focus{max-width:var(--max);margin:auto;padding:120px clamp(24px,6vw,90px);background:#fff;border-top:1px solid var(--line)}
.client-focus-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:3vw 8vw;align-items:end}.client-focus-head .section-no{grid-column:1/-1;margin-bottom:5px}.client-focus-head h2{font-size:clamp(36px,4.2vw,64px);line-height:1.25;letter-spacing:-.05em;font-weight:500;margin:0}.client-focus-head>p:last-child{color:var(--muted);font-size:17px}
.client-groups{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:60px}.client-groups article{padding:28px;min-height:190px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.client-groups b{color:var(--red)}.client-groups h3{font-size:22px;margin:28px 0 10px}.client-groups p{font-size:16px;color:var(--muted);margin:0}
.scenario-panel{margin-top:70px;padding:50px;background:#242321;color:#fff;border-radius:var(--radius);display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.scenario-panel span{color:#d48185;letter-spacing:.14em}.scenario-panel h3{font-size:36px;font-weight:500;line-height:1.35}.scenario-panel ul{margin:0;padding-left:20px;columns:2;column-gap:45px}.scenario-panel li{break-inside:avoid;margin-bottom:16px;color:#d0cfcb;font-size:16px}
.menu{border-color:var(--red);color:var(--red)}

/* The home page is light-first; photography carries the atmosphere */
.hero{background:var(--paper);color:var(--ink);grid-template-columns:10% 41.6% 38.4% 10%;min-height:100vh;padding-top:0}
.hero-copy{grid-column:2;padding:162px 2vw 150px 0;background:linear-gradient(110deg,var(--paper) 0%,var(--paper) 82%,rgba(255,255,255,.06) 100%)}
.hero h1{font-size:clamp(50px,4.9vw,64px);line-height:1.1;letter-spacing:-.045em;max-width:690px}
.eyebrow{color:var(--red)}
.hero .lead{color:#5e5a54;max-width:650px;line-height:1.9}
.btn.primary{background:var(--red);color:#fff}
.btn.primary:hover{background:#73171b}
.btn.text{border-bottom-color:rgba(36,35,33,.35)}
.hero-actions .btn.text:hover{color:var(--red);border-bottom-color:var(--red)}
.hero-image:after{background:linear-gradient(90deg,var(--paper) 0,rgba(255,255,255,.82) 14%,rgba(255,255,255,.28) 31%,transparent 52%,rgba(0,0,0,.1))}
.hero-image{grid-column:3/5;margin-right:0;overflow:hidden;border-radius:0;background:none}
.hero-image>img{position:relative;z-index:auto;filter:saturate(.82) contrast(1.03);object-fit:cover;object-position:center;background:transparent}
.hero-image figcaption{bottom:125px}
.matter-index{border-top-color:var(--line)}
.matter-index>p{color:var(--muted);font-size:16px}
.matter-index li{color:#66615b}
.matter-index{left:0;right:0;bottom:0;width:auto;grid-template-columns:150px 1fr;gap:0;padding:0 10%;border-top:1px solid rgba(143,32,37,.22);background:rgba(255,255,255,.94);box-shadow:0 -10px 34px rgba(28,24,22,.06);backdrop-filter:blur(12px);align-items:stretch}
.matter-index ol{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.matter-index>p{margin:0;padding:22px 22px 20px 0;display:flex;align-items:center;border-top:3px solid var(--red);font-weight:700;color:var(--ink)}
.matter-index ol{background:transparent;box-shadow:none;backdrop-filter:none;border-top:0}
.matter-index li{padding:18px 22px;border-left:1px solid var(--line);font-size:16px;align-items:center;display:grid;grid-template-columns:auto 1fr;gap:14px;transition:background-color .22s ease}
.matter-index li:hover{background:#fff}
.matter-index li span{display:grid;gap:2px;color:var(--muted);line-height:1.45}
.matter-index li strong{color:var(--ink);font-size:17px;font-weight:700;margin-bottom:3px}
.matter-index .metric-number{display:flex;align-items:flex-start;color:var(--red);font-size:31px;line-height:1;font-weight:500;letter-spacing:-.04em;margin:0}
.matter-index .metric-number sup{font-size:14px;line-height:1;margin:1px 0 0 3px;letter-spacing:0;font-weight:700}

/* Deep sections are reserved for matters and practices */
.case-file{background:#252422}
.case-paper{background:#fff}
.areas{background:#242321}
.area-list a:hover{background:#2d2b28}
.contact{background:var(--red)}
.site-footer{background:#1c1b1a}

.intro,.lawyer-match,.team-all,.method,.knowledge{background:var(--paper)}
.lawyer-card{background:#ebe5dc}
.team-member figure{background:#ded7cd}
.section-no{color:var(--red)}

/* Desktop: the selected-matters story is composed as one complete viewport. */
@media(min-width:1101px){
  .case-file{height:100vh;min-height:720px;padding-top:42px;padding-bottom:42px;align-items:center;overflow:hidden}
  .case-sidebar{align-self:center}.case-sidebar h2{font-size:clamp(42px,3.6vw,56px);line-height:1.2;margin-bottom:18px}.case-sidebar>p:not(.section-no){font-size:16px;line-height:1.75}.case-tabs{margin-top:34px}.case-tabs button{padding:14px 0;font-size:16px}
  .case-paper{align-self:center;padding:26px clamp(28px,3vw,48px);max-height:calc(100vh - 84px);box-shadow:0 24px 60px rgba(0,0,0,.2)}
  .paper-meta{padding-bottom:12px;font-size:16px;line-height:1.4}
  .case-identity{margin:14px 0 16px}.case-identity dt,.case-identity dd{padding:8px 13px;line-height:1.45}
  .case-paper h3{font-size:clamp(28px,2.35vw,38px);line-height:1.28;margin:14px 0 16px}
  .case-visual{gap:16px}.case-visual img{height:160px}.case-visual blockquote{padding:22px;font-size:16px;line-height:1.65}
  .case-logic{gap:16px;margin-top:18px}.case-logic div{padding-top:9px}.case-logic span,.case-logic p{font-size:16px}.case-logic p{line-height:1.55;margin:6px 0 0}
  .case-owner{margin-top:14px;padding-top:13px}.case-owner a,.case-owner span{font-size:16px}
}

@media(max-width:1100px){
  .site-head{background:rgba(255,255,255,.97)}
  .site-head nav{background:var(--paper);color:var(--ink)}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:0}
  .hero-copy{grid-column:auto;padding:140px 7vw 70px}
  .hero-image{grid-column:auto;height:460px;margin:0}
  .hero-image figcaption{bottom:35px}
  .matter-index{display:grid;position:static;grid-column:1;width:auto;margin:0;padding:20px 7vw 35px;grid-template-columns:1fr;background:#f5f2ed;border-bottom:1px solid var(--line)}
  .matter-index>p{margin:0 18px 12px}.matter-index ol{grid-template-columns:repeat(2,1fr)}.matter-index li{padding:18px;border-top:1px solid var(--line)}
  .method-track{grid-template-columns:repeat(2,1fr)}
  .client-groups{grid-template-columns:repeat(2,1fr)}.scenario-panel{grid-template-columns:1fr}.scenario-panel ul{columns:1}
}

@media(max-width:640px){
  .brand img{width:205px}
  .hero-copy{background:var(--paper)}
  .hero-image{margin:0;height:330px;min-height:0;border-radius:0}
  .matter-index{margin:0;padding:20px 22px 30px}.matter-index ol{grid-template-columns:1fr}.matter-index li{min-height:78px}.matter-index li strong{font-size:16px}
  .hero-image:after{background:linear-gradient(180deg,var(--paper),transparent 28%,rgba(0,0,0,.08))}
  .method-track{grid-template-columns:1fr}
  .client-focus{padding:80px 22px}.client-focus-head{grid-template-columns:1fr}.client-groups{grid-template-columns:1fr;margin-top:40px}.scenario-panel{padding:30px 22px}.scenario-panel h3{font-size:30px}
  .hero h1{font-size:clamp(38px,10.5vw,44px);line-height:1.18;letter-spacing:-.035em}
}
