/* Hallmark · pre-emit critique: P5 H4 E4 S5 R5 V5
 * Hallmark · genre: editorial · macrostructure: Marquee Hero / Long Document
 * design-system: design.md · designed-as-app · theme: custom BeamerLaw
 * enrichment: supplied social-card image · nav: N6 · footer: Ft4
 * contrast: pass (40–41) · slop: pass (42–45) · honest: pass (46)
 * chrome: pass (47) · tokens: pass (48) · responsive: pass (34, 49–57)
 */
@import url('/tokens.css');

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:var(--space-2xl)}
body{margin:0;padding-bottom:4rem;background:var(--color-paper);color:var(--color-ink-3);font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3{overflow-wrap:anywhere;min-width:0;font-style:normal}
.container{width:min(var(--page-max),calc(100% - (var(--page-gutter) * 2)));margin-inline:auto}
.skip-link{position:fixed;inset-block-start:-6rem;inset-inline-start:var(--space-md);z-index:var(--z-tooltip);background:var(--color-paper);color:var(--color-ink);padding:var(--space-sm) var(--space-md);font-weight:700}
.skip-link:focus{inset-block-start:var(--space-md)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
.eyebrow{display:none}
.section-title{max-width:18ch;margin:0;color:var(--color-on-dark);font-family:var(--font-display);font-size:clamp(var(--text-2xl),7vw,var(--text-4xl));font-weight:700;line-height:1.04;letter-spacing:-.025em}
.section-title.dark{color:var(--color-ink)}
.section-title em{color:inherit;font-style:normal;font-weight:inherit}
.section-lead{max-width:62ch;margin:var(--space-lg) 0 0;color:var(--color-on-dark-muted);font-size:var(--text-md);line-height:1.5}
.section-lead.dark{color:var(--color-muted)}
.button{display:inline-flex;min-height:var(--size-control);align-items:center;justify-content:center;border:var(--rule-hair) solid transparent;border-radius:var(--radius-button);padding:var(--space-sm) var(--space-lg);text-decoration:none;white-space:nowrap;font-size:var(--text-sm);font-weight:700;letter-spacing:.035em;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}
.button-primary{background:var(--color-accent);color:var(--color-accent-ink)}
.button-primary:focus-visible,.mobile-sticky a:last-child:focus-visible,.primary-nav[data-open='true'] .mobile-actions a:first-child:focus-visible{outline-color:var(--color-accent-ink)}
.button-outline{border-color:var(--color-rule-dark);color:var(--color-on-dark)}
.button-dark{background:var(--color-ink);color:var(--color-on-dark)}
.button:active{transform:translateY(1px)}
.button:disabled,.button[aria-disabled='true']{cursor:not-allowed;opacity:.55;transform:none}
.button[aria-busy='true'],.button[data-state='loading']{cursor:wait}
.button[data-state='error']{border-color:var(--color-error)}
.button[data-state='success']{border-color:var(--color-success)}
.text-link{display:inline-flex;min-height:44px;align-items:center;color:var(--color-ink);font-weight:700;text-underline-offset:var(--space-2xs);white-space:nowrap}

/* N6 · legal masthead */
.site-header{position:absolute;inset:0 0 auto;z-index:var(--z-sticky);height:4.25rem;background:var(--color-ink);color:var(--color-on-dark);border-block-end:var(--rule-hair) solid var(--color-rule-dark)}
.header-inner{width:calc(100% - (var(--space-md) * 2));height:100%;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}
.header-edition{display:none}
.brand{display:inline-grid;width:2.375rem;height:2.875rem;place-items:center;color:var(--color-on-dark);text-decoration:none}
.brand-logo{display:block;width:1.875rem;height:2.5rem;object-fit:contain}
.primary-nav,.header-call{display:none}
.menu-toggle{display:block;width:2.75rem;height:2.75rem;border:var(--rule-hair) solid var(--color-rule-dark);border-radius:var(--radius-button);background:transparent;color:var(--color-on-dark)}
.menu-toggle span{display:block;width:1.25rem;height:var(--rule-hair);margin:var(--space-xs) auto;background:currentColor;transition:transform var(--dur-short) var(--ease-in-out),opacity var(--dur-short) var(--ease-in-out)}
.menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(.375rem) rotate(45deg)}
.menu-toggle[aria-expanded='true'] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded='true'] span:last-child{transform:translateY(-.375rem) rotate(-45deg)}
.primary-nav[data-open='true']{position:fixed;display:flex;inset:4.25rem 0 auto;max-height:calc(100dvh - 4.25rem);overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:var(--space-md) var(--space-lg) var(--space-lg);background:var(--color-ink);border-block-start:var(--rule-hair) solid var(--color-rule-dark)}
.primary-nav[data-open='true'] a{min-height:3.25rem;display:flex;align-items:center;border-block-end:var(--rule-hair) solid var(--color-rule-dark);color:var(--color-on-dark);text-decoration:none;white-space:nowrap}
.primary-nav[data-open='true'] .mobile-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm);padding-block-start:var(--space-lg)}
.primary-nav[data-open='true'] .mobile-actions a{justify-content:center;border:var(--rule-hair) solid var(--color-rule-dark);padding-inline:var(--space-sm)}
.primary-nav[data-open='true'] .mobile-actions a:first-child{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}
.mobile-actions{display:none}

