/* v3 : formules, 3D, visuels */
.hero3d{padding:0;overflow:hidden;background:#14233F}
.hero3d img{display:block;width:100%;height:auto}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:44px}
.plan{border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;background:#fff}
.plan.main{border-color:#C9A55C;box-shadow:inset 0 3px 0 #C9A55C}
.plan figure{margin:0;position:relative;aspect-ratio:4/3;background:#14233F;overflow:hidden}
.plan figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.plan:hover figure img{transform:scale(1.03)}
.plan figcaption{position:absolute;left:16px;top:12px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.16em}
.plan .badge{position:absolute;right:12px;top:12px;background:#C9A55C;color:#14233F;font-size:12px;font-weight:600;letter-spacing:.06em;padding:6px 10px;text-transform:uppercase}
.plan .pb{padding:26px 24px 28px;display:flex;flex-direction:column;gap:12px;flex:1}
.plan h3{font-size:22px}
.plan .p{font-size:30px;font-weight:700;letter-spacing:-.02em}
.plan .p small{font-size:13px;font-weight:500;color:var(--ink-2);letter-spacing:0;white-space:nowrap}
.plan p{color:var(--ink-2);font-size:15.5px;margin:0}
.plan ul{margin:4px 0 0;padding:0;list-style:none;font-size:14.5px;display:grid;gap:7px}
.plan li::before{content:"";display:inline-block;width:6px;height:6px;background:#C9A55C;margin-right:10px;transform:translateY(-2px)}
.plan li.inc{font-weight:600}
.plan li.inc::before{content:"+";width:auto;height:auto;background:none;color:#9A7A3A;font-weight:700;transform:none}
.plan .cta{margin-top:auto;text-align:center}
@media(max-width:960px){.plans{grid-template-columns:1fr;max-width:560px}}
.steps-note{margin-top:28px;color:var(--ink-2);font-size:14px}
.perks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:48px;border:1px solid var(--line)}
.perks div{padding:24px;border-right:1px solid var(--line);min-width:0}.perks div:last-child{border-right:0}
.perks b{display:block;font-size:17px;margin-bottom:6px}.perks p{color:var(--ink-2);font-size:14.5px;margin:0}
@media(max-width:900px){.perks{grid-template-columns:repeat(2,minmax(0,1fr))}.perks div:nth-child(2){border-right:0}.perks div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:520px){.perks{grid-template-columns:1fr}.perks div{border-right:0;border-bottom:1px solid var(--line)}.perks div:last-child{border-bottom:0}}
.stage{overflow:hidden}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}
.views{position:absolute;left:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap;z-index:2;max-width:calc(100% - 24px)}
.views button{font:600 12px var(--sans);letter-spacing:.06em;color:#fff;background:rgba(20,35,63,.55);border:1px solid rgba(255,255,255,.28);padding:8px 11px;cursor:pointer;backdrop-filter:blur(6px)}
.views button:hover{border-color:#C9A55C}
.views button[aria-pressed="true"]{background:#C9A55C;color:#14233F;border-color:#C9A55C}
.hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);color:rgba(255,255,255,.8);font-size:12px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;transition:opacity .5s;white-space:nowrap}
.hint.gone{opacity:0}
.light .stage .note{color:rgba(255,255,255,.6);z-index:2}
.offers.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.offers.three .offer{border-right:1px solid var(--line);border-bottom:0}.offers.three .offer:last-child{border-right:0}
@media(max-width:900px){.offers.three{grid-template-columns:1fr}.offers.three .offer{border-right:0;border-bottom:1px solid var(--line)}.offers.three .offer:last-child{border-bottom:0}}
.hero3d img{aspect-ratio:1/1;object-fit:cover;height:100%}
.stage svg.watch[hidden],.stage canvas[hidden]{display:none}
@media(max-width:600px){.hint{bottom:34px;font-size:11px}.views button{padding:7px 9px}}
img[data-3d]{background:#14233F}
.views[hidden],.hint[hidden],.flip[hidden]{display:none!important}
#entreprises .next b,.next b{white-space:normal}
@media(max-width:360px){.next b{font-size:15px}.views button{padding:6px 8px;font-size:11px}}
#w3d:focus-visible{outline:2px solid #C9A55C;outline-offset:-4px}
.plan figure svg{position:absolute;inset:0;top:0;left:0;width:100%;height:100%;display:block}
.plan .fnum{position:absolute;left:12px;top:12px;z-index:1;background:rgba(20,35,63,.78);color:#fff;border:1px solid rgba(255,255,255,.35);font-size:13px;font-weight:600;letter-spacing:.06em;padding:6px 10px}
.plan .badge{z-index:1}
.steps{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:st;border-top:1px solid var(--line)}
.steps li{counter-increment:st;padding:26px 24px 0 0;min-width:0}
.steps li::before{content:counter(st);display:block;font-size:40px;font-weight:600;line-height:1;color:#C9A55C;margin-bottom:14px}
.steps b{display:block;font-size:20px;margin-bottom:6px}
.steps span{color:var(--ink-2);font-size:15.5px}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}
@media(max-width:480px){.steps{grid-template-columns:1fr;row-gap:22px}.steps li{display:grid;grid-template-columns:44px 1fr;column-gap:12px;padding-top:20px}.steps li::before{grid-row:span 2;margin:0;font-size:32px}}
@supports not (aspect-ratio:1/1){.stage{height:0;padding-bottom:108%}.plan figure{height:0;padding-bottom:75%}.hero3d{height:0;padding-bottom:100%}.hero3d img{position:absolute;top:0;left:0}}
.stage canvas{top:0;left:0;right:0;bottom:0}
.hero3d{position:relative}
.hero3d canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;z-index:1;touch-action:pan-y}
.hero3d canvas[hidden]{display:none}
.hlabel{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;color:rgba(255,255,255,.75);font-size:12px;letter-spacing:.04em;text-align:center;pointer-events:none}
.hlabel[hidden]{display:none}
.opt .sz{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none}
.opt .sz i{display:block;border:2px solid currentColor;border-radius:50%;max-width:20px;max-height:20px}
.hero3d .corner{z-index:2}
.cgrid a{display:inline-block;padding:10px 0}
@media(max-width:360px){.plan .badge{top:auto;bottom:10px;right:10px;font-size:11px}}
.stage{max-height:calc(100vh - 90px);max-height:max(300px,calc(100svh - 90px))}
.steps{border:0;border-top:1px solid var(--line)}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}
.hint{bottom:36px}
.plan .ai{position:absolute;left:10px;bottom:10px;z-index:1;background:rgba(20,35,63,.72);color:#fff;font-size:11px;letter-spacing:.03em;padding:4px 8px}
.light .stage,.hero3d{background:#14233F url("https://static.wixstatic.com/media/2fbd99_4c9aebc5612e48d898b052f9754a085d~mv2.png/v1/fill/w_1200,h_896,q_80/studio.jpg") center/cover no-repeat}
/* ===== version mobile ===== */
.lead-m,.swipe-hint,.dots,.mbar{display:none}
@media(max-width:700px){
 section{padding-block:56px}
 .hero{padding-block:28px 40px}
 .hero .w{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .hero .w>div:first-child{display:contents}
 .hero .kick{order:1}
 .hero h1{order:2;font-size:clamp(30px,8.6vw,40px);margin-top:12px!important}
 .hero .lead-m{display:block;order:3;margin:12px 0 0;color:var(--ink-2);font-size:16.5px}
 .hero .hero3d{order:5;width:100%;max-width:400px;margin:22px auto 0;aspect-ratio:1/1}
 .hero .btns{order:4;margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .hero .btns .cta{text-align:center;padding-inline:8px}
 .hero .lead{display:none}
 .hero .next{order:6;margin-top:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
 h2{font-size:clamp(26px,7.4vw,32px)}
 .lead{font-size:16.5px}
 /* carrousels */
 .swipe-hint{display:block;margin:18px 0 0;font-size:13px;letter-spacing:.04em;color:var(--ink-2)}
 .swipe-hint span{color:#C9A55C}
 .plans,.offers.three{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:14px -20px 0;padding:0 20px 6px;max-width:none;border:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .plans::-webkit-scrollbar,.offers.three::-webkit-scrollbar{display:none}
 .plans>.plan{flex:0 0 84%;scroll-snap-align:center}
 .offers.three>.offer{flex:0 0 80%;scroll-snap-align:center;border:1px solid var(--line)!important}
 .plan .pb{padding:20px 18px 22px;gap:10px}
 .plan p{font-size:15px}
 .dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
 .dots i{width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .2s,transform .2s}
 .dots i.on{background:#C9A55C;transform:scale(1.25)}
 #offrir .dots i{background:rgba(255,255,255,.25)}#offrir .dots i.on{background:#C9A55C}
 .incl{gap:8px 18px;font-size:14px}
 /* étapes : 2 x 2 */
 .steps{grid-template-columns:1fr 1fr!important;row-gap:22px;column-gap:14px}
 .steps li{display:block!important;padding:18px 0 0}
 .steps li::before{font-size:30px;margin-bottom:8px}
 .steps b{font-size:17px}.steps span{font-size:14.5px}
 /* configurateur : la montre reste visible pendant le choix */
 #montre .lead{display:none}
 .cfg{gap:18px;margin-top:20px}
 .cfg>.stage{position:sticky;top:68px;z-index:5;aspect-ratio:auto;height:min(46vh,380px);max-height:none}
 .cfg fieldset{margin-top:14px}
 .opts{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;margin-right:-20px;padding-right:20px;padding-bottom:4px}
 .opts::-webkit-scrollbar{display:none}
 .opt{flex:none;white-space:nowrap;padding:9px 12px 9px 9px;font-size:14px}
 .views{top:8px;left:8px}.views button{padding:6px 8px;font-size:11px}
 .hint{bottom:30px}
 /* dates compactes */
 .date{padding:14px 0;gap:6px 12px}
 .date b{font-size:17px}
 .date span.muted{font-size:14px}
 /* barre de réservation */
 .mbar{display:flex;align-items:center;gap:8px;position:fixed;left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;background:#C9A55C;color:#14233F;font-weight:700;font-size:15px;text-decoration:none;padding:13px 18px;box-shadow:0 8px 24px rgba(0,0,0,.28);transform:translateY(140%);transition:transform .3s ease}
 .mbar small{font-weight:600;font-size:12px;opacity:.8}
 .mbar.show{transform:none}
 body{padding-bottom:0}
}
@media(max-width:360px){.hero .btns{grid-template-columns:1fr}.plans>.plan{flex-basis:88%}}
.cfg>*,.cfg fieldset{min-width:0}
@media(max-width:700px) and (max-height:500px){.cfg>.stage{position:relative;top:auto;height:calc(100vh - 90px);min-height:260px}}
/* ===== page d'accueil & pages ===== */
nav a[aria-current="page"]{color:#C9A55C}
.page-head{padding-block:64px 8px;background:#14233F;border-bottom:0}
.page-head h1{margin-top:14px}
.page-head .lead{max-width:640px}
#formules.light{padding-top:56px}
#montre.first{padding-top:64px}
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.about .big{font-size:18px;margin-top:16px;max-width:560px}
.about-img{margin:0;position:relative;aspect-ratio:1/1;overflow:hidden;background:#14233F}
.about-img img{width:100%;height:100%;object-fit:cover;display:block}
.about-img .ai,.mosaic~.ai-note{font-size:11px}
.about-img .ai{position:absolute;left:10px;bottom:10px;background:rgba(20,35,63,.72);color:#fff;padding:4px 8px;letter-spacing:.03em}
.feel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:44px;border-top:1px solid var(--line)}
.feel div{padding:26px 24px 0 0;min-width:0}
.feel b{display:block;font-size:20px;margin-bottom:8px}
.feel b::before{content:"";display:block;width:28px;height:2px;background:#C9A55C;margin-bottom:16px}
.feel p{color:var(--ink-2);margin:0;font-size:15.5px}
.univers{background:#14233F;border-bottom:0}
.mosaic{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:14px;margin-top:40px;aspect-ratio:16/8.5}
.mosaic figure{margin:0;overflow:hidden;position:relative;min-height:0;background:#1C3058}
.mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.mosaic figure:hover img{transform:scale(1.04)}
.mosaic .m1{grid-row:1/3}
.ai-note{margin-top:12px;color:rgba(255,255,255,.55);font-size:12px}
.mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.mf{display:flex;flex-direction:column;gap:8px;padding:26px 24px;border:1px solid var(--line);text-decoration:none;color:var(--ink);background:#fff;transition:border-color .2s,transform .2s}
.mf:hover{border-color:#C9A55C;transform:translateY(-2px)}
.mf.main{border-color:#C9A55C;box-shadow:inset 0 3px 0 #C9A55C}
.mf .n{font-size:36px;font-weight:600;line-height:1;color:#C9A55C}
.mf b{font-size:20px}
.mf .d{color:var(--ink-2);font-size:15.5px;flex:1}
.mf .pr{font-size:24px;font-weight:700;margin-top:6px}
.mf .pr::after{content:"  →";color:#C9A55C;font-weight:600}
.invite{background:#14233F;border-bottom:0;padding-block:88px;text-align:center}
.invite h2{margin:0 auto;max-width:22ch}.invite h2 em{font-style:normal;color:#C9A55C}
.invite .btns{justify-content:center;margin-top:28px}
@media(max-width:900px){.about{grid-template-columns:1fr;gap:28px}.about-img{aspect-ratio:4/3}.feel{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.mini{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;aspect-ratio:auto}.mosaic .m1{grid-column:1/3;grid-row:auto;aspect-ratio:4/3}.mosaic .m2,.mosaic .m3{aspect-ratio:4/3}}
@media(max-width:700px){.page-head{padding-block:36px 4px}.feel{gap:0 14px}.feel b{font-size:17px}.feel p{font-size:14.5px}.mf{padding:20px 18px}.invite{padding-block:56px}.invite .btns{display:grid;grid-template-columns:1fr;gap:10px}.about .btns .cta{display:block;text-align:center}}
@media(max-width:380px){.feel{grid-template-columns:1fr}}
/* ===== réservation ===== */
html.resa-open{overflow:hidden}
.resa{position:fixed;inset:0;top:0;left:0;right:0;bottom:0;z-index:100;background:rgba(10,18,34,.62);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.resa[hidden]{display:none}
.resa-in{position:relative;background:#fff;color:#14233F;width:100%;max-width:640px;max-height:calc(100vh - 40px);overflow:auto;padding:36px 36px 28px;box-shadow:0 30px 80px rgba(0,0,0,.35);border-top:3px solid #C9A55C;--ink:#14233F;--ink-2:rgba(20,35,63,.72);--line:rgba(20,35,63,.15)}
.resa .kick{color:#9A7A3A}
.resa h2{font-size:28px;margin:8px 0 8px;color:#14233F}
.resa .muted{color:rgba(20,35,63,.72);font-size:15px}
.resa-x{position:absolute;right:10px;top:8px;width:44px;height:44px;border:0;background:none;font-size:30px;line-height:1;color:#14233F;cursor:pointer}
.resa-f{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.resa-f label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:rgba(20,35,63,.8);min-width:0}
.resa-f label[hidden]{display:none}
.resa-f .full{grid-column:1/-1}
.resa-f input,.resa-f select,.resa-f textarea{font:500 16px var(--sans,Inter,sans-serif);padding:12px;border:1px solid rgba(20,35,63,.22);background:#F3F5F9;color:#14233F;border-radius:0;width:100%;min-width:0}
.resa-f input:focus,.resa-f select:focus,.resa-f textarea:focus{outline:2px solid #C9A55C;outline-offset:0;border-color:#C9A55C}
.resa-f .btn{margin-top:4px}
.resa-err{color:#A1262C;font-size:14px;margin:0;min-height:0}
.resa-err:empty{display:none}
.resa-legal{font-size:12px;color:rgba(20,35,63,.6);margin:0}
.resa-ok{padding:10px 0}
.resa-ok p{margin:10px 0 20px;color:rgba(20,35,63,.8)}
@media(max-width:700px){.resa{padding:0;align-items:stretch}.resa-in{max-width:none;max-height:none;height:100%;padding:52px 20px calc(24px + env(safe-area-inset-bottom,0px))}.resa-f{grid-template-columns:1fr}.resa h2{font-size:24px}}
.resa .btn{background:#14233F;color:#fff;border:1px solid #14233F;font-weight:600;padding:14px 18px;cursor:pointer}
.resa .btn:disabled{opacity:.6;cursor:wait}
.resa .btn.ghost{background:transparent;color:#14233F}

/* repère de taille 38 / 33 mm */
.ruler{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:0;transition:opacity .4s}
.ruler.on{opacity:1}
.ruler circle{fill:none}
.ruler .c{stroke:#E3C77F;stroke-width:1.2;opacity:.9}
.ruler .o{stroke:rgba(255,255,255,.45);stroke-width:1;stroke-dasharray:3 5}
.ruler line{stroke-width:1.4}
.ruler .on line{stroke:#E3C77F}
.ruler .off line{stroke:rgba(255,255,255,.55)}
.ruler line.d{stroke-width:1;stroke-dasharray:2 4}
.ruler .mm line{stroke:rgba(255,255,255,.7);stroke-width:1}
.ruler text{font:600 12px Inter,system-ui,sans-serif;text-anchor:middle;paint-order:stroke;stroke:rgba(20,35,63,.9);stroke-width:4px;stroke-linejoin:round}
.ruler .on text{fill:#E3C77F;font-size:13px}
.ruler .off text{fill:rgba(255,255,255,.7)}
.ruler text.u{fill:rgba(255,255,255,.7);font-size:10px;font-weight:500}
.resa .hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.resa-hint{margin:-6px 0 0;font-size:12.5px;color:rgba(20,35,63,.6)}
.resa-hint[hidden]{display:none}
.resa-legal a{color:inherit;text-decoration:underline}
.plan .when{margin:-4px 0 0;font-size:14px;font-weight:600;color:#9A7A3A;letter-spacing:.01em}
.pros{padding-top:24px}
.pros h2{max-width:22ch}
.badges{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.badges li{border:1px solid var(--line);border-top:3px solid #C9A55C;padding:18px 20px;background:#fff;min-width:0}
.badges b{display:block;font-size:18px;margin-bottom:4px}
.badges span{color:var(--ink-2);font-size:14.5px}
@media(max-width:700px){.badges{grid-template-columns:1fr;gap:10px}.badges li{padding:14px 16px}}
.badges.b4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.badges.b4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.badges.b4{grid-template-columns:1fr}}
.resa-pay{margin:0;font-size:13px;color:#2E6B45;font-weight:600}
.resa-pay[hidden]{display:none}
.resa-f [aria-invalid=true]{border-color:#A1262C;background:#FFF5F5}
@supports (height:100dvh){@media(min-width:701px){.resa-in{max-height:calc(100dvh - 40px)}}}
.faq p a{display:inline-block;padding:10px 0;font-weight:600}
.light legend{color:#7A5E24}
.light .kick,.resa .kick,.plan .when{color:#7A5E24}
.light .steps li::before{color:#9A7A3A}
.resa-legal,.resa-hint{color:rgba(20,35,63,.74)}
.light :focus-visible,.resa :focus-visible{outline-color:#14233F}
.top{-webkit-backdrop-filter:blur(8px)}
.views button{-webkit-backdrop-filter:blur(6px)}
.resa{-webkit-backdrop-filter:blur(3px)}
.views button{min-height:40px;min-width:44px}
.date .tag{padding-top:12px;padding-bottom:12px}
@media(max-width:700px){html{scroll-padding-bottom:90px}}
@media(min-width:701px) and (max-width:960px) and (orientation:portrait){.hero .frame.hero3d{width:min(100%,520px);margin-inline:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
.hr{display:flex;align-items:center;gap:12px}
.lang{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;border:1px solid var(--line);color:#fff;font-size:13px;font-weight:600;letter-spacing:.08em;text-decoration:none}
.lang:hover{border-color:#C9A55C;color:#C9A55C}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#C9A55C;color:#14233F;font-weight:700;padding:12px 16px;text-decoration:none}
.skip:focus{top:12px}
.pbtns{display:flex;flex-direction:column;gap:10px;margin-top:auto}
.pbtns .cta{margin-top:0}
.incl.trust{margin-top:12px}
.incl.trust span::before{background:#2E6B45}
.later{margin-top:22px;color:var(--ink-2)}
.later a{display:inline-block;padding:10px 0;font-weight:600;color:#7A5E24}
.resa-total{margin:0;font-weight:700;font-size:15px;color:#14233F}
.resa-total[hidden]{display:none}

.plans.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-left:auto;margin-right:auto}
@media(max-width:960px){.plans.two{grid-template-columns:1fr;max-width:560px}}
@media(max-width:900px){.hero .next{order:4;margin-top:16px}.hero .btns{order:5}.hero .hero3d{order:6}}
