/* Lovelace Law Resources — visual refinement. No content or behavior changes. */
:root{--ink:#1b2a32;--deep:#1b2b33;--body:#34454b;--muted:#526269;--paper:#fbfaf7;--cream:#f2efe8;--gold:#ad8959;--gold-light:#e7c99d;--line:#ddd9cf;--display:DMSerif,Georgia,serif;--reading:Manrope,Arial,sans-serif}
body{background:var(--paper);font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased}
.shell{width:min(1200px,calc(100% - 80px))}
::selection{background:#d6bd96;color:#172630}

/* Quiet, architectural masthead. */
.site-header{border-top:3px solid #af8d61;border-bottom:1px solid #dedbd4;background:#fffefb}
.header-inner{min-height:108px;gap:40px}
.site-header .brand-image{width:clamp(280px,24vw,346px)}
.site-header nav{gap:clamp(21px,2.3vw,38px)}
.site-header nav a{padding:14px 0;color:#263940;font-size:12px;font-weight:750}
.site-header nav a:after{height:2px;bottom:6px}
.site-header nav a[aria-current=page]{color:#876a42}
.header-link{min-height:45px;padding:12px 19px;border:1px solid #b9aa91;color:#263940;background:#fffdf9}

/* Main statement: generous scale with a restrained light field. */
.hero,.guide-hero{background:linear-gradient(118deg,#1b2c35 0%,#21343d 55%,#192932 100%)}
.hero{min-height:690px}
.hero-grid{grid-template-columns:minmax(0,1.38fr) minmax(330px,.72fr);gap:clamp(60px,7vw,118px);padding-block:clamp(94px,8.3vw,132px)}
.hero-copy{position:relative}
.hero-copy:before{content:'';display:block;width:58px;height:2px;background:#cda875;margin-bottom:24px}
.hero h1{max-width:800px;font-size:clamp(67px,5.7vw,86px);line-height:.99;letter-spacing:-.035em;margin:24px 0 32px}
.hero h1 em,.guide-hero h1 em{color:#edcfaa}
.hero-lede{max-width:58ch;font-size:18px;line-height:1.78;color:#e6e8e5}
.hero-actions{gap:31px;margin-top:37px}
.hero-note{max-width:58ch;margin-top:38px;padding-top:20px;border-top:1px solid rgba(233,222,201,.25);font-size:12px;line-height:1.7;color:#becac9}
.hero-aside{position:relative;background:#fffcf6;border:1px solid #d9d0c0;border-top:3px solid #c7a579;padding:37px 38px 35px;box-shadow:0 24px 50px rgba(4,14,21,.18)}
.hero-aside:after{content:'';position:absolute;left:20px;right:20px;bottom:15px;height:1px;background:#e6dfd2}
.aside-top{font-size:11px;color:#687278}
.aside-rule{margin:22px 0 27px;background:#dcd6cb}
.aside-label{color:#8d6c43;font-size:11px}
.hero-aside h2{font-size:clamp(33px,2.85vw,41px);line-height:1.08;margin:18px 0}
.hero-aside p:not(.aside-label){font-size:14px;line-height:1.72;color:#45555a}
.presumption{margin:24px 0;padding:8px 0 8px 16px;border-left:2px solid #b99b73;font-size:12px;line-height:1.6;font-weight:700}
.hero-aside>a{display:inline-block;margin-top:6px;padding-bottom:4px;border-bottom:1px solid #8a7458;text-decoration:none;font-size:12px}

/* Stronger hierarchy and readable measures. */
.section{padding-block:clamp(90px,8vw,125px)}
.section-top{margin-bottom:48px;padding-bottom:17px;border-bottom-color:#d9d6ce}
.section-top:after{display:none!important}
.section h2,.guide-path h2{font-size:clamp(45px,4.3vw,62px);line-height:1.08;letter-spacing:-.028em}
.section-lede,.prepare-grid>div>p:not(.eyebrow),.path-lede{font-size:17px;line-height:1.78;color:#46575d}
.section-grid{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(65px,7vw,110px)}
.case-section,.recovery-section,.prepare-section{background:#fffefb}
.update-card{border:1px solid #dfd8cc;border-top:3px solid #b99a70;padding:38px 42px;background:#fcfaf5;box-shadow:0 18px 34px rgba(27,43,51,.045)}
.update-date{font-size:11px;color:#806d56}
.update-card h3{font-size:36px;margin:31px 0 14px}
.update-card p{font-size:15px;line-height:1.75;color:#4b5b60}
.case-updates{display:grid;gap:20px;align-content:start}
.update-card-news{background:#f5f0e7;border-top-color:#94744f}
.update-card-news h3{margin-top:25px}
.update-card-news p{margin-bottom:0}
.source-note{max-width:100ch;margin-top:37px;padding-top:19px;border-top:1px solid #e8e4dc;font-size:12px;line-height:1.75;color:#657177}

/* Resource options feel like a composed directory, not generic tiles. */
.resources-section,.guide-choose,.guide-path.alt{background:#f3f0e9}
.resource-heading{gap:75px;align-items:end}
.resource-heading h2{max-width:650px}
.resource-heading p{max-width:440px;font-size:16px;line-height:1.72}
.guide-callout{margin:36px 0 32px;padding:28px 34px;background:#24363e;border-left:0;border-top:2px solid #c6a475}
.guide-callout strong{font-size:31px}
.guide-callout span{font-size:13px}
.resource-grid{gap:18px}
.resource-card{position:relative;min-height:275px;padding:34px 38px;background:#fffcf7;border:1px solid #dfd9cf}
.resource-card:before{content:'';position:absolute;left:38px;top:0;width:44px;height:3px;background:#c4a16f}
.resource-card h3{font-size:34px;margin-top:25px}
.resource-card p{font-size:15px;line-height:1.72;color:#48595f}
.resource-card .arrow-link{font-size:13px;margin-top:22px}
.resource-card:hover{border-color:#bca985;box-shadow:0 18px 36px rgba(27,43,51,.08)}

.recovery-grid{grid-template-columns:minmax(0,1.22fr) minmax(285px,.68fr);gap:clamp(60px,8vw,130px)}
.recovery-grid>div>p{font-size:16px;line-height:1.78;color:#48595f}
.recovery-note{background:#f5f0e7;border:1px solid #e0d7ca;border-top:3px solid #ba9868;padding:37px}
.recovery-note h3{font-size:36px}
.recovery-note p{font-size:15px;line-height:1.7}
.recovery-links{gap:17px 27px}
.checklist{border-top-color:#d5d7d2}
.checklist>div{grid-template-columns:20px 1fr;gap:21px;padding-block:23px}
.checklist p{font-size:15px;line-height:1.7}
.closing{padding-block:64px;background:#263942}
.closing h2{font-size:clamp(37px,3.5vw,52px)}

/* Reporting guide: improve scanning and make next steps feel considered. */
.guide-hero{padding-block:clamp(95px,8vw,122px)}
.guide-hero .shell{position:relative}
.guide-hero .shell:before{content:'';display:block;width:58px;height:2px;background:#cda875;margin-bottom:24px}
.guide-hero h1{font-size:clamp(65px,6.1vw,88px);line-height:1.02;margin:25px 0 30px}
.guide-hero p:not(.eyebrow){max-width:68ch;font-size:18px;line-height:1.75;color:#e3e7e4}
.choice-grid{gap:18px}
.choice-card{min-height:182px;padding:31px 34px;background:#fffdfa;border:1px solid #ded8cc;border-top:2px solid #c4a16f}
.choice-card strong{font-size:34px;line-height:1.1}
.choice-card small{font-size:14px;line-height:1.6}
.guide-clarifier{margin-top:31px;padding:19px 24px;font-size:14px;line-height:1.65;background:#fffdfa}
.path-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(60px,7vw,110px)}
.guide-path h2{margin-top:16px}
.steps-panel{padding:36px 40px;border:1px solid #ded8cb;border-top:3px solid #b99b6f;background:#fffdfa}
.steps-panel h3{font-size:35px;margin-bottom:27px}
.steps-panel ol li,.steps-panel ul li,.steps-panel>p{font-size:15px;line-height:1.7}
.steps-panel ol li{margin-bottom:19px;padding-bottom:19px}
.guide-path .path-caution{font-size:13px;line-height:1.7}

/* Secondary pages get a deliberate reading measure and section rhythm. */
.interior{padding-block:clamp(95px,8vw,132px)}
.interior:before{content:'';display:block;width:58px;height:2px;margin-bottom:23px;background:#b79566}
.interior h1{max-width:900px;font-size:clamp(56px,5.5vw,76px);line-height:1.05;margin:19px 0 38px}
.interior>p{max-width:74ch}
.interior h2{max-width:700px;margin:58px 0 15px;padding-top:21px;border-top:1px solid #e4dfd6;font-size:clamp(32px,3vw,42px)}
.interior p,.interior li{font-size:17px;line-height:1.82;color:#47585e}
.interior .author-statement{max-width:860px;margin-block:48px;padding:41px 47px;border-left:0;border-top:3px solid #b99565;background:#f3efe7}
.interior .author-statement h2{padding:0;border:0;margin:8px 0 22px;max-width:660px}
.interior .author-statement p:last-child{padding-top:17px;border-top:1px solid #d9d0c1;font-size:14px}

/* Footer has a clear finish and easier navigation. */
.site-footer{padding:76px 0 30px;background:#172830}
.footer-main{gap:110px}
.footer-main>div{max-width:460px}
.footer-brand .brand-image{width:365px}
.footer-main p{font-size:14px;line-height:1.75}
.footer-main .disclaimer{font-size:12px;line-height:1.7;color:#b4c1c3}
.footer-main nav{gap:clamp(60px,7vw,110px)}
.footer-main nav h3{margin:0 0 12px;font-size:11px}
.footer-main nav a{font-size:14px;line-height:1.6}
.footer-bottom{margin-top:69px;padding-top:26px;font-size:12px}

@media(max-width:1050px){.shell{width:min(100% - 56px,1200px)}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:48px}.hero h1{font-size:clamp(59px,6vw,75px)}.resource-card{padding:30px}.resource-card:before{left:30px}.resource-card h3{font-size:31px}.footer-main{gap:60px}}
@media(max-width:900px){.hero{min-height:0}.hero-grid{grid-template-columns:1fr}.hero-aside{max-width:650px}.resource-heading{display:block}.resource-heading p{margin-top:18px;max-width:650px}}
@media(max-width:760px){.shell{width:min(100% - 38px,1200px)}.header-inner{min-height:0;gap:16px}.site-header .brand-image{width:270px}.site-header nav{gap:20px}.hero-grid{padding-block:73px;gap:46px}.hero h1{font-size:clamp(53px,9vw,69px)}.hero-lede,.guide-hero p:not(.eyebrow){font-size:16px}.section{padding-block:76px}.section-grid,.recovery-grid,.path-grid,.prepare-grid{grid-template-columns:1fr;gap:38px}.section h2,.guide-path h2{font-size:clamp(43px,7.7vw,59px)}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-card{min-height:0}.guide-hero{padding-block:74px}.guide-hero h1{font-size:clamp(52px,8.9vw,68px)}.footer-main{display:block}.footer-main nav{margin-top:48px;gap:65px}.interior{padding-block:80px}.interior h1{font-size:clamp(51px,8vw,68px)}}
@media(max-width:580px){.site-header .brand-image{width:min(270px,82vw)}.site-header nav{gap:0}.site-header nav a{font-size:11px;min-height:44px}.hero h1{font-size:clamp(50px,10.8vw,62px)}.hero-aside{padding:29px}.hero-aside h2{font-size:34px}.hero-actions{display:flex;flex-direction:column;align-items:start;gap:19px}.hero-actions a{margin:0}.section h2,.guide-path h2{font-size:clamp(42px,9.2vw,53px)}.section-top{margin-bottom:32px}.resource-grid,.choice-grid{grid-template-columns:1fr}.resource-card,.choice-card{padding:28px}.resource-card:before{left:28px}.resource-card h3{font-size:32px}.guide-callout{padding:25px}.guide-callout .button{margin-top:20px}.recovery-note,.steps-panel{padding:29px}.closing{padding-block:50px}.footer-brand .brand-image{width:min(345px,100%)}.footer-main nav{gap:35px}.footer-main nav a{display:flex;align-items:center;min-height:40px}.footer-bottom{margin-top:50px}.interior .author-statement{padding:30px 26px}.interior p,.interior li{font-size:16px}}
@media(prefers-reduced-motion:reduce){.site-header,.hero *,.guide-hero *,.motion-enter{animation:none!important;transition:none!important}}

/* Motion layer: depth and rhythm without changing the page composition. */
@keyframes cinematic-rise{from{opacity:.45;transform:translate3d(0,34px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes cinematic-drift{0%,100%{transform:translate3d(-2%,0,0) scale(1)}50%{transform:translate3d(2%,-2%,0) scale(1.08)}}
@keyframes cinematic-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes cinematic-glint{from{transform:translateX(-160%) skewX(-18deg)}to{transform:translateX(260%) skewX(-18deg)}}
@media(prefers-reduced-motion:no-preference){
  .hero:before,.guide-hero:before{display:block;inset:-15%;background:radial-gradient(ellipse at 72% 30%,rgba(210,181,136,.13),transparent 55%);animation:cinematic-drift 18s ease-in-out infinite}
  .motion-enter{animation:cinematic-rise .9s var(--motion-delay,0ms) both var(--ease)}
  .update-card.motion-enter,.resource-card.motion-enter,.choice-card.motion-enter,.steps-panel.motion-enter,.recovery-note.motion-enter{animation:card-in 1s var(--motion-delay,0ms) both var(--ease)}
  .section-top:after{display:block!important;animation:cinematic-rule 1.15s var(--motion-delay,0ms) both var(--ease)}
  .site-header .brand-image,.footer-brand .brand-image{transition:transform .65s var(--ease),filter .65s var(--ease);transform-origin:50% 50%}
  .site-header .brand:hover .brand-image,.site-header .brand:focus-visible .brand-image{transform:translateY(-3px) scale(1.025);filter:drop-shadow(0 7px 10px rgba(32,49,58,.14))}
  .footer-brand:hover .brand-image,.footer-brand:focus-visible .brand-image{transform:translateY(-3px) scale(1.025);filter:drop-shadow(0 8px 15px rgba(226,198,159,.2))}
  .hero-aside,.update-card,.recovery-note,.steps-panel,.author-statement{transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease)}
  .hero-aside:hover,.update-card:hover,.recovery-note:hover,.steps-panel:hover,.author-statement:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(23,38,48,.11)}
  .resource-card:before{transform-origin:left;transition:transform .55s var(--ease)}
  .resource-card:hover:before{transform:scaleX(1.8)}
  .quiet-link,.arrow-link,.footer-main nav a,.footer-bottom a{transition:color .3s ease,text-decoration-color .3s ease}
  .footer-main nav a:hover,.footer-bottom a:hover{color:#f0d4ab}
  .button:after{animation:cinematic-glint 1.15s .1s both var(--ease);animation-play-state:paused}
  .button:hover:after,.button:focus-visible:after{animation-play-state:running}
}
@media(prefers-reduced-motion:reduce){
  .hero:before,.guide-hero:before{display:none!important}
  .site-header .brand-image,.footer-brand .brand-image,.hero-aside,.update-card,.recovery-note,.steps-panel,.author-statement{transition:none!important}
  .site-header .brand:hover .brand-image,.footer-brand:hover .brand-image,.hero-aside:hover,.update-card:hover,.recovery-note:hover,.steps-panel:hover,.author-statement:hover{transform:none!important;filter:none!important;box-shadow:none!important}
}