/* Marquee hero · user-selected social card */
.social-hero{padding-block-start:4.25rem;background:var(--color-ink);color:var(--color-on-dark);border-block-end:var(--rule-double) solid var(--color-accent)}
.social-hero-frame{position:relative;width:min(100%,90rem);margin-inline:auto;overflow:hidden;background:var(--color-ink)}
.social-hero-frame>img{width:100%;height:auto;display:block;object-fit:cover}
.social-hero-action{position:relative;display:flex;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-ink);border-block-start:var(--rule-hair) solid var(--color-rule-dark)}
.social-hero-action .button{width:100%;min-height:2.75rem;padding-inline:var(--space-sm);font-size:var(--text-xs)}

.proof-bar{background:var(--color-paper-2);color:var(--color-ink);border-block-end:var(--rule-hair) solid var(--color-rule)}
.proof-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.proof-item{padding:var(--space-md) 0;border-block-start:var(--rule-hair) solid var(--color-rule)}
.proof-item:first-child{border-block-start:0}
.proof-item strong{display:block;font-family:var(--font-display);font-size:var(--text-md);font-weight:700;line-height:1.2}
.proof-item span{color:var(--color-muted);font-size:var(--text-sm)}

/* Varied section rhythm */
.section{padding:var(--space-3xl) 0}
.practice{padding-block:var(--space-3xl) var(--space-4xl);background:var(--color-paper);color:var(--color-ink)}
.section-heading{display:grid;gap:var(--space-lg);margin-block-end:var(--space-2xl)}
.practice .section-title{color:var(--color-ink);max-width:15ch}
.practice .section-lead{margin:0;color:var(--color-muted)}
.practice-grid{display:grid;border-block-start:var(--rule-hair) solid var(--color-rule)}
.practice-card{display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:var(--space-md);padding:var(--space-xl) 0;border-block-end:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);text-decoration:none;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}
.card-number{font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.practice-card h3{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.05}
.practice-card p{grid-column:2;max-width:58ch;margin:0;color:var(--color-muted);font-size:var(--text-sm)}
.card-link{grid-column:2;display:block;margin-block-start:var(--space-md);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}

.approach{padding-block:var(--space-4xl) var(--space-3xl);background:var(--color-paper-2);color:var(--color-ink)}
.approach-layout{display:grid;gap:var(--space-2xl);align-items:start}
.principles{border-block-start:var(--rule-hair) solid var(--color-rule)}
.principle{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-md);padding:var(--space-lg) 0;border-block-end:var(--rule-hair) solid var(--color-rule)}
.principle-number{color:var(--color-accent-strong);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums}
.principle h3{margin:0 0 var(--space-xs);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:1.15}
.principle p{margin:0;color:var(--color-muted);font-size:var(--text-sm)}

