:root{--g:#244637;--c:#35231e;--r:#d65f8b;--o:#d5a55f;--bg:#f8f3e9;--t:#1d211e}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 Arial,Helvetica,sans-serif;background:var(--bg);color:var(--t)}
a{color:inherit;text-decoration:none}
.wrap{width:min(1150px,calc(100% - 32px));margin:auto}
.top{background:var(--c);color:#fff;font-size:.9rem}
.top .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 0}
.top a{font-weight:bold}
.head{position:sticky;top:0;z-index:20;background:#fffffff2;box-shadow:0 2px 15px #0001}
.nav{height:76px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.brand{font:700 1.1rem/1 Georgia,serif;color:var(--g)}
.brand b{font-size:1.6rem}
.links{display:flex;gap:15px;align-items:center;font-size:.8rem;font-weight:bold}
.links a:hover{color:var(--r)}
.links .last{background:var(--g);color:#fff;border-radius:6px;padding:9px 12px}
.toggle{display:none;border:0;background:none;font-size:1.6rem}
.hero{min-height:520px;color:#fff;display:grid;align-items:end;background:linear-gradient(90deg,#14251ddd,#14251d44),url('images/photo-nouveau-360.jpg') center/cover}
.hero .wrap{padding:70px 0}
.hero h1{font:clamp(2.6rem,6vw,5rem)/1 Georgia,serif;max-width:760px;margin:12px 0}
.hero p{max-width:610px;font-size:1.12rem}
.tag{color:#f4d092;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:bold}
.btn{display:inline-block;background:var(--o);padding:12px 18px;border:0;border-radius:7px;font-weight:bold;color:#2d1e14;margin:6px 8px 0 0;cursor:pointer}
.btn.alt{background:transparent;border:2px solid #fff;color:#fff}
section{padding:70px 0}
.photo{height:240px;border-radius:18px;background-position:center;background-size:cover;position:relative;overflow:hidden;margin-bottom:40px;box-shadow:0 12px 35px #0002}
.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1c1711aa,#1c171122)}
.photo span{position:absolute;z-index:1;bottom:22px;left:0;right:0;text-align:center;padding:0 20px;color:#fff;font:clamp(1.5rem,3vw,2.35rem) Georgia,serif}
.title{text-align:center;max-width:800px;margin:0 auto 33px}
.title h1,.title h2{font:clamp(2rem,4vw,3rem)/1.1 Georgia,serif;color:var(--g);margin:7px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.marble{color:#fff;background:linear-gradient(130deg,#241915,#523027,#241915)}
.marble h2{font:2.4rem Georgia,serif}
.card{padding:23px;background:#fff;border-radius:15px;box-shadow:0 10px 28px #0001}
.card h3{color:var(--g);font:1.5rem Georgia,serif;margin-top:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.mini{background:#f5eee2;border-top:4px solid var(--g);padding:21px;border-radius:12px}
.mini h3{color:var(--g);margin:0;font:1.4rem Georgia,serif}
.note{margin:25px 0;padding:16px;border-left:5px solid var(--r);background:#fff0f5;font-weight:bold}
.table{overflow:auto;background:#fff;border-radius:12px;box-shadow:0 8px 25px #0001}
table{border-collapse:collapse;width:100%;min-width:650px}
th{background:var(--g);color:#fff}
th,td{text-align:left;padding:12px 15px;border-bottom:1px solid #e7e1d6}
tr:nth-child(even){background:#faf7f1}
.sand{background:#eee4d5}
.info{background:var(--g);color:#fff;padding:25px;border-radius:15px}
.info h3{font:1.6rem Georgia,serif;margin-top:0}
.tipgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tip{background:#f5eee2;border-radius:14px;padding:24px}
.tip h3{color:var(--g);font:1.5rem Georgia,serif;margin-top:0}
.tip p{border-bottom:1px solid #ddd2c1;padding-bottom:10px}
.formbox{background:#fff;padding:27px;border-radius:17px;box-shadow:0 10px 26px #0002}
form{display:grid;gap:12px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{font-size:.88rem;font-weight:bold;display:grid;gap:5px}
.full{grid-column:1/-1}
input,select,textarea{font:inherit;padding:11px;border:1px solid #ccc2b4;border-radius:6px}
textarea{resize:vertical;min-height:100px}
.check{display:flex;gap:9px;align-items:flex-start;font-size:.85rem}
.check input{margin-top:5px}
.check a,.legal-content a{color:var(--g);text-decoration:underline}
.faq details{border-bottom:1px solid #e2d9cd;padding:12px 0}
.faq summary{font-weight:bold;color:var(--g);cursor:pointer}
.contactinfo{background:var(--g);color:#fff;padding:28px;border-radius:18px}
.contactinfo h2{font:2.2rem Georgia,serif}
.contactinfo a{color:#f5d093;font-weight:bold}
.map-holder{background:#e8dfd2;border-radius:18px;padding:35px;text-align:center;margin-top:30px}
.map-holder p{max-width:580px;margin:0 auto 18px}
.map-holder iframe{width:100%;height:350px;border:0;border-radius:12px;display:none}
.legal-page{min-height:70vh;padding:70px 0}
.legal-content{max-width:900px;margin:auto}
.legal-block{background:#fff;border-radius:14px;padding:25px;margin:18px 0;box-shadow:0 8px 24px #00000012}
.legal-block h2{color:var(--g);font:1.65rem Georgia,serif;margin-top:0}
.placeholder{background:#fff2bd;padding:2px 5px;border-radius:3px;font-weight:bold}
footer{background:var(--c);color:#fff;padding:35px 0;font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}footer a{text-decoration:underline}
.cookie{display:none;position:fixed;z-index:100;left:15px;right:15px;bottom:15px;max-width:760px;margin:auto;background:#fff;padding:20px;border-radius:14px;box-shadow:0 15px 45px #0005}
.cookie h3{margin:0;color:var(--g)}
.cookie button{border:0;padding:10px 14px;border-radius:6px;font-weight:bold;cursor:pointer;background:var(--g);color:#fff;margin:7px 6px 0 0}
.cookie .no{background:#eae4db;color:var(--t)}
.up{display:none;position:fixed;z-index:30;bottom:16px;right:16px;background:var(--r);color:#fff;border:0;border-radius:50%;width:43px;height:43px;font-size:20px}
@media(max-width:950px){
  .toggle{display:block}
  .links{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:20px;box-shadow:0 10px 20px #0002}
  .links.open{display:flex}
  .grid2,.tipgrid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
}
@media(max-width:600px){
  section,.legal-page{padding:55px 0}
  .fields{grid-template-columns:1fr}
  .top .wrap{justify-content:center;text-align:center}
  .hero{min-height:490px}
  .photo{height:185px}
}