:root{--ink:#1a1714;--stone:#ece7dd;--sand:#d8d0c0;--brick:#9a4a2e;--brick2:#7c3822;--muted:#6b645a;--w:#fff}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font:400 17px/1.7 Archivo,system-ui,sans-serif;color:var(--ink);background:var(--stone);overflow-x:hidden}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:700;line-height:1.08}
a{color:inherit}.wrap{max-width:1180px;margin:auto;padding:0 24px}section{padding:100px 0}
.lab{font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--brick)}
.brick{background-color:var(--brick2);background-image:linear-gradient(rgba(0,0,0,.25) 2px,transparent 2px),linear-gradient(90deg,rgba(0,0,0,.25) 2px,transparent 2px);background-size:72px 28px,72px 28px;background-position:0 0,0 0}
header{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(26,23,20,.92);backdrop-filter:blur(8px);color:var(--stone)}
header .wrap{display:flex;justify-content:space-between;align-items:center;height:66px}
.logo{font-weight:900;font-size:22px;text-decoration:none;letter-spacing:.05em}.logo small{font-size:10px;letter-spacing:.4em;margin-left:8px;font-weight:500}
nav{display:flex;gap:26px;align-items:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase}nav a{text-decoration:none}
.btn{display:inline-block;padding:15px 26px;border-radius:2px;border:2px solid currentColor;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:.25s;cursor:pointer;background:none;color:inherit;font-family:inherit}
.btn.p{background:var(--brick);border-color:var(--brick);color:#fff}.btn.p:hover{background:var(--brick2);transform:translateY(-2px)}.btn:hover{transform:translateY(-2px)}
:focus-visible{outline:3px solid var(--brick);outline-offset:3px}
@media(max-width:820px){nav a:not(.btn){display:none}}
.hero{min-height:100svh;display:flex;align-items:flex-end;color:#fff;padding-bottom:80px;background:linear-gradient(180deg,rgba(26,23,20,.3),rgba(26,23,20,.85)),url(images/hero.jpg) center/cover,var(--brick2)}
.hero h1{font-size:clamp(44px,8vw,104px);margin:18px 0 22px;max-width:900px}.hero h1 span{display:inline-block;opacity:0;transform:translateY(30px);animation:up .9s forwards}
@keyframes up{to{opacity:1;transform:none}}.hero p{font-size:20px;max-width:540px;margin-bottom:32px}.hero .btn+.btn{margin-left:12px}.hero .lab{color:#e8b9a5}
h2{font-size:clamp(32px,4.6vw,56px);margin:12px 0 16px;max-width:780px}
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.about .img,.card .img{background:var(--sand) center/cover;aspect-ratio:4/5}.about .img{background-image:url(images/equipe.jpg)}
.sign{font-family:Fraunces,serif;font-style:italic;font-size:22px;margin-top:24px}
.vals{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:40px}.vals div{border-top:3px solid var(--brick);padding-top:14px;font-weight:600}.vals span{display:block;font-weight:400;font-size:15px;color:var(--muted)}
@media(max-width:820px){.about{grid-template-columns:1fr}}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px;margin-top:44px}
.card{background:var(--w);overflow:hidden;display:flex;flex-direction:column;transition:.3s}.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.15)}
.card .img{aspect-ratio:4/3;background-color:var(--brick2);transition:.6s}.card:hover .img{transform:scale(1.05)}.card .ov{overflow:hidden}
.card .b{padding:22px;display:flex;flex-direction:column;flex:1}.card h3{font-size:24px;margin-bottom:8px}.card p{font-size:15px;color:var(--muted);flex:1}.card a{margin-top:16px;font-weight:700;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--brick)}
.dark{background:var(--ink);color:var(--stone)}.dark .lab{color:#e8b9a5}
.f{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.f button{padding:9px 16px;border:1px solid var(--muted);background:none;color:inherit;font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.f button[aria-pressed=true]{background:var(--brick);border-color:var(--brick);color:#fff}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.gal figure{position:relative;aspect-ratio:4/3;background:var(--brick2);cursor:zoom-in;overflow:hidden}.gal img{width:100%;height:100%;object-fit:cover}.gal figcaption{position:absolute;inset:auto 0 0;padding:14px;background:linear-gradient(transparent,rgba(0,0,0,.8));font-size:14px}
.empty{border:2px dashed var(--muted);padding:40px;text-align:center;color:var(--sand)}
#lb{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;place-items:center;z-index:50}#lb img{max-width:92vw;max-height:88vh}
.ba{position:relative;aspect-ratio:16/8;margin-top:40px;overflow:hidden;--p:50%;background:var(--sand)}.ba div{position:absolute;inset:0;background:center/cover;display:grid;place-items:center;font-size:12px;letter-spacing:.2em;color:var(--ink)}.ba .a{clip-path:inset(0 calc(100% - var(--p)) 0 0);background-color:var(--muted);color:#fff}.ba i{position:absolute;top:0;bottom:0;left:var(--p);width:3px;background:#fff}.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}.w{grid-column:1/-1}
label{display:block;font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:6px}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;padding:14px;background:transparent;border:1px solid rgba(236,231,221,.35);color:inherit;font:inherit;border-radius:2px}select option{color:#000}
.err{color:#ffb4a8;font-size:14px;min-height:1.2em}#st{display:none;padding:14px;border:1px solid currentColor}.hp{position:absolute;left:-9999px}
@media(max-width:700px){form{grid-template-columns:1fr}section{padding:70px 0}.hero .btn+.btn{margin:12px 0 0}}
footer{padding:56px 0 100px;background:#0f0d0b;color:var(--sand);font-size:14px}footer .wrap{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}
.sticky{position:fixed;bottom:0;left:0;right:0;display:none;z-index:25}.sticky a{flex:1;text-align:center;padding:16px;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;background:var(--ink);color:#fff}.sticky a+a{background:var(--brick)}@media(max-width:820px){.sticky{display:flex}}
#ck{position:fixed;left:16px;bottom:16px;right:16px;max-width:500px;background:#fff;color:var(--ink);padding:20px;z-index:60;display:none;font-size:14px;box-shadow:0 10px 40px rgba(0,0,0,.3)}#ck .btn{padding:10px 16px;margin:12px 8px 0 0}
.rv{opacity:0;transform:translateY(26px);transition:.9s}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv,.hero h1 span{opacity:1;transform:none}}