.reviews{padding-block:var(--space-3xl) var(--space-4xl);background:var(--color-ink);color:var(--color-on-dark)}
.review-grid{display:grid;margin-block-start:var(--space-2xl);border-block-start:var(--rule-hair) solid var(--color-rule-dark)}
.review-card{padding:var(--space-xl) 0;border-block-end:var(--rule-hair) solid var(--color-rule-dark)}
.review-stars{color:var(--color-accent-light);letter-spacing:.1em}
.review-card blockquote{max-width:52ch;margin:var(--space-lg) 0;font-family:var(--font-display);font-size:var(--text-lg);font-style:normal;font-weight:600;line-height:1.3;color:var(--color-on-dark)}
.review-meta{color:var(--color-on-dark-soft);font-size:var(--text-xs)}
.review-meta strong{color:var(--color-on-dark)}
.results-note{max-width:70ch;margin:var(--space-lg) 0 0;color:var(--color-on-dark-soft);font-size:var(--text-xs)}

.about{padding-block:var(--space-4xl);background:var(--color-paper);color:var(--color-ink)}
.about-layout{display:grid;gap:var(--space-2xl);align-items:center}
.portrait-wrap{position:relative;padding-block-end:var(--space-md)}
.portrait-wrap::after{content:'';position:absolute;z-index:var(--z-base);inset:24% 0 0 18%;border:var(--rule-hair) solid var(--color-accent)}
.portrait-wrap img{position:relative;z-index:var(--z-raised);width:92%;max-height:36rem;display:block;object-fit:cover;object-position:center top;border:var(--rule-hair) solid var(--color-ink)}
.about-copy p{max-width:62ch;color:var(--color-muted)}
.about-copy .button{margin-block-start:var(--space-md)}

.recognition{padding:var(--space-2xl) 0;background:var(--color-paper-2);color:var(--color-ink);border-block:var(--rule-hair) solid var(--color-rule)}
.recognition-inner{display:grid;gap:var(--space-lg);align-items:center}
.recognition h2{margin:0;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.15}
.recognition h2 span{display:block;margin-block-start:var(--space-xs);color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:400}
.award-list{display:flex;align-items:center;gap:var(--space-xl);overflow-x:auto;padding:var(--space-xs) 0}
.award-list img{width:auto;height:3.875rem;flex:none;object-fit:contain;filter:saturate(.7)}

