:root{--ink:#292524;--muted:#57504c;--bg:#f8f1ee;--card:#fff;--brand:#78350f;--accent:#c2410c;--accent-dark:#9a3412;--tertiary:#d97706;--neutral:#292524;--line:#e5d8d3;--r:10px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:1rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-dark)}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid #1b5fd1;outline-offset:2px}
.wrap{width:min(1100px,100% - 2rem);margin-inline:auto}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:.5rem;left:.5rem;z-index:99;background:#fff;padding:.5rem 1rem}
h1,h2{line-height:1.25;color:var(--brand)}
h1{font-size:clamp(1.8rem,4vw,2.5rem);margin:1.5rem 0 1rem}
h2{font-size:clamp(1.3rem,2.5vw,1.75rem);margin:2rem 0 .75rem}
.top{background:var(--neutral);border-bottom:3px solid var(--tertiary);color:#fff;position:sticky;top:0;z-index:10}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding:.6rem 0}
.brand{color:#fff;text-decoration:none;display:flex;flex-direction:column;line-height:1.1}
.brand strong{font-size:1.6rem;letter-spacing:.04em}
.brand span{font-size:.85rem;color:#f5e1d3}
nav{flex:1 1 auto}
nav ul{display:flex;flex-wrap:wrap;gap:.25rem;list-style:none;margin:0;padding:0}
nav a{display:block;color:#fff;text-decoration:none;padding:.35rem .7rem;border-radius:6px;font-weight:600}
nav a small{display:none;font-weight:400;color:#f5e1d3;font-size:.72rem}
nav a:hover,nav a[aria-current]{background:rgba(255,255,255,.14)}
.side{display:flex;align-items:center;gap:1rem;margin-left:auto}
.call{color:#fff;text-decoration:none;display:flex;flex-direction:column;line-height:1.2;text-align:right}
.call span{font-size:.75rem;color:#f5e1d3}
.call strong{font-size:1.05rem}
.lang{color:#fff;border:1px solid #f5e1d3;border-radius:6px;padding:.25rem .6rem;text-decoration:none;font-weight:600}
.lang:hover{background:#fff;color:var(--neutral)}
@media(min-width:1000px){nav a small{display:block}}
.slider{position:relative;background:#000;max-width:1100px;margin:0 auto}
.slider ul{list-style:none;margin:0;padding:0}
.slider li[hidden]{display:none}
.slider img{width:100%;aspect-ratio:1024/600;object-fit:cover}
.ctrl button{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.ctrl button:hover{background:rgba(0,0,0,.8)}
.ctrl [data-prev]{left:.5rem}.ctrl [data-next]{right:.5rem}
.why{text-align:center;max-width:46rem}
.links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.links a,.btn{display:inline-block;background:var(--accent-dark);color:#fff;text-decoration:none;padding:.6rem 1.2rem;border-radius:var(--r);font-weight:600}
.links a:hover,.btn:hover{background:var(--neutral);color:#fff}
.btn.alt{background:var(--brand)}
.btn.alt:hover{background:var(--accent-dark)}
.quotes{columns:2 20rem;column-gap:1.25rem}
.quote{break-inside:avoid;margin:0 0 1.25rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.25rem}
.quote blockquote{margin:0}
.quote p{margin:0 0 .5rem}
.quote figcaption{font-weight:700;color:var(--brand)}
.quote figcaption::before{content:"— "}
.more{text-align:center;margin:1.5rem 0}
.news ul{padding-left:1.25rem}
.callbox{background:var(--brand);color:#fff;border-radius:var(--r);padding:1.25rem;text-align:center;margin:2.5rem auto}
.callbox h2{color:#fff;margin:0 0 .25rem}
.callbox a{color:#fff}
.prose{max-width:50rem}
.prose .note,.crumb{color:var(--muted)}
.ticks{padding-left:1.25rem}
.ticks li{margin:.4rem 0}
address{font-style:normal;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.25rem;margin:1rem 0;line-height:1.8}
.cards ul{list-style:none;padding:0;margin:0 auto 1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}
.cards li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.25rem}
.cards h2{font-size:1.2rem;margin:.25rem 0 .5rem}
.cards .more{text-align:left;margin:.5rem 0 0;display:block;font-weight:600}
.gallery ul{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0 0 1rem}
.gallery li{background:#ecdfd9;border-radius:6px;overflow:hidden}
.gallery img{width:auto;max-width:none}
.foot{background:var(--brand);color:#f5e1d3;margin-top:3rem;padding:1.5rem 0;text-align:center;font-size:.9rem}
.foot p{margin:.25rem 0}.foot a{color:#fff}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
