.practice-page { background: var(--ivory); color: var(--ink-on-light); }
.practice-page .site-header { background: rgba(7,27,24,.94); }

.practice-hero {
  position: relative;
  overflow: hidden;
  color: var(--ink-on-dark);
  background:
    radial-gradient(circle at 76% 18%, rgba(31,57,46,.35), transparent 30%),
    linear-gradient(120deg, #061914 0%, #0b2b26 64%, #071b18 100%);
  padding: 10.6rem 0 5.8rem;
  border-bottom: 3px solid var(--gold);
}
.practice-hero::after {
  content: "01";
  position: absolute;
  right: -1.5rem;
  bottom: -6rem;
  font-family: var(--font-display);
  font-size: clamp(15rem, 30vw, 34rem);
  line-height: .7;
  color: rgba(209,173,104,.035);
  pointer-events: none;
}
.practice-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 2.6rem;
  color: rgba(247,243,236,.68);
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.practice-breadcrumb a { color: inherit; }
.practice-breadcrumb a:hover { color: var(--gold-bright); }
.practice-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.18fr) minmax(310px,.62fr);
  gap: clamp(3.5rem,8vw,8rem);
  align-items: end;
}
.practice-hero .eyebrow { margin-bottom: 1.2rem; }
.practice-hero h1 {
  margin: 0;
  max-width: 800px;
  font-family: var(--font-display);
  font-size: clamp(4.5rem,7.7vw,8.1rem);
  line-height: .88;
  font-weight: 500;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.practice-hero-lead {
  max-width: 720px;
  margin: 2rem 0 0;
  color: var(--muted-on-dark);
  font-size: clamp(1.02rem,1.4vw,1.18rem);
  line-height: 1.78;
}
.practice-hero-actions { display:flex; align-items:center; gap:1.3rem; flex-wrap:wrap; margin-top:2.4rem; }
.practice-hero-meta {
  display:grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1rem;
  max-width: 760px;
  margin-top: 3.2rem;
  padding-top: 1.35rem;
  border-top: 1px solid var(--line-dark);
}
.practice-hero-meta .meta-label { display:block; margin-bottom:.35rem; }
.practice-hero-meta strong { font-size:.76rem; font-weight:500; }
.practice-hero-card {
  position: relative;
  padding: 2.2rem 2.2rem 2.4rem;
  border: 1px solid rgba(209,173,104,.36);
  background: rgba(3,18,15,.42);
  backdrop-filter: blur(8px);
}
.practice-hero-card::before { content:""; position:absolute; left:-1px; top:-1px; width:70px; height:2px; background:var(--gold); }
.practice-card-index { color: var(--gold-bright); font-family:var(--font-display); font-size:1.35rem; }
.practice-hero-card h2 { margin:1.1rem 0 1rem; font-family:var(--font-display); font-size:clamp(2.25rem,3.2vw,3.2rem); line-height:1; font-weight:500; }
.practice-hero-card p { margin:0; color:rgba(247,243,236,.7); font-size:.9rem; line-height:1.72; }
.practice-hero-card ul { margin:1.5rem 0 0; padding:0; list-style:none; border-top:1px solid rgba(247,243,236,.12); }
.practice-hero-card li { padding:.85rem 0; border-bottom:1px solid rgba(247,243,236,.12); color:rgba(247,243,236,.82); font-size:.8rem; line-height:1.5; }

.practice-intro { padding:5.7rem 0 6rem; background:var(--ivory); }
.practice-intro-grid { display:grid; grid-template-columns:.42fr 1.2fr .86fr; gap:3rem; align-items:start; }
.practice-intro h2 { margin:0; max-width:690px; font-family:var(--font-display); font-size:clamp(3rem,4.8vw,5rem); font-weight:500; line-height:.98; color:var(--green-900); letter-spacing:-.02em; }
.practice-intro p { margin:.4rem 0 0; color:#5a605c; font-size:.96rem; line-height:1.82; }

.practice-situations { padding:5.8rem 0 6.2rem; background:var(--green-900); color:var(--ink-on-dark); }
.practice-heading-grid { display:grid; grid-template-columns:.42fr 1.15fr .8fr; gap:3rem; align-items:start; margin-bottom:3.5rem; }
.practice-heading-grid h2 { margin:0; max-width:740px; font-family:var(--font-display); font-size:clamp(3.2rem,5vw,5.2rem); font-weight:500; line-height:.96; }
.practice-heading-grid > p { margin:.55rem 0 0; color:var(--muted-on-dark); font-size:.9rem; line-height:1.75; }
.situation-list { border-top:1px solid var(--line-dark); }
.situation-item { display:grid; grid-template-columns:80px minmax(0,1fr) minmax(260px,.65fr); gap:2rem; align-items:start; padding:2.15rem 0; border-bottom:1px solid var(--line-dark); }
.situation-number { color:var(--gold); font-family:var(--font-display); font-size:1.55rem; }
.situation-item h3 { margin:0; font-family:var(--font-display); font-size:clamp(2rem,3vw,3rem); font-weight:500; line-height:1; }
.situation-item p { margin:.2rem 0 0; color:var(--muted-on-dark); font-size:.88rem; line-height:1.72; }

.practice-process { padding:6rem 0 6.4rem; background:#f7f4ed; }
.process-grid { display:grid; grid-template-columns:.42fr 1.58fr; gap:3rem; }
.process-copy h2 { margin:0; max-width:760px; font-family:var(--font-display); font-size:clamp(3.2rem,5vw,5.3rem); font-weight:500; line-height:.96; color:var(--green-900); }
.process-copy > p { max-width:720px; margin:1.5rem 0 0; color:#59605b; line-height:1.8; }
.process-steps { margin-top:3rem; border-top:1px solid var(--line-light); }
.process-step { display:grid; grid-template-columns:85px 1fr; gap:1.4rem; padding:1.8rem 0; border-bottom:1px solid var(--line-light); }
.process-step > span { color:#9c7d45; font-family:var(--font-display); font-size:1.45rem; }
.process-step h3 { margin:0 0 .5rem; color:var(--green-900); font-family:var(--font-display); font-size:2rem; font-weight:500; }
.process-step p { margin:0; max-width:740px; color:#5e645f; font-size:.9rem; line-height:1.72; }

.practice-analysis { padding:6rem 0 6.4rem; background:var(--ivory); }
.analysis-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(3rem,7vw,7rem); align-items:start; }
.analysis-portrait { margin:0; position:sticky; top:8.2rem; height:650px; overflow:hidden; background:#202422; }
.analysis-portrait img { width:100%; height:100%; object-fit:cover; object-position:50% 25%; }
.analysis-portrait figcaption { position:absolute; left:1.35rem; bottom:1.2rem; color:var(--gold-bright); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; }
.analysis-copy h2 { margin:0; max-width:740px; color:var(--green-900); font-family:var(--font-display); font-size:clamp(3rem,4.8vw,5rem); font-weight:500; line-height:.96; }
.analysis-copy > p { margin:1.4rem 0 0; max-width:690px; color:#59605b; line-height:1.82; }
.analysis-list { margin-top:2.6rem; border-top:1px solid var(--line-light); }
.analysis-item { display:grid; grid-template-columns:55px 1fr; gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--line-light); }
.analysis-item > span { color:#a38349; font-family:var(--font-display); font-size:1.25rem; }
.analysis-item strong { display:block; color:var(--green-900); font-family:var(--font-display); font-size:1.65rem; font-weight:600; }
.analysis-item p { margin:.35rem 0 0; color:#626862; font-size:.88rem; line-height:1.68; }

.practice-rights { padding:6rem 0 6.4rem; background:var(--green-900); color:var(--ink-on-dark); }
.rights-grid { display:grid; grid-template-columns:.55fr 1.45fr; gap:4rem; }
.rights-copy h2 { margin:0; font-family:var(--font-display); font-size:clamp(3.2rem,4.8vw,5rem); line-height:.96; font-weight:500; }
.rights-copy p { margin:1.5rem 0 0; color:var(--muted-on-dark); line-height:1.8; }
.rights-list { border-top:1px solid var(--line-dark); }
.rights-item { display:grid; grid-template-columns:60px 1fr; gap:1rem; padding:1.55rem 0; border-bottom:1px solid var(--line-dark); }
.rights-item > span { color:var(--gold); font-family:var(--font-display); font-size:1.35rem; }
.rights-item strong { display:block; font-family:var(--font-display); font-size:1.65rem; font-weight:500; }
.rights-item p { margin:.3rem 0 0; color:var(--muted-on-dark); font-size:.87rem; line-height:1.65; }

.practice-faq { padding:6rem 0 6.4rem; background:#f7f4ed; }
.faq-grid { display:grid; grid-template-columns:.48fr 1.52fr; gap:4rem; }
.faq-title h2 { margin:0; color:var(--green-900); font-family:var(--font-display); font-size:clamp(3.2rem,4.8vw,5rem); font-weight:500; line-height:.96; }
.faq-list { border-top:1px solid var(--line-light); }
.faq-item { padding:1.7rem 0 1.8rem; border-bottom:1px solid var(--line-light); }
.faq-item h3 { margin:0; color:var(--green-900); font-family:var(--font-display); font-size:clamp(1.8rem,2.8vw,2.7rem); font-weight:500; line-height:1.05; }
.faq-item p { margin:.85rem 0 0; max-width:780px; color:#5c635d; font-size:.92rem; line-height:1.78; }

.practice-related { padding:5.7rem 0 6.2rem; background:var(--ivory); }
.practice-related-heading { display:grid; grid-template-columns:.45fr 1.55fr; gap:3rem; margin-bottom:2.7rem; align-items:end; }
.practice-related h2 { margin:0; color:var(--green-900); font-family:var(--font-display); font-size:clamp(3rem,4.5vw,4.7rem); font-weight:500; line-height:.98; }
.practice-related-list { border-top:1px solid var(--line-light); }
.practice-related-list a { display:grid; grid-template-columns:65px 1fr 30px; gap:1.5rem; align-items:center; padding:1.8rem 0; border-bottom:1px solid var(--line-light); color:var(--green-900); }
.practice-related-list span { color:#a4864d; font-family:var(--font-display); font-size:1.35rem; }
.practice-related-list small { display:block; margin-bottom:.4rem; color:#7e725d; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
.practice-related-list strong { display:block; max-width:760px; font-family:var(--font-display); font-size:clamp(1.7rem,2.5vw,2.55rem); font-weight:500; line-height:1.05; }
.practice-related-list b { color:#846733; font-weight:400; }

.practice-contact { padding:5.8rem 0 6.1rem; background:var(--green-900); color:var(--ink-on-dark); border-top:1px solid rgba(209,173,104,.25); }
.practice-contact-grid { display:grid; grid-template-columns:1.18fr .82fr; gap:clamp(3rem,8vw,8rem); align-items:end; }
.practice-contact h2 { margin:0; max-width:760px; font-family:var(--font-display); font-size:clamp(3rem,4.9vw,5rem); font-weight:500; line-height:.96; }
.practice-contact p:not(.eyebrow) { margin:0 0 1.6rem; color:var(--muted-on-dark); line-height:1.75; }

@media (max-width: 960px) {
  .practice-hero { padding-top:9.4rem; }
  .practice-hero-grid { grid-template-columns:1fr .6fr; gap:3rem; }
  .practice-intro-grid, .practice-heading-grid { grid-template-columns:.35fr 1.2fr; }
  .practice-intro-grid > p, .practice-heading-grid > p { grid-column:2; }
  .situation-item { grid-template-columns:65px 1fr; }
  .situation-item > p { grid-column:2; }
  .analysis-grid { grid-template-columns:.7fr 1.3fr; gap:3rem; }
  .analysis-portrait { height:560px; }
  .rights-grid, .faq-grid { gap:3rem; }
}

@media (max-width: 700px) {
  .practice-hero { padding:7.8rem 0 4.5rem; }
  .practice-hero::after { font-size:17rem; right:-2rem; bottom:-2rem; }
  .practice-hero-grid { display:block; }
  .practice-breadcrumb { margin-bottom:2rem; }
  .practice-hero h1 { font-size:clamp(4rem,17vw,5.3rem); }
  .practice-hero-lead { font-size:1rem; }
  .practice-hero-actions { display:block; }
  .practice-hero-actions .button { width:100%; }
  .practice-hero-actions .text-link { display:inline-flex; margin-top:1.25rem; }
  .practice-hero-meta { grid-template-columns:1fr; gap:1rem; margin-top:2.5rem; }
  .practice-hero-card { margin-top:3rem; padding:1.75rem 1.5rem; }

  .practice-intro { padding:4.4rem 0 4.7rem; }
  .practice-intro-grid, .practice-heading-grid, .process-grid, .analysis-grid, .rights-grid, .faq-grid, .practice-related-heading, .practice-contact-grid { display:block; }
  .practice-intro .section-index, .practice-heading-grid .section-index, .process-grid .section-index, .practice-related-heading .section-index { margin-bottom:1.4rem; }
  .practice-intro h2, .practice-heading-grid h2, .process-copy h2, .analysis-copy h2, .rights-copy h2, .faq-title h2, .practice-related h2, .practice-contact h2 { font-size:clamp(3rem,12vw,4rem); }
  .practice-intro p, .practice-heading-grid > p { margin-top:1.4rem; }

  .practice-situations { padding:4.7rem 0 5rem; }
  .practice-heading-grid { margin-bottom:2.5rem; }
  .situation-item { grid-template-columns:48px 1fr; gap:.8rem; padding:1.7rem 0; }
  .situation-item > p { grid-column:2; margin-top:.4rem; }
  .situation-item h3 { font-size:clamp(2rem,9vw,2.7rem); }

  .practice-process, .practice-analysis, .practice-rights, .practice-faq, .practice-related { padding:4.7rem 0 5rem; }
  .process-copy > p, .analysis-copy > p, .rights-copy p { margin-top:1.3rem; }
  .process-step { grid-template-columns:48px 1fr; gap:.8rem; padding:1.5rem 0; }
  .process-step h3 { font-size:1.75rem; }

  .analysis-portrait { position:relative; top:auto; width:calc(100% + 34px); margin-left:-17px; height:520px; margin-bottom:3rem; }
  .analysis-list { margin-top:2.2rem; }
  .analysis-item { grid-template-columns:45px 1fr; }

  .rights-list, .faq-list { margin-top:2.5rem; }
  .rights-item { grid-template-columns:45px 1fr; }
  .faq-item h3 { font-size:clamp(1.9rem,8vw,2.45rem); }

  .practice-related-heading { margin-bottom:2rem; }
  .practice-related-list a { grid-template-columns:45px 1fr 22px; gap:.8rem; padding:1.5rem 0; }
  .practice-related-list strong { font-size:clamp(1.6rem,7vw,2rem); }

  .practice-contact { padding:4.7rem 0 5rem; }
  .practice-contact-grid > div:last-child { margin-top:2rem; }
  .practice-contact .button { width:100%; }
}

@media (max-width:390px) {
  .practice-hero h1 { font-size:clamp(3.7rem,16vw,4.8rem); }
  .analysis-portrait { width:calc(100% + 28px); margin-left:-14px; }
}