.faq{padding-block:var(--space-3xl) var(--space-4xl);background:var(--color-paper);color:var(--color-ink)}
.faq-layout{display:grid;gap:var(--space-2xl)}
.faq-list{border-block-start:var(--rule-hair) solid var(--color-rule)}
.faq-list details{border-block-end:var(--rule-hair) solid var(--color-rule);padding:var(--space-md) 0}
.faq-list summary{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:var(--space-md);cursor:pointer;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:700;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';color:var(--color-accent-strong);font-family:var(--font-body);font-size:var(--text-lg);font-weight:400}
.faq-list details[open] summary::after{content:'–'}
.faq-list p{max-width:65ch;margin:var(--space-sm) var(--space-xl) var(--space-xs) 0;color:var(--color-muted);font-size:var(--text-sm)}

.contact{padding-block:var(--space-4xl) var(--space-3xl);background:var(--color-ink);color:var(--color-on-dark)}
.contact-layout{display:grid;gap:var(--space-2xl);margin-block-start:var(--space-2xl)}
.contact-form{display:grid;gap:var(--space-md)}
.field-row{display:grid;gap:var(--space-md)}
.field{display:grid;gap:var(--space-xs)}
.field label,.choice-label{color:var(--color-on-dark-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.field input,.field select,.field textarea{width:100%;min-height:var(--size-control);border:var(--rule-hair) solid var(--color-rule-dark);border-radius:var(--radius-input);outline:2px solid transparent;outline-offset:1px;background:var(--color-ink-2);color:var(--color-on-dark);padding:var(--space-sm) 2.5rem var(--space-sm) var(--space-md)}
.field textarea{min-height:7rem;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--color-on-dark-soft)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-width:var(--rule-hair);border-color:var(--color-on-dark-muted);outline-color:var(--color-accent-light)}
.field input:disabled,.field select:disabled,.field textarea:disabled{cursor:not-allowed;opacity:.55}
.field input[aria-invalid='true'],.field select[aria-invalid='true'],.field textarea[aria-invalid='true']{border-color:var(--color-error)}
.field input[data-state='success'],.field select[data-state='success'],.field textarea[data-state='success']{border-color:var(--color-success)}
.consent{display:flex;align-items:flex-start;gap:var(--space-sm);color:var(--color-on-dark-muted);font-size:var(--text-xs);line-height:1.5}
.consent input{margin-block-start:var(--space-2xs);accent-color:var(--color-accent)}
.form-status{min-height:1.5rem;margin:0;color:var(--color-on-dark);font-size:var(--text-sm)}
.form-note{margin:0;color:var(--color-on-dark-soft);font-size:var(--text-xs)}
.hp-field{position:absolute;inset-inline-start:-10000px}
.contact-aside{display:grid;align-content:start;border-block-start:var(--rule-hair) solid var(--color-rule-dark)}
.contact-card{padding:var(--space-lg) 0;border-block-end:var(--rule-hair) solid var(--color-rule-dark);background:var(--color-ink);color:var(--color-on-dark)}
.contact-card h3{margin:0 0 var(--space-sm);color:var(--color-accent-light);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}
.contact-card p{margin:var(--space-xs) 0;color:var(--color-on-dark-muted);font-size:var(--text-sm)}
.contact-card a{color:var(--color-on-dark);font-weight:700;text-underline-offset:var(--space-2xs)}
.contact-card .phone-large{display:inline-block;font-family:var(--font-display);font-size:var(--text-xl);text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}

/* Long Document family · interior pages */
.page-hero{padding:9.5rem 0 var(--space-3xl);background:var(--color-paper-2);color:var(--color-ink);border-block-end:var(--rule-double) solid var(--color-accent)}
.page-hero h1{max-width:14ch;margin:0;font-family:var(--font-display);font-size:var(--text-display);font-weight:700;line-height:1;letter-spacing:-.035em}
.page-hero p{max-width:62ch;margin:var(--space-lg) 0 0;color:var(--color-muted);font-size:var(--text-md)}
.page-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-block-start:var(--space-xl)}
.page-hero .button-outline{border-color:var(--color-ink-2);color:var(--color-ink)}
.utility-hero{min-height:auto;display:block}
.content-section{padding:var(--space-3xl) 0 var(--space-4xl);background:var(--color-paper);color:var(--color-ink)}
.content-grid{display:grid;gap:var(--space-2xl);align-items:start}
.prose{max-width:68ch}
.prose h2{margin:var(--space-2xl) 0 var(--space-sm);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:1.15}
.prose h2:first-child{margin-block-start:0}
.prose h3{margin:var(--space-xl) 0 var(--space-xs);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:1.2}
.prose p,.prose li{color:var(--color-ink-3)}
.prose ul{padding-inline-start:var(--space-lg)}
.prose li{margin:var(--space-xs) 0}
.callout{margin:var(--space-xl) 0;padding:var(--space-lg);border-block:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink)}
.sidebar{display:grid;gap:var(--space-md)}
.sidebar-card{padding:var(--space-lg);border-block-start:2px solid var(--color-accent);background:var(--color-ink);color:var(--color-on-dark)}
.sidebar-card h2{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:1.15}
.sidebar-card p{margin:var(--space-xs) 0;color:var(--color-on-dark-muted);font-size:var(--text-sm)}
.sidebar-card .button{width:100%;margin-block-start:var(--space-md)}
.page-links{padding:var(--space-xl) 0;background:var(--color-paper-2);color:var(--color-ink);border-block-start:var(--rule-hair) solid var(--color-rule)}
.page-links-inner{display:flex;gap:var(--space-sm) var(--space-xl);flex-wrap:wrap}
.page-links a{min-height:44px;display:inline-flex;align-items:center;font-size:var(--text-sm);font-weight:700;text-underline-offset:var(--space-2xs);white-space:nowrap}

