
:root{
 --tuile:#a6362b;--tuile-d:#7f2a21;--pierre:#ece4d6;--pierre-c:#f5efe4;--chataigne:#40312a;
 --maquis:#5c7050;--soleil:#e0a13c;--doux:#6b5f55;
 --display:"Bevan",serif;--body:"Cabin",sans-serif;--max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--pierre-c);color:var(--chataigne);line-height:1.7;font-size:1.03rem}
a{color:inherit}
img,svg{max-width:100%;display:block}
.gaine{width:min(var(--max),92%);margin-inline:auto}

/* en-tête */
header.linteau{background:var(--pierre);border-bottom:3px solid var(--chataigne)}
header.linteau .gaine{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;flex-wrap:wrap}
.griffe{display:flex;align-items:center;gap:.9rem;text-decoration:none}
.griffe img{width:58px;height:58px}
.griffe b{font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--tuile);line-height:1;display:block}
.griffe span{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--chataigne);font-weight:700}
nav.chjassu{display:flex;gap:.2rem;flex-wrap:wrap}
nav.chjassu a{text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.86rem;padding:.5rem .75rem;border:2px solid transparent}
nav.chjassu a:hover{border-color:var(--chataigne)}
nav.chjassu a.quì{background:var(--tuile);color:var(--pierre-c);border-color:var(--tuile)}

/* crête */
.zenna{display:block;width:100%;height:36px}
.zenna.rouge path{stroke:var(--tuile)}
.zenna.brune path{stroke:var(--chataigne)}

/* sections */
section.terrasse{padding:3.6rem 0}
.chjave{font-family:var(--display);font-weight:400;color:var(--tuile);font-size:.95rem;letter-spacing:.04em}
.chjave em{font-style:normal;color:var(--doux);font-family:var(--body);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;margin-left:.6rem}
h1.grand,h2.grand{font-family:var(--display);font-weight:400;line-height:1.12;color:var(--chataigne);font-size:clamp(1.8rem,4.4vw,2.9rem);margin:.5rem 0 1.2rem;max-width:22ch}
p.chair{margin-bottom:1.1rem;max-width:70ch;color:#4c4139}
p.chair a{color:var(--tuile);font-weight:700}

/* hero */
.balcone{background:var(--pierre);border-bottom:3px solid var(--chataigne)}
.balcone .gaine{padding:4rem 0 3.2rem}
.balcone h1{font-size:clamp(2.3rem,6vw,4.2rem)}
.balcone .filu{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.6rem}
.btn{display:inline-block;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.88rem;padding:.85rem 1.5rem;background:var(--tuile);color:var(--pierre-c);border:2px solid var(--tuile)}
.btn:hover{background:var(--tuile-d);border-color:var(--tuile-d)}
.btn.creux{background:transparent;color:var(--chataigne);border-color:var(--chataigne)}
.btn.creux:hover{background:var(--chataigne);color:var(--pierre-c)}

/* pierres (cartes) */
.muraglia{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2rem}
.muraglia.quattru{grid-template-columns:repeat(4,1fr)}
.petra{background:#fff;border:2px solid var(--chataigne);padding:1.5rem 1.4rem;position:relative}
.petra::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--tuile)}
.petra:nth-child(2)::before{background:var(--maquis)}
.petra:nth-child(3)::before{background:var(--soleil)}
.petra:nth-child(4)::before{background:var(--chataigne)}
.petra h3{font-family:var(--display);font-weight:400;color:var(--chataigne);font-size:1.2rem;margin:.4rem 0 .5rem}
.petra .cor{font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--tuile);font-weight:700}
.petra p{font-size:.95rem;color:var(--doux)}

/* mission */
.parata{background:var(--chataigne);color:var(--pierre-c)}
.parata .gaine{padding:3.4rem 0}
.parata .cadru{border:2px solid var(--tuile);padding:2.2rem 2rem;background:rgba(166,54,43,.08)}
.parata blockquote{font-family:var(--display);font-weight:400;font-size:clamp(1.1rem,2.4vw,1.5rem);line-height:1.5;color:#f7efe0}
.parata p.chair{color:#d8cec0}
.parata .chjave em{color:#bfae9c}

/* duo colonnes */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:start}

/* formulaire */
form.fogliu{max-width:620px}
.campu{margin-bottom:1.1rem}
.campu label{font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;display:block;margin-bottom:.35rem}
.campu input,.campu textarea,.campu select{width:100%;padding:.75rem .85rem;border:2px solid var(--chataigne);background:#fff;font-family:var(--body);font-size:1rem}
.campu input:focus,.campu textarea:focus{outline:3px solid var(--soleil)}
#form-ok{display:none;margin-top:1.1rem;border:2px solid var(--maquis);background:#eef3ea;padding:1rem 1.1rem;color:#3c5231;font-weight:700}
.cadru-carta{border:2px solid var(--chataigne);margin-top:.6rem}
.cadru-carta iframe{display:block;width:100%;height:370px;border:0}

/* pied */
footer.fundamenta{background:var(--chataigne);color:#d8cec0;margin-top:3.4rem}
footer.fundamenta .gaine{padding:2.6rem 0 1.6rem}
footer.fundamenta b{color:#f5efe4}
footer.fundamenta p{margin-bottom:.7rem;max-width:78ch;font-size:.96rem}
footer.fundamenta a{color:var(--soleil);text-decoration:none}
footer.fundamenta a:hover{text-decoration:underline}
footer.fundamenta .liame{margin:1.1rem 0;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:700}
footer.fundamenta .liame a{color:#ece4d6;margin-right:1.1rem}
footer.fundamenta .fine{border-top:1px solid rgba(236,228,214,.25);padding-top:1rem;font-size:.8rem;color:#a89a8b}

@media(max-width:860px){
 .muraglia,.muraglia.quattru{grid-template-columns:1fr 1fr}
 .duo{grid-template-columns:1fr}
}
@media(max-width:560px){
 .muraglia,.muraglia.quattru{grid-template-columns:1fr}
 header.linteau .gaine{justify-content:center}
}
