@font-face{font-family:"Rye";src:url(fonts/rye-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora-latin-400-italic.woff2) format("woff2");font-style:italic;font-display:swap}
:root{--red:#9b2d20;--cream:#f5ecd7;--brown:#6b4423;--green:#4f6b34;--ink:#2e2118;--sky:#e9d9b4}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Lora,Georgia,serif;color:var(--ink);background:var(--cream);line-height:1.65;font-size:1.08rem}
a{color:var(--red)}a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:10}
nav{background:var(--brown);position:sticky;top:0;z-index:5}
nav ul{list-style:none;margin:0 auto;padding:.6rem 1rem;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;justify-content:center;max-width:1160px}
nav a{color:var(--cream);text-decoration:none;font-weight:700}nav a:hover{text-decoration:underline}
h1,h2,h3{font-family:Rye,Georgia,serif;font-weight:400;line-height:1.2;color:var(--brown)}
.hero{background:linear-gradient(var(--sky),#f3e4c0);text-align:center;padding:3.5rem 1rem 0;overflow:hidden}
.hero h1{font-size:clamp(2.6rem,9vw,5rem);margin:.2rem 0;color:var(--red);text-shadow:2px 2px 0 var(--cream)}
.est{display:inline-block;border:2px solid var(--brown);border-radius:999px;padding:.15rem 1.1rem;font-family:Rye,serif;color:var(--brown);letter-spacing:.08em}
.tag{font-size:clamp(1.1rem,3.5vw,1.45rem);font-style:italic;margin:.6rem 0 1.5rem}
.hero svg{display:block;width:100%;max-width:1100px;margin:0 auto;height:auto}
.btn{display:inline-block;background:var(--red);color:var(--cream);padding:.7rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:700;box-shadow:0 3px 0 var(--brown)}
.btn:hover{background:#7f2419}
section{padding:3.5rem 1rem}.wrap{max-width:1160px;margin:0 auto}
section h2{font-size:clamp(1.8rem,5vw,2.4rem);text-align:center;margin-top:0}
.divider{display:block;margin:-.5rem auto 1.5rem;width:120px;height:12px}
.alt{background:#efe2c4}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.card{background:#fffaf0;border:2px solid var(--brown);border-radius:10px;padding:1.4rem;box-shadow:4px 4px 0 var(--green)}
.card{overflow:hidden;min-width:0;display:flex;flex-direction:column}
.card picture{display:block;margin:-1.4rem -1.4rem 1rem}
.card-img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-bottom:2px solid var(--brown)}
.email{display:inline-block;font-size:1.35rem;font-weight:700;color:var(--red);text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:.1rem}
.email:hover{color:#7f2419;border-color:#7f2419}
.card h3{margin-top:0;color:var(--green)}
.ph{background:#fff3c4;padding:0 .25rem;border-radius:3px}
.center{text-align:center}
footer{background:var(--ink);color:var(--cream);text-align:center;padding:2rem 1rem;font-size:.95rem}
footer .brand{font-family:Rye,serif;font-size:1.3rem}
.card{position:relative}.card h3{margin-bottom:0}
.arw{display:none}
section[id],.card{scroll-margin-top:4rem}
.about-text{max-width:720px;margin:0 auto;text-align:center;line-height:1.85}.about-text p{margin:0 0 1.2rem}
.dots{display:flex;justify-content:center;gap:.7rem;margin-top:.8rem}.dots a{width:.8rem;height:.8rem;border-radius:50%;background:var(--brown);opacity:.45}.dots a:hover,.dots a:focus{opacity:1}
img{max-width:100%}
@media (min-width:641px){.cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:1.5rem;padding:.25rem .25rem 1rem;scrollbar-width:thin}
.card{flex:0 0 44%;scroll-snap-align:start}
.arw{display:flex;align-items:center;justify-content:center;position:absolute;top:calc(33% - 1.4rem);z-index:2;width:2.8rem;height:2.8rem;border-radius:50%;background:rgba(43,29,18,.65);color:#fff;font-size:2rem;line-height:1;text-decoration:none}
.arw:hover,.arw:focus{background:var(--red)}.prev{left:.6rem}.next{right:.6rem}}
@media (min-width:1024px){#about .about-text{max-width:960px}body{font-size:1.15rem}section{padding:4.5rem 2rem}section h2{font-size:2.6rem}.card h3{font-size:1.45rem}nav ul{gap:.4rem 2.2rem;font-size:1.08rem}}
@media (min-width:641px) and (max-width:1023px){section{padding:3.5rem 1.5rem}.cards{gap:1.2rem}.card{padding:1.1rem}.card picture{margin:-1.1rem -1.1rem .9rem}}
@media (max-width:640px){body{font-size:1rem}section{padding:2.5rem 1rem}nav ul{gap:.2rem 1rem;padding:.5rem .75rem;font-size:.95rem}.hero h1{font-size:2.5rem}
.cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:1rem;padding:0 .25rem 1rem;scrollbar-width:none}.cards::-webkit-scrollbar{display:none}
.card{flex:0 0 88%;scroll-snap-align:center}.cards{scroll-behavior:smooth}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
