/* Landing practice — navy, avorio e rame */
.practice-page { background: #fbf9f4; color: #14202b; }
.practice-page .shell { max-width: 1240px; }
.practice-page h1, .practice-page h2, .practice-page h3 {
  hyphens: none; -webkit-hyphens: none; overflow-wrap: normal; word-break: normal;
}
.practice-page .site-nav { background: rgba(251,249,244,.97); border-color: rgba(20,32,43,.18); }
.practice-page .brand__mark, .practice-page .brand__name { color: #07182b; }
.practice-page .brand__sub { color: #5f6870; }
.practice-page .site-nav__links { gap: var(--sp-2); }
.practice-page .nav-link { color: #34414c; }
.practice-page .lang-links { display: inline-flex; align-items: center; border-left: 1px solid rgba(20,32,43,.18); padding-left: var(--sp-3); }
.practice-page .lang-links a { min-width: 34px; padding: .35rem; color: #5f6870; font: 600 .72rem/1 var(--font-mono); text-align: center; }
.practice-page .lang-links a[aria-current="page"] { color: #07182b; text-decoration: underline; text-decoration-color: #9a5f3e; text-underline-offset: .25rem; }

.practice-hero {
  padding: calc(var(--nav-h) + clamp(4rem,8vw,7rem)) 0 clamp(4rem,8vw,7rem);
  background: #07182b; color: #f7f3ea;
}
.practice-hero__grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(17rem,.55fr); gap: clamp(3rem,8vw,8rem); align-items: end; }
.practice-kicker { font: 500 .72rem/1.5 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: #c58967; }
.practice-hero h1 { margin-top: 1.5rem; max-width: 15ch; font: 400 clamp(3rem,6.3vw,6.3rem)/.96 var(--font-display); letter-spacing: -.04em; color: #fffaf0; text-wrap: balance; }
.practice-hero__lede { margin-top: 2rem; max-width: 58ch; color: #cbd1d5; font-size: clamp(1.08rem,1.5vw,1.3rem); line-height: 1.65; }
.practice-hero__aside { padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.25); }
.practice-hero__aside p { color: #aeb8c0; line-height: 1.65; }
.practice-hero__aside .btn { margin-top: 1.5rem; --btn-bg: #f4f0e8; --btn-fg: #07182b; --btn-line: #f4f0e8; }

.practice-band { padding: clamp(4.5rem,8vw,7.5rem) 0; }
.practice-band--ivory { background: #f4f0e8; }
.practice-band--navy { background: #07182b; color: #d5d8da; }
.practice-layout { display: grid; grid-template-columns: minmax(11rem,.32fr) minmax(0,1fr); gap: clamp(2rem,7vw,8rem); }
.practice-index { font: 500 .7rem/1.5 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: #9a5f3e; }
.practice-content h2 { max-width: 21ch; font: 400 clamp(2.25rem,4.2vw,4.25rem)/1.04 var(--font-display); letter-spacing: -.03em; color: #07182b; text-wrap: balance; }
.practice-band--navy .practice-content h2 { color: #fffaf0; }
.practice-intro { margin-top: 1.75rem; max-width: 67ch; color: #4f5b64; font-size: 1.08rem; line-height: 1.8; }
.practice-band--navy .practice-intro { color: #b7c0c7; }

.challenge-list { margin-top: 2.5rem; border-top: 1px solid rgba(20,32,43,.2); }
.challenge-list li { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid rgba(20,32,43,.16); color: #394752; line-height: 1.65; }
.challenge-list span { font: 500 .68rem/1.7 var(--font-mono); color: #9a5f3e; }
.service-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: 2.75rem; background: rgba(20,32,43,.18); border: 1px solid rgba(20,32,43,.18); }
.service-item { padding: clamp(1.4rem,3vw,2.2rem); background: #fbf9f4; }
.service-item h3 { font: 400 clamp(1.4rem,2vw,1.85rem)/1.15 var(--font-display); color: #07182b; }
.service-item p { margin-top: .8rem; color: #5f6870; line-height: 1.65; }

.rules { margin-top: 2.5rem; display: grid; gap: 1px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.16); }
.rule { display: grid; grid-template-columns: minmax(11rem,.4fr) 1fr; gap: 1.5rem; padding: 1.35rem; background: #0d243b; }
.rule h3 { color: #f5f0e7; font-size: 1rem; line-height: 1.4; }
.rule p { color: #aeb8c0; line-height: 1.65; }
.method-steps { margin-top: 2.5rem; counter-reset: method; border-top: 2px solid #07182b; }
.method-step { counter-increment: method; display: grid; grid-template-columns: 3rem minmax(0,.45fr) minmax(0,1fr); gap: 1.5rem; padding: 1.4rem 0; border-bottom: 1px solid rgba(20,32,43,.18); }
.method-step::before { content: "0" counter(method); color: #9a5f3e; font: 500 .7rem/1.6 var(--font-mono); }
.method-step h3 { color: #07182b; font-size: 1rem; }
.method-step p { color: #5f6870; line-height: 1.65; }

.related-links { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 2rem; }
.related-links a { padding: .65rem .9rem; border: 1px solid rgba(20,32,43,.24); color: #07182b; font-weight: 600; font-size: .9rem; }
.related-links a:hover { border-color: #9a5f3e; }
.faq-list { margin-top: 2.5rem; border-top: 2px solid #07182b; }
.faq { padding: 1.4rem 0; border-bottom: 1px solid rgba(20,32,43,.18); }
.faq h3 { color: #07182b; font-size: 1rem; line-height: 1.45; }
.faq p { margin-top: .65rem; max-width: 72ch; color: #5f6870; line-height: 1.7; }
.practice-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: end; padding: clamp(2rem,5vw,4rem); background: #07182b; color: #fffaf0; }
.practice-cta h2 { color: #fffaf0; max-width: 17ch; }
.practice-cta p { margin-top: 1rem; color: #b7c0c7; max-width: 55ch; line-height: 1.7; }
.practice-cta .btn { --btn-bg: #f4f0e8; --btn-fg: #07182b; --btn-line: #f4f0e8; }
.practice-page .site-foot__top { grid-template-columns: minmax(15rem,1.3fr) repeat(3,minmax(9rem,1fr)); }
.practice-page .footer-wordmark { font: 500 1.8rem/1 var(--font-display); color: #fff; letter-spacing: .02em; }
.practice-page .footer-blurb { margin-top: 1rem; max-width: 34ch; color: var(--chalk-400); line-height: 1.6; }

@media (max-width: 900px) {
  .practice-hero__grid, .practice-layout, .practice-cta { grid-template-columns: 1fr; }
  .practice-page .site-nav__links, .practice-page .site-nav__side .btn, .practice-page .lang-links { display: none; }
  .practice-page .site-foot__top { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .practice-hero h1 { font-size: clamp(2.7rem,13vw,4rem); }
  .service-columns { grid-template-columns: 1fr; }
  .rule, .method-step { grid-template-columns: 2rem 1fr; }
  .rule p, .method-step p { grid-column: 2; }
  .practice-page .site-foot__top { grid-template-columns: 1fr; }
}
