
:root { --background:#fffdfb; --foreground:#272322; --muted:#6f6865; --accent:#ba4033; --accent-soft:#f6e8e5; --border:#e8dfdc; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--background); color:var(--foreground); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; border-radius:2px; }
.skip-link { position:fixed; left:1rem; top:1rem; z-index:10; transform:translateY(-160%); background:var(--foreground); color:white; padding:.7rem 1rem; text-decoration:none; }
.skip-link:focus { transform:translateY(0); }
.home-shell { min-height:100svh; display:grid; grid-template-rows:1fr auto; padding:clamp(2rem,5vw,4.5rem) clamp(1.25rem,5vw,5rem) 1.75rem; }
.home-content { width:min(100%,720px); margin:auto; padding:4rem 0; text-align:center; }
.brand-logo { display:block; width:clamp(210px,38vw,360px); height:auto; margin:0 auto; }
.brand-rule { width:2.5rem; height:2px; margin:clamp(2rem,5vh,3.25rem) auto 1.5rem; background:var(--accent); }
.home-content h1 { margin:0; font-size:clamp(1.45rem,3vw,2rem); line-height:1.2; letter-spacing:-.035em; font-weight:560; }
.home-content p { max-width:590px; margin:1rem auto 0; color:var(--muted); font-size:clamp(1rem,1.8vw,1.125rem); line-height:1.7; }
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border); color:var(--muted); font-size:.875rem; }
.site-footer nav { display:flex; gap:clamp(1rem,3vw,2rem); }
.site-footer a,.legal-header a,.legal-back { text-decoration-color:transparent; text-underline-offset:.3em; transition:color .2s ease,text-decoration-color .2s ease; }
.site-footer a:hover,.legal-header a:hover,.legal-back:hover { color:var(--accent); text-decoration-color:currentColor; }
.legal-shell { width:min(100% - 2.5rem,820px); margin:0 auto; padding:2rem 0 5rem; }
.legal-header { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid var(--border); }
.legal-header img { width:72px; height:auto; }
.legal-header nav { display:flex; gap:1.25rem; font-size:.875rem; color:var(--muted); }
.legal-document { padding-top:clamp(3.5rem,8vw,6rem); }
.legal-kicker { margin:0 0 .75rem; color:var(--accent); font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.legal-document h1 { margin:0; font-size:clamp(2.25rem,7vw,4rem); line-height:1.05; letter-spacing:-.055em; font-weight:600; }
.legal-meta { display:grid; grid-template-columns:auto auto; align-items:center; justify-content:start; gap:.5rem 2rem; margin:1.5rem 0 3rem; padding:1.1rem 1.25rem; border-left:3px solid var(--accent); background:var(--accent-soft); color:#5c342f; font-size:.875rem; line-height:1.5; }
.legal-meta-label { grid-column:1 / -1; margin-bottom:.15rem; font-size:.72rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.legal-meta strong { display:block; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }
.legal-document section { margin-top:2.5rem; }
.legal-document h2 { margin:0 0 .75rem; font-size:1.2rem; letter-spacing:-.02em; }
.legal-document p,.legal-document li { color:#514b48; font-size:1rem; line-height:1.75; }
.legal-document p { margin:.7rem 0; }
.legal-document ul { margin:.75rem 0; padding-left:1.4rem; }
.legal-document li + li { margin-top:.35rem; }
.legal-contact { display:flex; flex-wrap:wrap; gap:.45rem 1.25rem; margin-top:3.5rem; padding:1.25rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--muted); font-size:.875rem; font-style:normal; }
.legal-contact-label { flex-basis:100%; color:var(--foreground); font-weight:650; }
.legal-contact a { color:var(--accent); text-underline-offset:.25em; }
.legal-back { display:inline-block; margin-top:3rem; color:var(--accent); }
@media (max-width:600px) { .home-shell{padding-bottom:1.25rem}.home-content{padding:2.5rem 0 4rem}.site-footer{flex-direction:column;align-items:flex-start}.legal-header{align-items:flex-start}.legal-header nav{flex-direction:column;gap:.6rem;text-align:right}.legal-meta{grid-template-columns:1fr;gap:.65rem}.legal-meta-label{grid-column:auto} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*{transition-duration:.01ms!important} }
