@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--green:#155663;--green2:#102c3a;--cream:#f2eee6;--paper:#fbf9f4;--gold:#a87348;--ink:#17313c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",Arial,sans-serif}header{height:78px;position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(16,44,58,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.12)}
.logo{font-family:"Playfair Display",Georgia,serif;letter-spacing:.13em;font-size:22px;color:#fff;text-decoration:none}.logo small{font:500 8px "DM Sans";letter-spacing:.42em;display:block;text-align:center;margin-top:2px;color:#d8bd8f}nav{display:flex;gap:26px}nav a{color:#f5f1e8;text-decoration:none;font-size:12px;letter-spacing:.05em}.hamb{display:none;color:white;background:none;border:0;font-size:24px}
.hero{height:100svh;min-height:650px;background:url('images/facade.jpg') center/cover;position:relative;display:grid;place-items:center;color:white;text-align:center}.veil{position:absolute;inset:0;background:linear-gradient(rgba(10,34,48,.28),rgba(10,34,48,.70))}.hero-inner{position:relative}.kicker,.tag{font-size:11px;font-weight:600;letter-spacing:.26em;color:#a77839}.hero h1{font:600 clamp(65px,11vw,145px) "Playfair Display",serif;margin:8px 0 2px;letter-spacing:-.04em}.hero p{font:500 clamp(22px,3vw,38px) "Playfair Display",serif;line-height:1.25;margin:15px 0 32px}.buttons{display:flex;gap:12px;justify-content:center}.button{padding:14px 22px;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.06em;border:1px solid transparent}.gold{background:var(--gold);color:white}.line{border-color:rgba(255,255,255,.8);color:white}.scroll{position:absolute;bottom:25px;color:white;text-decoration:none;font-size:24px}
.statement{text-align:center;padding:120px 8vw;max-width:1050px;margin:auto}.statement h2,.photo-section h2,.events h2,.visit h2{font:500 clamp(39px,5.5vw,68px) "Playfair Display",serif;line-height:1.05;margin:18px 0 28px}.statement h2 em,.copy h2 em{font-weight:500;color:#9b7040}.statement>p{max-width:780px;margin:auto;font-size:18px;line-height:1.8;color:#56645f}.chips{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:35px}.chips span{border:1px solid #cfc8bc;padding:9px 13px;font-size:11px;letter-spacing:.06em}
.feature{display:grid;grid-template-columns:1.05fr .95fr;min-height:690px}.photo{background-position:center;background-size:cover}.photo.cave{background-image:url('images/cave.jpg')}.photo.planche{background-image:url('images/planche.jpg')}.copy{padding:9vw 7vw;display:flex;justify-content:center;flex-direction:column}.copy.dark{background:var(--green);color:white}.copy.cream{background:var(--cream)}.copy h2{font:500 clamp(38px,5vw,63px) "Playfair Display",serif;line-height:1.05;margin:18px 0 25px}.copy p{font-size:16px;line-height:1.8;max-width:530px;opacity:.88}.accent{font-family:"Playfair Display",serif!important;font-size:20px!important;color:#d6b67e}.light{color:#d6b67e}.flip .photo{order:2}.flip .copy{order:1}.arrow{color:inherit;font-size:13px;font-weight:600;margin-top:20px}
.photo-section{text-align:center;padding:110px 5vw;background:#fff}.mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:270px;gap:10px;margin-top:45px}.mosaic img{width:100%;height:100%;object-fit:cover}.mosaic img:first-child{grid-row:span 2}
.garden{min-height:720px;background:linear-gradient(90deg,rgba(16,44,58,.82),rgba(21,86,99,.10)),url('images/terrasse-hiver.jpg') center/cover;display:flex;align-items:center;padding:8vw}.gardenbox{max-width:600px;color:white}.garden h2{font:500 clamp(42px,6vw,72px) "Playfair Display",serif;line-height:1.04;margin:18px 0}.garden p{font-size:17px;line-height:1.7}
.events{text-align:center;padding:120px 8vw;background:var(--cream)}.events p{max-width:700px;margin:0 auto 30px;line-height:1.8;color:#5b655f}.green{background:var(--green);color:white}
.visit{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;padding:110px 8vw;background:#fff}.address{font:500 24px "Playfair Display",serif;line-height:1.5}.left{justify-content:flex-start}.outlinegreen{border-color:var(--green);color:var(--green)}.contactcard{background:var(--cream);padding:50px}.contactcard p{line-height:1.7;margin:28px 0}.contactcard a{color:inherit}
footer{text-align:center;background:var(--green2);color:#cbd3cf;padding:65px 20px 95px}footer .logo{display:inline-block;margin-bottom:20px}footer p{font-size:12px;letter-spacing:.08em}.fine{opacity:.5;margin-top:30px}
.floating{position:fixed;z-index:60;right:22px;bottom:22px;background:var(--gold);color:white;text-decoration:none;padding:16px 20px;font-size:12px;font-weight:600;box-shadow:0 8px 25px rgba(0,0,0,.22)}
@media(max-width:850px){header{height:66px;padding:0 20px}.hamb{display:block}nav{display:none;position:absolute;top:66px;left:0;right:0;padding:25px;background:var(--green2);flex-direction:column}nav.open{display:flex}.hero{min-height:610px}.hero h1{font-size:65px}.statement{padding:85px 7vw}.feature{grid-template-columns:1fr;min-height:0}.photo{height:500px}.flip .photo,.flip .copy{order:initial}.copy{padding:80px 8vw}.mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:210px}.mosaic img:first-child{grid-row:span 1;grid-column:span 2}.garden{min-height:600px}.visit{grid-template-columns:1fr;gap:45px;padding:80px 7vw}.contactcard{padding:35px}.floating{right:16px;bottom:16px}.buttons{flex-wrap:wrap}}