:root{--t:#A94831;--o:#D9A441;--sd:#5F7052;--sg:#9CAF88;--c:#F5EFE6;--n:#221E19;--g:#6b645c;--w:#fff;--line:#e4ddcf}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--c);color:var(--n);font-family:"Work Sans",system-ui,sans-serif;font-size:17px;line-height:1.65}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.15;color:var(--sd)}
section{scroll-margin-top:96px}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}
a{color:var(--sd)}
:focus-visible{outline:3px solid var(--n);outline-offset:2px}
.vert :focus-visible,footer :focus-visible{outline-color:var(--c)}
.skip{position:absolute;inset-inline-start:-9999px;top:0;background:var(--sd);color:var(--c);padding:10px 16px;z-index:99}
.skip:focus{inset-inline-start:12px;top:12px}

.bar{background:var(--sd);color:var(--c);font-size:13.5px;text-align:center;padding:8px 16px}
.bar b{color:var(--c);font-weight:600}

header.site{position:sticky;top:0;z-index:30;background:rgba(245,239,230,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:20px;padding:12px 24px;max-width:1040px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand svg{width:38px;height:38px}
.brand .bt b{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:21px;color:var(--sd);display:block;line-height:1}
.brand .bt span{font-size:8.5px;letter-spacing:3px;color:var(--t)}
nav.menu{margin-inline-start:auto;display:flex;gap:24px;align-items:center}
nav.menu a{text-decoration:none;color:var(--n);font-size:15px;font-weight:500}
nav.menu a:hover{color:var(--t)}
.btn{display:inline-block;font:inherit;font-weight:600;font-size:15px;text-decoration:none;padding:12px 22px;border-radius:11px;border:1.5px solid var(--t);color:var(--t);background:transparent;cursor:pointer}
.btn:hover{background:var(--t);color:var(--c)}
.btn.plein{background:var(--t);color:var(--c)}
.btn.plein:hover{background:#8F3C29;border-color:#8F3C29}
.btn.secondaire{border-color:var(--sd);color:var(--sd)}
.btn.secondaire:hover{background:var(--sd);color:var(--c)}
.burger{display:none;margin-inline-start:auto;background:none;border:none;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:2.5px;background:var(--sd);margin:5px 0;border-radius:2px}
@media(max-width:820px){
 .burger{display:block}
 nav.menu{position:absolute;top:100%;inset-inline:0;max-height:calc(100vh - 64px);overflow-y:auto;background:var(--c);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:18px 24px;gap:16px;display:none}
 nav.menu.open{display:flex}
}

.hero{padding:66px 0 78px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(34px,4.8vw,52px)}
.hero .tagline{margin:14px 0 4px;font-size:19px;color:var(--t);font-weight:500}
.hero .ar{font-family:"El Messiri",serif;font-size:19px;font-weight:600;color:var(--sd)}
.hero .lat{font-family:"Fraunces",Georgia,serif;font-size:17px;color:var(--sd);direction:ltr}
.hero p.lead{margin-top:16px;font-size:18px;color:var(--g);max-width:480px}
.hero .ctas{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.hero .trust{margin-top:18px;font-size:14px;color:var(--g)}
.hero .trust em{font-style:normal;color:var(--sd);font-weight:600}
.hero .fmark{max-width:330px;margin-inline-start:auto}
@media(max-width:820px){
 .hero{padding:42px 0 52px}
 .hero .wrap{grid-template-columns:1fr;gap:34px}
 .hero .fmark{margin:0 auto;max-width:180px}
}

.sec{padding:70px 0}
.sec h2{font-size:clamp(28px,3.8vw,38px);margin-bottom:14px}
.white{background:var(--w)}
.vert{background:var(--sd);color:var(--c)}
.vert h2{color:var(--c)}
.lede{max-width:620px;color:var(--g);margin-bottom:36px}
.vert .lede{color:var(--c)}

.studio{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
@media(max-width:760px){.studio{grid-template-columns:1fr}}
.studio p{margin-bottom:14px;color:#3a352e}
.publics{border-inline-start:3px solid var(--sg);padding-inline-start:22px}
.publics li{list-style:none;margin-bottom:16px}
.publics b{font-family:"Fraunces",Georgia,serif;font-size:19px;color:var(--sd);display:block}
.publics span{font-size:15px;color:var(--g)}

.atl{display:grid;grid-template-columns:1fr 1fr;gap:8px 44px;margin-top:6px}
@media(max-width:700px){.atl{grid-template-columns:1fr}}
.atl li{list-style:none;display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.atl .dot{width:13px;height:13px;border-radius:50%;flex:none;transform:translateY(1px)}
.atl b{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:19px;color:var(--n)}
.atl span{color:var(--g);font-size:15px}
.atl small{margin-inline-start:auto;font-size:12.5px;color:var(--sd);font-weight:600;white-space:nowrap}

table{width:100%;border-collapse:collapse;margin-top:8px}
@media(max-width:520px){table{display:block;overflow-x:auto}}
caption{text-align:start;font-family:"Fraunces",Georgia,serif;font-size:24px;font-weight:600;color:var(--sd);padding-bottom:14px}
th{text-align:start;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--g);font-weight:600;padding:10px 12px;border-bottom:2px solid var(--sd)}
td{padding:15px 12px;border-bottom:1px solid var(--line);font-size:16px;vertical-align:top}
td.act{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:18px}
td .puce{display:inline-block;width:11px;height:11px;border-radius:50%;margin-inline-end:9px;transform:translateY(1px)}
td.prix{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:20px;color:var(--sd);white-space:nowrap}
tr.star td{background:#eef1e9}
.note{margin-top:16px;font-size:14px;color:var(--g)}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
@media(max-width:760px){.duo{grid-template-columns:1fr}}
.big{border-radius:18px;padding:32px 28px}
.big.terra{background:var(--t);color:var(--c)}
.big.terra h3{color:var(--c)}
.big.ocre{background:var(--o);color:var(--n)}
.big.ocre h3{color:var(--n)}
.big h3{font-size:25px;margin-bottom:10px}
.big p{font-size:15.5px;margin-bottom:10px}
.big .mini{font-size:13px;font-weight:600;display:block;margin-top:14px}

.wave{display:block;width:100%;height:46px}

.genwrap{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
@media(max-width:820px){.genwrap{grid-template-columns:1fr}}
.gencard{background:var(--c);border-radius:20px;padding:26px 20px;text-align:center;color:var(--n)}
.gencard svg{width:min(240px,62vw);height:auto}
.gencard .cap{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:25px;color:var(--sd);margin-top:8px}
.gencard .sub{font-size:11px;letter-spacing:3px;color:var(--t);margin-top:2px}
.genlabel{display:block;margin-top:22px;margin-bottom:7px;font-size:15px;font-weight:600;color:var(--c)}
.genui{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}
.genlabel+.genui{margin-top:0}
.genui input{flex:1;min-width:170px;font:inherit;font-size:17px;padding:13px 16px;border:none;border-radius:11px;background:var(--w);color:var(--n)}
.genbtns{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}
.vert .btn{border-color:var(--c);color:var(--c)}
.vert .btn:hover{background:var(--c);color:var(--n)}
.vert .btn.plein{background:var(--o);color:var(--n);border-color:var(--o)}
.vert .btn.plein:hover{background:#c2903a}
.vert p{color:var(--c)}

.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:19px;color:var(--n);padding:14px 4px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";color:var(--t);font-size:24px;line-height:1;font-family:"Work Sans",sans-serif}
.faq details[open] summary::after{content:"–"}
.faq summary::-webkit-details-marker{display:none}
.faq details p{padding:0 4px 18px;color:var(--g);max-width:640px}

.chips{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.chip{display:flex;align-items:center;gap:12px;background:var(--w);border-radius:14px;padding-block:12px;padding-inline:12px 18px}
.chip i{width:38px;height:38px;border-radius:50%;flex:none;border:1px solid var(--line)}
.chip b{display:block;font-size:15px}
.chip span{font-size:13px;color:var(--g)}

.infos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:30px;margin-top:10px}
.info h3{font-size:19px;margin-bottom:8px}
.info p{font-size:15.5px;color:var(--g)}

footer{background:var(--sd);color:var(--c);padding:52px 0 34px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
@media(max-width:700px){footer .cols{grid-template-columns:1fr}}
footer .fb{display:flex;align-items:center;gap:12px}
footer .fb svg{width:52px;height:52px}
footer .fb b{font-family:"Fraunces",Georgia,serif;font-size:24px;display:block;line-height:1.05}
footer .fb span{font-size:9px;letter-spacing:3px;color:var(--c)}
footer .ftag{margin-top:14px;font-size:15px;color:var(--c)}
footer .far{font-family:"El Messiri",serif;font-weight:600;color:var(--c)}
footer .lat{font-family:"Fraunces",Georgia,serif;color:var(--c);direction:ltr;display:inline-block}
footer h4{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--c);margin-bottom:12px;font-weight:600}
footer a{color:var(--c);text-decoration:none;font-size:15px}
footer a:hover{text-decoration:underline}
footer li{list-style:none;margin-bottom:8px}
footer .base{border-top:1px solid rgba(245,239,230,.25);margin-top:38px;padding-top:18px;font-size:13px;color:var(--c);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

html[lang="ar"] body{font-family:"Tajawal",system-ui,sans-serif;line-height:1.75}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] .brand .bt b,html[lang="ar"] .publics b,html[lang="ar"] .atl b,html[lang="ar"] caption,html[lang="ar"] td.act,html[lang="ar"] td.prix,html[lang="ar"] .gencard .cap,html[lang="ar"] .faq summary,html[lang="ar"] footer .fb b{font-family:"El Messiri",Georgia,serif}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{line-height:1.25}
html[lang="ar"] .bar b,html[lang="ar"] .btn,html[lang="ar"] .hero .trust em,html[lang="ar"] .atl small,html[lang="ar"] .big .mini{font-weight:700}
html[lang="ar"] .hero .tagline{font-size:20px}
html[lang="ar"] th{font-size:13px;letter-spacing:0;text-transform:none;font-weight:700}
html[lang="ar"] .faq summary::after{font-family:"Tajawal",sans-serif}
html[lang="ar"] footer h4{font-size:14px;letter-spacing:0;text-transform:none;font-weight:700}
