/* Wieneke Legal LLC: white page, Times New Roman, one burgundy accent, plain headings and paragraphs. */
:root{
  --bg:#ffffff; --soft:#f4f4f4; --ink:#1a1a1a; --muted:#4a4a4a; --rule:#d4d4d4; --accent:#6e1f2a;
  --serif:"Times New Roman", Times, serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:19px/1.6 var(--serif)}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding-inline:24px}
a{color:var(--accent);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;margin:0;text-wrap:balance}
h1{color:var(--accent)}
p{margin:0}

/* Skip link: hidden until focused */
.skip{position:absolute;left:16px;top:-100px;background:var(--bg);color:var(--accent);border:2px solid var(--accent);padding:8px 14px;z-index:10}
.skip:focus{top:12px}

/* Header */
header{border-top:4px solid var(--accent);border-bottom:1px solid var(--rule)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;padding-block:18px}
.brand{text-decoration:none;font-size:1.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px 24px;flex-wrap:wrap;font-size:1rem}
nav a{display:inline-block;padding-block:6px;color:var(--ink);text-decoration:none}
nav a:hover,nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}

main{padding-block:64px 72px}
main:focus{outline:none}

/* Home */
.home{text-align:center}
.home h1{font-size:2.6rem;margin-bottom:22px}
.home .intro{max-width:640px;margin:0 auto}
.banner{margin:48px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.banner img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.home .second{max-width:680px;margin:0 auto}
.links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px;border-top:1px solid var(--accent);padding-top:40px}
.links h2{font-size:1.4rem;margin-bottom:8px}

/* Inner pages */
.page h1{font-size:2.3rem;margin-bottom:24px}
.page h2{font-size:1.5rem;margin:44px 0 12px}
.page h3{font-size:1.2rem;margin:0 0 4px}
.page p+p{margin-top:14px}
.page p,.page li,.page dd{color:var(--muted)}
.lede{max-width:70ch}
.services{margin:0;padding:0}
.services div{padding:14px 0;border-bottom:1px solid var(--rule)}
.services div:first-child{border-top:1px solid var(--accent)}
.services dt{font-weight:700;color:var(--ink)}
.services dd{margin:2px 0 0}
.notice{border-left:3px solid var(--accent);padding:4px 0 4px 16px;margin-top:20px;max-width:75ch}
.contact-lines{margin-top:18px;font-style:normal}

/* Attorney */
.atty{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start}
img.photo{display:block;width:200px;height:auto;aspect-ratio:1/1;border:1px solid var(--rule)}
.atty h2{font-size:1.25rem;margin:32px 0 8px}
.creds{list-style:none;margin:0;padding:0}
.creds li+li{margin-top:4px}

/* Footer */
footer{border-top:2px solid var(--accent);background:var(--soft)}
footer .wrap{padding-block:44px;text-align:center}
footer h2{font-size:1.5rem;margin-bottom:12px;color:var(--accent)}
footer address{font-style:normal}
footer address a{color:var(--ink)}
footer address p+p{margin-top:4px}
.disclosure{max-width:760px;margin:32px auto 0;padding-top:24px;border-top:1px solid var(--rule);font-size:1rem;color:var(--ink)}
.disclosure h2{font-size:1.1rem;color:var(--ink);font-weight:700;margin-bottom:8px}
.disclosure p+p{margin-top:8px}
.fine{margin:20px auto 0;font-size:.85rem;color:var(--muted);max-width:760px}
.fine p+p{margin-top:8px}

@media (max-width:760px){
  .links,.atty,.banner{grid-template-columns:1fr}
  .home h1{font-size:2.05rem}
  .page h1{font-size:1.9rem}
  body{font-size:18px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Accessibility: long addresses wrap instead of forcing sideways scrolling (WCAG 1.4.4 / 1.4.10) */
address a,.lede a,.page p a{overflow-wrap:anywhere}
/* Accessibility: standalone links get at least a 24px target (WCAG 2.5.8) */
.links a,footer address a,.contact-lines a{display:inline-block;padding-block:3px;min-height:24px}