/* Ft4 · dense colophon */
.site-footer{padding:var(--space-2xl) 0 var(--space-lg);background:var(--color-ink);color:var(--color-on-dark);border-block-start:var(--rule-hair) solid var(--color-accent)}
.footer-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-lg);align-items:start}
.site-footer .brand{width:3rem;height:4rem}
.site-footer .brand-logo{width:2.5rem;height:3.25rem}
.footer-brand p{max-width:62ch;margin:var(--space-sm) 0 0;color:var(--color-on-dark-muted);font-size:var(--text-sm)}
.footer-nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);padding-block-start:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule-dark)}
.footer-nav a{min-height:44px;display:inline-flex;align-items:center;color:var(--color-on-dark-muted);font-size:var(--text-sm);text-decoration:none;white-space:nowrap}
.footer-bottom{display:grid;gap:var(--space-sm);margin-block-start:var(--space-lg);padding-block-start:var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule-dark);color:var(--color-on-dark-soft);font-size:var(--text-xs)}
.footer-bottom a{color:inherit;white-space:nowrap}
.mobile-sticky{position:fixed;z-index:var(--z-sticky);inset:auto 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:4rem;background:var(--color-ink);border-block-start:var(--rule-hair) solid var(--color-rule-dark)}
.mobile-sticky a{display:grid;place-items:center;color:var(--color-on-dark);font-size:var(--text-xs);font-weight:700;text-decoration:none;letter-spacing:.03em;white-space:nowrap}
.mobile-sticky a:last-child{background:var(--color-accent);color:var(--color-accent-ink)}

@media (min-width:40rem){
  body{padding-bottom:0}
  .social-hero-frame{aspect-ratio:1200/628}
  .social-hero-frame>img{height:100%}
  .social-hero-action{position:absolute;inset:auto auto clamp(var(--space-md),3vw,var(--space-xl)) clamp(var(--space-lg),5vw,var(--space-2xl));display:flex;padding:0;border:0;background:transparent}
  .social-hero-action .button{width:auto;min-width:13.75rem;min-height:var(--size-control);padding-inline:var(--space-lg);font-size:var(--text-sm);box-shadow:var(--shadow-whisper)}
  .proof-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr)}
  .proof-item{padding:var(--space-lg);border-block-start:0;border-inline-start:var(--rule-hair) solid var(--color-rule)}
  .proof-item:first-child{padding-inline-start:0;border-inline-start:0}
  .field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .recognition-inner{grid-template-columns:minmax(12rem,.55fr) minmax(0,1.45fr)}
  .footer-bottom{grid-template-columns:auto 1fr;justify-content:space-between}
  .footer-bottom span{text-align:end}
  .mobile-sticky{display:none}
}

