
:root{--canard:#2A3F3A;--bord:#6B2737;--noir:#1E1A19;--blanc:#FBF9F5;--creme:#F5F0EA;--rose:#D9A9B4}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--blanc);color:var(--noir);font:17px/1.65 Georgia,"Times New Roman","Noto Serif SC","Songti SC",serif}
h1,h2,h3{font-weight:400;margin:0 0 .5em;line-height:1.08}
em{color:var(--bord);font-style:italic}
a{color:inherit}
header{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;color:#fff;gap:12px}
.logo{font-size:30px;letter-spacing:.35em;text-transform:uppercase;text-decoration:none}
nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end}
nav a{margin-left:22px;text-decoration:none;font:12px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
nav a.lg{margin-left:12px;letter-spacing:.05em;opacity:.7}nav a.lg.on{opacity:1;border-bottom:1px solid var(--rose)}
.hero{min-height:92vh;background:linear-gradient(rgba(30,26,25,.5),rgba(42,63,58,.72)),var(--bg) center/cover;color:var(--blanc);display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 6vw 70px}
.hero.small{min-height:62vh}
.hero h1{font-size:clamp(54px,11vw,120px);letter-spacing:.3em;margin-right:-.3em;text-transform:uppercase}
.hero h1.page{font-size:clamp(34px,7vw,70px);letter-spacing:.2em;margin-right:-.2em}
.hero p.sig{font:13px Arial,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--rose)}
.hero p.lead{max-width:640px;margin:20px auto 34px;font-size:19px}
.btn{display:inline-block;background:var(--bord);color:#fff;padding:16px 34px;font:12px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;margin:6px 5px;transition:background .2s}
.btn:hover{background:#4F1B28}
section{padding:90px 6vw}.wrap{max-width:1100px;margin:auto}
h2{font-size:clamp(32px,5vw,50px)}
.kicker{font:700 11px Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--bord);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.kicker:before{content:"";width:30px;height:1px;background:currentColor}
.kicker.light{color:var(--rose)}
.light{background:var(--creme)}.dark{background:var(--canard);color:var(--blanc)}
.dark em{color:var(--rose)}
.edit{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}
h2.big{font-size:clamp(40px,6vw,68px);margin-bottom:.45em}
.edtxt .sub{font-size:21px;line-height:1.5}
.lnk{display:inline-block;margin-top:14px;font:700 12px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--bord);text-decoration:none}
.edimg{margin:0;position:relative;padding-bottom:28px}
.edimg img{width:88%;height:600px;object-fit:cover;display:block;margin-left:auto}
.edimg figcaption{position:absolute;right:0;bottom:0;width:70%;background:var(--bord);color:#fff;padding:16px 20px;font:13px Arial,sans-serif}
.steps{background:var(--creme);padding:0}
.stepgrid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #d9d0c4}
.stepgrid div{padding:46px 5vw 46px 30px;border-left:1px solid #d9d0c4}.stepgrid div:first-child{border-left:0;padding-left:6vw}
.stepgrid b{font:700 11px Arial,sans-serif;letter-spacing:.2em;color:var(--bord);display:block;margin-bottom:26px}
.stepgrid h3{font-size:23px;margin-bottom:10px}.stepgrid p{margin:0;font-size:15px;color:#4a4543}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.strip figure{margin:0;position:relative}
.strip img{width:100%;height:520px;object-fit:cover;display:block}
.strip figcaption{position:absolute;left:14px;bottom:18px;background:rgba(30,26,25,.82);color:#fff;padding:9px 14px;font:11px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.photos{padding:0}
.photos .strip img{height:380px}
.pricehead{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;margin-bottom:36px}
.pricehead p{margin:0 0 8px}
.tiles{display:grid;border-top:1px solid #d3c9bc;border-bottom:1px solid #d3c9bc}
.tiles.three{grid-template-columns:repeat(3,1fr)}.tiles.four{grid-template-columns:repeat(4,1fr)}
.tile{padding:34px 20px;text-align:center;border-left:1px solid #d3c9bc}.tile:first-child{border-left:0}
.tt{font:700 11px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.ts{font:12px Arial,sans-serif;color:#6b6460;margin-top:4px}
.tp{font-size:clamp(38px,5vw,56px);line-height:1.2;margin:10px 0 4px}.tp small{font:20px Arial,sans-serif}.tp.q{font-size:32px;margin:22px 0 10px}
.tn{font:12px Arial,sans-serif;color:#6b6460}
.incl{text-align:center;font:700 13px Arial,sans-serif;color:var(--bord);margin:30px 0 4px}
.note{font-size:14px;color:#5f5855}.note.c{text-align:center}
.req{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:start}
.reqtxt h2{color:#fff}.reqtxt p{color:#dfe7e3}.contact a{color:var(--rose);text-decoration:none}
form{background:var(--blanc);color:var(--noir);padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
form .full{grid-column:1/-1}
.steph{display:flex;justify-content:space-between;font:700 11px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--bord);border-bottom:1px solid #d9d0c4;padding-bottom:10px;margin-top:8px}
.steph .rq{font-weight:400;letter-spacing:0;text-transform:none;color:#6b6460}
label{font:700 11px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:6px;color:#3b3533}
label .o{text-transform:none;letter-spacing:0;font-weight:400}
label.chk{text-transform:none;letter-spacing:0;font:400 14px Georgia,serif;display:flex;gap:10px;align-items:flex-start}
label.chk input{width:auto;margin-top:5px}
input,select,textarea{width:100%;padding:13px;border:1px solid #cfc5b8;background:#fff;font:16px Georgia,serif;color:var(--noir)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--bord);outline-offset:-1px}
.hp{position:absolute;left:-9999px}
.abox{position:relative}
.sug{list-style:none;margin:0;padding:0;position:absolute;left:0;right:0;top:calc(100% - 4px);z-index:30;background:#fff;border:1px solid #cfc5b8;box-shadow:0 10px 26px rgba(0,0,0,.14);max-height:270px;overflow:auto}
.sug:empty{display:none}
.sug li{padding:11px 14px;cursor:pointer;font-size:15px;border-bottom:1px solid #eee7dd}
.sug li.on,.sug li:hover{background:var(--creme)}
.st{font:700 12px Arial,sans-serif;color:#2d6a4f;margin-top:4px}
.abox.ok input.addr{border-color:#2d6a4f}
.chips{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.chips button{border:1px solid var(--bord);background:#fff;color:var(--bord);padding:6px 12px;font:12px Arial,sans-serif;cursor:pointer}
.chips button:hover{background:var(--bord);color:#fff}
.hint{font-size:13px;color:#6b6460;margin-top:-6px}
.dest{background:var(--creme);padding:12px 14px;font-size:15px;border-left:4px solid var(--canard)}
.prix{background:var(--creme);border-left:4px solid #b9ada0;padding:16px 18px;font-size:19px}
.prix.forfait{border-left-color:#2d6a4f}.prix.quote{border-left-color:var(--bord)}
form .btn{width:100%;margin:0}
footer{background:var(--noir);color:var(--blanc);padding:50px 6vw;text-align:center;font-size:15px}
footer .logo{font-size:26px;display:block;margin-bottom:10px}footer a{color:var(--rose)}
@media(max-width:860px){.edit,.req,.pricehead{grid-template-columns:1fr;gap:34px}.stepgrid{grid-template-columns:1fr 1fr}.stepgrid div{border-left:0;border-top:1px solid #d9d0c4}.strip{grid-template-columns:1fr}.strip img{height:300px}.tiles.three,.tiles.four{grid-template-columns:1fr 1fr}.edimg img{height:420px;width:100%}form{grid-template-columns:1fr;padding:22px}nav a{display:none}nav a.cta,nav a.lg{display:inline}.logo{font-size:22px}section{padding:60px 6vw}}
