@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600&display=swap');

/* Public practice pages and shared chrome only; the admin remains untouched. */
.practice-page, .sf-nav, .sf-footer {
  --practice-linen: #F2EDE6;
  --practice-alt: #EAE3D9;
  --practice-ink: #0D0C0A;
  --practice-gold: #7A6220;
  --practice-line: rgba(13,12,10,.22);
}
.practice-page { background:#F2EDE6; color:#0D0C0A; margin:0; min-height:100dvh; font-family:'Calluna',Georgia,serif; }
.practice-page main { padding:0; margin:0; max-width:none; }
.practice-page .practice { width:100%; overflow:hidden; }
.practice-page .practice *, .sf-nav *, .sf-footer * { box-sizing:border-box; }
.practice-page .practice h1, .practice-page .practice h2, .practice-page .practice h3 { font-family:'Ogg',Georgia,serif; font-weight:400; color:inherit; letter-spacing:-.035em; margin:0; }
.practice-page .practice h1 { font-size:clamp(3.3rem,5.6vw,6rem); line-height:1.04; }
.practice-page .practice h2 { font-size:clamp(2.6rem,4.2vw,4.6rem); line-height:1.1; }
.practice-page .practice h3 { font-size:1.65rem; line-height:1.2; }
.practice-page .practice p { font-size:1.15rem; line-height:1.65; margin:1.5rem 0; }
.practice-page .practice a { color:inherit; text-decoration:none; }
.practice-page .practice figure { margin:0; }
.practice-page .practice img { display:block; width:100%; aspect-ratio:1; height:auto; object-fit:cover; border-radius:0; box-shadow:none; }
.practice-page .practice figcaption { margin-top:14px; font-size:.9rem; line-height:1.5; }
.practice-page .practice .pr-label, .sf-footer .pr-label { font-family:'Jost',sans-serif; font-size:.72rem; font-weight:500; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; color:#7A6220; margin:0 0 28px; }
.practice-page .pr-wrap { max-width:1440px; margin:0 auto; padding:110px 6%; }
.practice-page .pr-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8%; }
.practice-page .pr-hero { padding-top:68px; padding-bottom:90px; }
.practice-page .pr-copy > p:not(.pr-label) { max-width:34rem; }
.practice-page .pr-actions { display:flex; flex-wrap:wrap; gap:28px; align-items:center; margin-top:32px; }
.practice-page .practice .pr-link { display:inline-block; padding:8px 0; border-bottom:1px solid currentColor; font-family:'Jost',sans-serif; font-size:.86rem; letter-spacing:.03em; }
.practice-page .practice .pr-link::after { content:'↗'; margin-left:24px; }
.practice-page .practice .pr-button { display:inline-block; background:#0D0C0A; color:#F2EDE6; border:1px solid #0D0C0A; padding:17px 25px; font:500 .78rem/1.5 'Jost',sans-serif; letter-spacing:.065em; }
.practice-page .pr-alt { background:#EAE3D9; }
.practice-page .pr-dark { background:#0D0C0A; color:#F2EDE6; }
.practice-page .pr-dark .pr-label { color:#C4A24A; }
.practice-page .pr-statement { max-width:1000px; }
.practice-page .pr-statement h2 { font-size:clamp(2.7rem,4.7vw,5.2rem); }
.practice-page .pr-figures { display:grid; grid-template-columns:repeat(3,1fr); gap:5%; margin-top:65px; }
.practice-page .pr-figure { border-top:1px solid rgba(196,162,74,.5); padding-top:22px; display:flex; gap:24px; align-items:center; }
.practice-page .pr-number { color:#C4A24A; font:400 4.7rem/1 'Ogg',Georgia,serif; }
.practice-page .pr-figure span:last-child { font-size:1rem; line-height:1.5; }
.practice-page .pr-section-head { margin-bottom:48px; }
.practice-page .pr-work-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.practice-page .pr-work-grid h3 { margin-top:23px; }
.practice-page .pr-work-grid p { margin:7px 0 0; font-size:.95rem; color:#7A6220; }
.practice-page .pr-work-grid a img { transition:opacity .25s ease; }
.practice-page .pr-work-grid a:hover img { opacity:.86; }
.practice-page .pr-price { font-family:'Jost',sans-serif; font-size:.85rem!important; letter-spacing:.04em; }
.practice-page .pr-rows { margin-top:45px; }
.practice-page .pr-row { display:grid; grid-template-columns:1.05fr 1.5fr .6fr 24px; gap:30px; align-items:baseline; padding:32px 0; border-top:1px solid var(--practice-line); }
.practice-page .pr-row:last-child { border-bottom:1px solid var(--practice-line); }
.practice-page .pr-row p { margin:0; font-size:1.05rem; }
.practice-page .pr-row .pr-row-price { font:.8rem/1.6 'Jost',sans-serif; text-align:right; }
.practice-page .pr-row:hover h3 { color:#7A6220; }
.practice-page .pr-practice-image { order:2; }
.practice-page .pr-dark .pr-button { background:#F2EDE6; color:#0D0C0A; border-color:#F2EDE6; }
.practice-page .pr-benefits { display:grid; grid-template-columns:1fr 1fr; gap:0 8%; margin-top:50px; }
.practice-page .pr-benefit { display:grid; grid-template-columns:38px 1fr; gap:20px; border-top:1px solid var(--practice-line); padding:30px 0 25px; }
.practice-page .pr-roman { font:400 1rem/1.5 'Jost',sans-serif; color:#7A6220; }
.practice-page .pr-benefit p { margin:12px 0 0; font-size:1.05rem; }
.practice-page .pr-movements { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:50px; }
.practice-page .pr-movement { border-top:1px solid #7A6220; padding-top:22px; }
.practice-page .pr-movement .pr-label { margin-bottom:25px; }
.practice-page .pr-movement p { font-size:1.05rem; margin-top:17px; }
.practice-page #introduction { scroll-margin-top:110px; }
.practice-page .pr-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:start; }
.practice-page .pr-form { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.practice-page .pr-field { display:flex; flex-direction:column; gap:9px; }
.practice-page .pr-field-wide, .practice-page .pr-form-message { grid-column:1/-1; }
.practice-page .pr-form label { font:.77rem/1.5 'Jost',sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.practice-page .pr-form input, .practice-page .pr-form textarea { width:100%; border:1px solid rgba(242,237,230,.45); border-radius:0; background:transparent; color:#F2EDE6; padding:14px; font:1.1rem/1.5 'Calluna',Georgia,serif; box-shadow:none; }
.practice-page .pr-form textarea { resize:vertical; min-height:150px; }
.practice-page .pr-form button { cursor:pointer; justify-self:start; }
.practice-page .pr-form-message { border-left:2px solid #C4A24A; padding:10px 18px; font-size:1rem; }
.practice-page .pr-thanks { border-top:1px solid #C4A24A; padding-top:28px; }
.practice-page .pr-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.practice-page .practice a:focus-visible, .practice-page .practice button:focus-visible, .practice-page .practice input:focus-visible, .practice-page .practice textarea:focus-visible, .sf-nav a:focus-visible, .sf-nav button:focus-visible, .sf-footer a:focus-visible, .sf-footer button:focus-visible, .sf-footer input:focus-visible { outline:2px solid #7A6220; outline-offset:5px; }
.practice-page .pr-dark :focus-visible { outline-color:#C4A24A!important; }

header.sf-nav { position:relative; top:auto; background:#F2EDE6; color:#0D0C0A; border-bottom:1px solid rgba(13,12,10,.18); display:flex; justify-content:space-between; align-items:center; gap:35px; padding:26px 5%; height:auto; min-height:100px; box-shadow:none; z-index:20; }
header.sf-nav.scrolled { background:#F2EDE6; box-shadow:none; }
.sf-nav .lc-brand { display:block; color:#0D0C0A; text-decoration:none; padding:0; flex:none; }
.lc-wordmark { display:block; font:400 clamp(1.15rem,2.1vw,2rem)/1.25 'Ogg',Georgia,serif; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; color:#0D0C0A; }
.pr-dark .lc-wordmark, .work-rooms .lc-wordmark { color:#F2EDE6; }
.sf-nav .sf-navlinks .lc-menu-brand { display:none; }
.sf-footer .lc-footer-brand { display:inline-block; margin-bottom:28px; }
.sf-nav .sf-navlinks { display:flex; align-items:center; gap:27px; }
.sf-nav .sf-navlinks a { color:#0D0C0A; text-decoration:none; font:500 .7rem/1.5 'Jost',sans-serif; letter-spacing:.08em; text-transform:uppercase; padding:6px 0; white-space:nowrap; }
.sf-nav .sf-navlinks a.nav-active { border-bottom:1px solid #7A6220; }
.sf-nav .sf-navlinks .pr-nav-cta { background:#0D0C0A; color:#F2EDE6; padding:15px 18px; border:none; }
.sf-nav .sf-navlinks a::after { display:none; }
.sf-nav .sf-navlinks a:hover { color:#7A6220; }
.sf-nav .sf-navlinks .pr-nav-cta:hover { color:#F2EDE6; }
.sf-nav .sf-menu { display:none; background:none; border:1px solid rgba(13,12,10,.35); color:#0D0C0A; border-radius:0; padding:9px 12px; font:500 .72rem 'Jost',sans-serif; text-transform:uppercase; letter-spacing:.08em; }
footer.sf-footer { background:#EAE3D9; color:#0D0C0A; margin:0; padding:75px 6% 28px; border-top:1px solid rgba(13,12,10,.18); font-family:'Calluna',Georgia,serif; font-size:1rem; font-weight:400; letter-spacing:normal; text-transform:none; }
footer.sf-footer a:hover { color:#7A6220; }
.sf-footer .pr-footer-top { display:grid; grid-template-columns:1fr 1fr; gap:10%; max-width:1268px; margin:0 auto 65px; }
.sf-footer .pr-footer-credit { font:400 1.6rem/1.4 'Ogg',Georgia,serif; max-width:390px; margin:0 0 24px; }
.sf-footer a { color:inherit; text-decoration:none; }
.sf-footer .pr-footer-contact { display:flex; flex-wrap:wrap; gap:12px 26px; font-size:1rem; }
.sf-footer .pr-footer-contact a { border-bottom:1px solid rgba(13,12,10,.35); }
.sf-footer .pr-label { margin-bottom:12px; }
.sf-footer .pr-dispatch-title { font:400 2.2rem/1.2 'Ogg',Georgia,serif; color:#0D0C0A; margin:0; }
.sf-footer .pr-dispatch-copy { font:1.05rem/1.6 'Calluna',Georgia,serif; margin:14px 0 22px; }
.sf-footer .pr-newsletter label { display:block; font:.7rem/1.5 'Jost',sans-serif; text-transform:uppercase; letter-spacing:.1em; margin-bottom:8px; }
.sf-footer .pr-newsletter-fields { display:flex; border-bottom:1px solid #0D0C0A; }
.sf-footer .pr-newsletter input { flex:1; min-width:0; width:100%; border:none; border-radius:0; background:transparent; color:#0D0C0A; font:1rem/1.5 'Calluna',Georgia,serif; padding:13px 0; box-shadow:none; }
.sf-footer .pr-newsletter button { border:0; border-radius:0; background:#0D0C0A; color:#F2EDE6; font:.72rem/1.5 'Jost',sans-serif; padding:12px 18px; cursor:pointer; }
.sf-footer .pr-newsletter button:disabled { opacity:.65; cursor:wait; }
.sf-footer .pr-newsletter-status { font:1rem/1.5 'Calluna',Georgia,serif; margin:12px 0 0; }
.sf-footer .sf-footer__meta { max-width:1268px; margin:0 auto; border-top:1px solid rgba(13,12,10,.22); padding-top:22px; display:flex; flex-wrap:wrap; gap:16px 25px; color:#0D0C0A; font:.65rem/1.6 'Jost',sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.sf-footer .sf-footer__meta span { margin-right:auto; }
@media (max-width:1100px) {
  header.sf-nav { gap:20px; padding-inline:4%; }
  .sf-nav .sf-navlinks { gap:15px; }
  .sf-nav .sf-navlinks a { font-size:.63rem; }
  .practice-page .pr-wrap { padding-inline:5%; }
  .practice-page .pr-split { gap:6%; }
}
@media (max-width:767px) {
  header.sf-nav { padding:22px 6%; height:auto; min-height:80px; }
  .sf-nav .sf-menu { display:block; }
  .sf-nav .sf-navlinks { display:none; position:absolute; left:0; right:0; top:100%; background:#F2EDE6; padding:24px 6% 32px; border-bottom:1px solid rgba(13,12,10,.22); align-items:stretch; gap:12px; box-shadow:none; }
  .sf-nav .sf-navlinks.open { display:flex; flex-direction:column; }
  .sf-nav .sf-navlinks .lc-menu-brand { display:block; margin-bottom:12px; }
  .sf-nav .sf-navlinks a { font-size:.78rem; padding:12px 0; }
  .sf-nav .sf-navlinks .pr-nav-cta { text-align:center; padding:16px; margin-top:6px; }
  .practice-page .pr-wrap { padding:72px 6%; }
  .practice-page .pr-hero { padding-top:48px; }
  .practice-page .pr-split, .practice-page .pr-intro-grid { grid-template-columns:1fr; gap:42px; }
  .practice-page .pr-hero h1 { max-width:520px; }
  .practice-page .practice p { font-size:1.1rem; }
  .practice-page .pr-figures, .practice-page .pr-work-grid, .practice-page .pr-benefits, .practice-page .pr-movements { grid-template-columns:1fr; }
  .practice-page .pr-figures { gap:24px; margin-top:40px; }
  .practice-page .pr-figure { gap:30px; }
  .practice-page .pr-number { min-width:68px; font-size:4rem; }
  .practice-page .pr-work-grid { gap:40px; }
  .practice-page .pr-row { grid-template-columns:1fr 24px; gap:14px; padding:26px 0; }
  .practice-page .pr-row h3, .practice-page .pr-row p, .practice-page .pr-row .pr-row-price { grid-column:1; text-align:left; }
  .practice-page .pr-row > span:last-child { grid-column:2; grid-row:1; }
  .practice-page .pr-practice-image { order:0; }
  .practice-page .pr-movements { gap:25px; }
  .practice-page .pr-movement .pr-label { margin-bottom:12px; }
  .practice-page .pr-form { grid-template-columns:1fr; }
  footer.sf-footer { padding:60px 6% 25px; }
  .sf-footer .pr-footer-top { grid-template-columns:1fr; gap:45px; margin-bottom:45px; }
  .sf-footer .sf-footer__meta span { flex-basis:100%; }
}
@media (prefers-reduced-motion:reduce) { .practice-page .pr-work-grid a img { transition:none; } }