@media (min-width:53.75rem){
  html{scroll-padding-top:var(--space-xl)}
  .site-header{height:8.5rem;background:var(--color-paper);color:var(--color-ink);border-block-end:0}
  .header-inner{width:min(var(--page-max),calc(100% - (var(--page-gutter) * 2)));display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:'edition brand call' 'nav nav nav';grid-template-rows:5.5rem 3rem;gap:0}
  .header-edition{grid-area:edition;display:block;margin:0;color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
  .brand{grid-area:brand;width:3.25rem;height:4.5rem}
  .brand-logo{width:2.625rem;height:3.5rem}
  .primary-nav{grid-area:nav;display:flex;align-items:center;justify-content:center;gap:clamp(var(--space-md),3vw,var(--space-xl));height:100%;border-block:var(--rule-hair) solid var(--color-rule)}
  .primary-nav::after{content:'';position:absolute;inset:auto 0 0;height:var(--rule-double);border-block:var(--rule-hair) solid var(--color-rule);pointer-events:none}
  .primary-nav a{min-height:44px;display:flex;align-items:center;color:var(--color-ink-3);text-decoration:none;font-size:var(--text-sm);font-weight:600;white-space:nowrap}
  .header-call{grid-area:call;display:block;justify-self:end;color:var(--color-ink);text-decoration:none;font-size:var(--text-sm);font-weight:700;line-height:1.25;white-space:nowrap;font-variant-numeric:tabular-nums}
  .header-call span{display:block;color:var(--color-accent-strong);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}
  .menu-toggle{display:none}
  .social-hero{padding-block-start:8.5rem}
  .page-hero{padding-block-start:13rem}
}

@media (min-width:60rem){
  .section-heading{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:end;gap:var(--space-3xl)}
  .practice-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,minmax(8.5rem,auto));border-block-end:var(--rule-hair) solid var(--color-rule)}
  .practice-card{border-block-end:0}
  .practice-card:first-child{grid-column:1/8;grid-row:1/4;display:block;padding:var(--space-3xl);background:var(--color-ink);color:var(--color-on-dark)}
  .practice-card:first-child .card-number{display:block;margin-block-end:var(--space-2xl);color:var(--color-accent-light)}
  .practice-card:first-child h3{max-width:7ch;font-size:var(--text-3xl)}
  .practice-card:first-child p{max-width:38ch;color:var(--color-on-dark-muted);font-size:var(--text-base)}
  .practice-card:first-child .card-link{color:var(--color-accent-light)}
  .practice-card:nth-child(n+2){grid-column:8/-1;grid-template-columns:3rem minmax(0,1fr);padding:var(--space-lg) var(--space-xl);border-inline-start:var(--rule-hair) solid var(--color-rule);border-block-end:var(--rule-hair) solid var(--color-rule)}
  .practice-card:last-child{border-block-end:0}
  .approach-layout{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:var(--space-4xl)}
  .approach-layout>div:first-child{position:sticky;inset-block-start:var(--space-xl)}
  .review-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);grid-template-rows:auto auto}
  .review-card{padding:var(--space-xl);border-block-end:var(--rule-hair) solid var(--color-rule-dark)}
  .review-card:first-child{grid-row:1/3;padding:var(--space-3xl) var(--space-2xl) var(--space-3xl) 0;border-inline-end:var(--rule-hair) solid var(--color-rule-dark)}
  .review-card:first-child blockquote{font-size:var(--text-2xl);line-height:1.2}
  .review-card:nth-child(n+2){padding-inline-end:0}
  .about-layout{grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);gap:var(--space-4xl)}
  .faq-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--space-4xl)}
  .contact-layout{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);gap:var(--space-4xl)}
  .content-grid{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);gap:var(--space-4xl)}
  .sidebar{position:sticky;inset-block-start:var(--space-xl)}
  .footer-grid{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
  .footer-nav{grid-column:auto;padding-block-start:0;border-block-start:0;justify-content:flex-end}
}

@media (min-width:90rem){
  .social-hero-frame{border-inline:var(--rule-hair) solid var(--color-rule-dark)}
}

@media (hover:hover) and (pointer:fine){
  .button-primary:hover{background:var(--color-accent-strong);transform:translateY(-1px)}
  .button-dark:hover{background:var(--color-ink-2);transform:translateY(-1px)}
  .button-outline:hover{border-color:var(--color-on-dark);transform:translateY(-1px)}
  .primary-nav a:hover,.primary-nav a[aria-current='page']{color:var(--color-accent-strong)}
  .page-hero .button-outline:hover{border-color:var(--color-ink);background:var(--color-paper);transform:translateY(-1px)}
  .practice-card:hover,.practice-card:focus-visible{background:var(--color-paper-2)}
  .practice-card:first-child:hover,.practice-card:first-child:focus-visible{background:var(--color-ink-2)}
  .footer-nav a:hover{color:var(--color-accent-light)}
  .field input:hover,.field select:hover,.field textarea:hover{background:var(--color-ink-3)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:150ms!important;animation-iteration-count:1!important;transition-duration:150ms!important}
}
