.contact-page{--contact-deep:#075b61;--contact-orange:#ea6828;--contact-gold:#f2b33d;background:#fffdf8}.contact-header{color:var(--contact-deep)}.contact-hero{min-height:720px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:75px;padding:140px max(6vw,calc((100vw - 1180px)/2)) 90px;background:linear-gradient(122deg,#fff0d5 0 62%,#b9e4df 62%)}.contact-hero .back-link{display:inline-block;margin-bottom:40px;color:var(--contact-orange);font-weight:700;text-decoration:none}.contact-hero h1{color:var(--contact-deep);font-size:clamp(3.5rem,6vw,6.2rem)}.contact-hero h1 em{color:var(--contact-orange)}.contact-hero>div>p:not(.eyebrow){max-width:640px;margin:27px 0 32px;font-size:1.16rem}.contact-primary{color:#fff;background:var(--contact-deep)}.address-mark{justify-self:center;width:min(430px,90%);padding:65px 55px;border-radius:47% 53% 58% 42% / 54% 43% 57% 46%;color:#fff;background:var(--contact-deep);box-shadow:27px 25px 0 rgba(234,104,40,.2);transform:rotate(2deg)}.address-mark span{color:#f7cf78;font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.address-mark strong{display:block;margin:19px 0 4px;font-family:"Playfair Display",serif;font-size:3.35rem;line-height:1}.address-mark p{margin:0 0 30px;font-size:1.08rem}.address-mark a{font-weight:700}.contact-section{padding:105px max(6vw,calc((100vw - 1180px)/2))}.contact-people{display:grid;grid-template-columns:.72fr 1.28fr;gap:62px}.contact-people .section-heading>p:last-child,.place-section .section-heading>p:last-child{max-width:680px}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-self:center}.contact-cards article{display:flex;flex-direction:column;min-width:0;padding:27px 22px;border-radius:25px;background:#fff0d5}.contact-cards article:nth-child(2){background:#c9ece9;transform:translateY(28px)}.contact-cards article:nth-child(3){background:#f7d783;transform:translateY(-16px)}.contact-cards span{color:var(--contact-orange);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contact-cards h3{margin:10px 0 8px;color:var(--contact-deep);font-family:"Playfair Display",serif;font-size:2.25rem}.contact-cards p{min-height:78px;margin:0 0 15px;font-size:.86rem;line-height:1.45}.contact-cards a{margin-top:5px;overflow-wrap:anywhere;color:var(--contact-deep);font-size:.86rem;font-weight:700;text-decoration:none}.access-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:#f8ead0}.access-section>div:first-child>p:not(.eyebrow){margin:25px 0 30px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.access-grid article{padding:27px;border-radius:22px;background:#fffdf8}.access-grid article:nth-child(2),.access-grid article:nth-child(3){transform:translateY(18px)}.access-grid strong{color:var(--contact-deep);font-family:"Playfair Display",serif;font-size:1.45rem}.access-grid p{margin:9px 0 0}.place-section{background:#fff}.place-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:52px}.place-gallery figure{position:relative;min-height:390px;margin:0;overflow:hidden;border-radius:28px}.place-gallery .gallery-wide{min-height:470px}.place-gallery .gallery-feature{grid-column:1/-1;min-height:560px}.place-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.place-gallery figure:hover img{transform:scale(1.035)}.place-gallery figcaption{position:absolute;right:18px;bottom:18px;left:18px;padding:12px 16px;border-radius:14px;color:#fff;background:rgba(7,64,68,.82);font-weight:600;backdrop-filter:blur(8px)}.rental-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:110px max(6vw,calc((100vw - 1180px)/2));color:#fff;background:var(--contact-deep)}.rental-section h2{color:#fff}.rental-copy>p:not(.eyebrow){max-width:580px}.rental-copy .eyebrow{color:#f8ce76}.rental-button{margin-top:16px;color:var(--contact-deep);background:#f7cf78}.rental-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px}.rental-facts div{padding:25px;border:1px solid rgba(255,255,255,.22);border-radius:22px}.rental-facts strong,.rental-facts span{display:block}.rental-facts strong{color:#f8ce76;font-family:"Playfair Display",serif;font-size:1.35rem;line-height:1.2}.rental-facts span{margin-top:8px}.rental-facts>p{grid-column:1/-1;margin:8px 0 0;font-size:.9rem}.contact-page .form-section{background:#f8ead0}.contact-page footer a{color:#fff}

.contact-identity{position:relative;justify-self:center;width:min(500px,100%);padding-bottom:130px}.contact-orbit{--orbit-color:#075b61;--orbit-bg:#fff7e7;width:min(440px,92%)}.contact-orbit>img{width:58%}.contact-orbit .orbit-runner{will-change:transform}.contact-orbit .orbit-runner span{font-size:.86rem;box-shadow:0 10px 28px rgba(7,91,97,.18)}.contact-orbit .orbit-runner:nth-of-type(1){--speed:18s;inset:-2% 7% 19% -3%;animation-name:contact-orbit-clockwise}.contact-orbit .orbit-runner:nth-of-type(1) span{color:#075b61;background:#c9ece9;animation-name:contact-label-counter}.contact-orbit .orbit-runner:nth-of-type(2){--speed:25s;inset:17% -2% 1% 23%;animation-name:contact-orbit-counter}.contact-orbit .orbit-runner:nth-of-type(2) span{color:#9b3b18;background:#ffe0ae;animation-name:contact-label-clockwise}.contact-orbit .orbit-runner:nth-of-type(3){--speed:21s;inset:7% 20% -3% 3%;animation-name:contact-orbit-clockwise}.contact-orbit .orbit-runner:nth-of-type(3) span{color:#6b4910;background:#f7d783;animation-name:contact-label-counter}.contact-identity .address-mark{position:absolute;z-index:6;right:-2%;bottom:8px;width:min(330px,78%);padding:27px 34px;border-radius:34px 8px 34px 8px;box-shadow:13px 14px 0 rgba(234,104,40,.2);transform:rotate(1.5deg)}.contact-identity .address-mark strong{margin:10px 0 3px;font-size:2.05rem}.contact-identity .address-mark p{margin:0 0 13px;font-size:.94rem}.contact-identity .address-mark a{font-size:.88rem}
@keyframes contact-orbit-clockwise{to{transform:rotate(360deg)}}
@keyframes contact-orbit-counter{to{transform:rotate(-360deg)}}
@keyframes contact-label-counter{to{transform:rotate(-360deg)}}
@keyframes contact-label-clockwise{to{transform:rotate(360deg)}}
@media(max-width:900px){.contact-hero,.contact-people,.access-section,.rental-section{grid-template-columns:1fr}.contact-hero{padding-top:145px;background:linear-gradient(155deg,#fff0d5 0 70%,#b9e4df 70%)}.address-mark{width:min(390px,78vw);margin:25px auto}.contact-identity{margin:20px auto 0}.contact-cards article:nth-child(2),.access-grid article:nth-child(2),.access-grid article:nth-child(3){transform:none}}
@media(max-width:600px){.contact-hero{padding:125px 20px 75px}.contact-hero h1{font-size:3rem}.address-mark{padding:50px 38px}.address-mark strong{font-size:2.7rem}.contact-identity{width:100%;padding-bottom:118px}.contact-identity .address-mark{right:3%;width:82%;padding:23px 27px}.contact-identity .address-mark strong{font-size:1.8rem}.contact-section,.rental-section{padding:75px 20px}.contact-cards,.access-grid,.place-gallery,.rental-facts{grid-template-columns:1fr}.contact-cards article:nth-child(2),.contact-cards article:nth-child(3){transform:none}.contact-cards p{min-height:auto}.place-gallery figure,.place-gallery .gallery-wide,.place-gallery .gallery-feature{grid-column:auto;min-height:330px}.rental-facts>p{grid-column:auto}}

/* Galerie compacte et organique sur grand écran */
.place-gallery{width:min(100%,980px);margin-right:auto;margin-left:auto;grid-template-columns:repeat(3,1fr);align-items:start;gap:24px 20px}
.place-gallery figure,.place-gallery .gallery-wide,.place-gallery .gallery-feature{grid-column:auto;min-height:0;height:300px;border-radius:44% 56% 47% 53% / 38% 45% 55% 62%;box-shadow:0 18px 45px rgba(7,91,97,.12)}
.place-gallery figure:nth-child(2){height:340px;margin-top:45px;border-radius:57% 43% 38% 62% / 46% 58% 42% 54%}
.place-gallery figure:nth-child(3){height:285px;margin-top:12px;border-radius:40% 60% 55% 45% / 58% 39% 61% 42%}
.place-gallery figure:nth-child(4){height:310px;margin-top:-15px;border-radius:61% 39% 45% 55% / 43% 55% 45% 57%}
.place-gallery figure:nth-child(5){height:285px;margin-top:30px;border-radius:46% 54% 62% 38% / 54% 40% 60% 46%}
.place-gallery figure:nth-child(6){height:325px;margin-top:-18px;border-radius:54% 46% 41% 59% / 37% 57% 43% 63%}
.place-gallery .facade-photo{height:330px;border-radius:36% 64% 48% 52% / 55% 39% 61% 45%}
.place-gallery .facade-photo img{width:122%;max-width:none;transform:translateX(-10%);object-position:70% center}
.place-gallery .facade-photo:hover img{transform:translateX(-10%) scale(1.035)}
.place-gallery figcaption{right:22px;bottom:18px;left:22px;padding:10px 14px;text-align:center;font-size:.84rem}
@media(max-width:900px){.place-gallery{grid-template-columns:repeat(2,1fr);width:min(100%,720px)}.place-gallery figure,.place-gallery .gallery-wide,.place-gallery .gallery-feature{height:320px;margin-top:0}.place-gallery .facade-photo{grid-column:1/-1;height:350px}}
@media(max-width:600px){.place-gallery{grid-template-columns:1fr;width:min(100%,390px);gap:18px}.place-gallery figure,.place-gallery .gallery-wide,.place-gallery .gallery-feature,.place-gallery .facade-photo{grid-column:auto;height:300px;margin-top:0}.place-gallery .facade-photo img{width:125%;max-width:none;transform:translateX(-11%);object-position:68% center}.place-gallery .facade-photo:hover img{transform:translateX(-11%) scale(1.035)}}

/* Légendes lisibles directement sur les photos */
.place-gallery figure::after{content:"";position:absolute;z-index:1;right:0;bottom:0;left:0;height:52%;background:linear-gradient(to top,rgba(3,43,47,.92) 0%,rgba(3,43,47,.55) 48%,rgba(3,43,47,0) 100%);pointer-events:none}
.place-gallery figcaption{z-index:2;right:12%;bottom:25px;left:12%;padding:0;border-radius:0;color:#fff;background:transparent;box-shadow:none;text-align:center;font-size:.92rem;font-weight:700;line-height:1.4;text-shadow:0 2px 12px rgba(0,0,0,.55);backdrop-filter:none}

/* Cartes d'accès stables, sans chevauchement */
.access-grid article:nth-child(2),.access-grid article:nth-child(3){transform:none}
.access-grid article:nth-child(1){border-radius:22px 30px 24px 32px}
.access-grid article:nth-child(2){border-radius:30px 22px 34px 24px}
.access-grid article:nth-child(3){border-radius:26px 34px 22px 30px}
.access-grid article:nth-child(4){border-radius:34px 24px 30px 22px}

@media(max-width:600px){.place-gallery figcaption{right:10%;bottom:22px;left:10%;font-size:.88rem}}

/* Légendes réellement séparées des photographies */
.place-gallery figure,.place-gallery .gallery-wide,.place-gallery .gallery-feature,.place-gallery .facade-photo{display:flex;flex-direction:column;height:auto;min-height:0;overflow:visible;border-radius:0;background:transparent;box-shadow:none}
.place-gallery figure:nth-child(2),.place-gallery figure:nth-child(3),.place-gallery figure:nth-child(4),.place-gallery figure:nth-child(5),.place-gallery figure:nth-child(6){height:auto}
.place-gallery figure::after{display:none!important}
.place-gallery figure img,.place-gallery .facade-photo img{display:block;width:100%;max-width:100%;height:300px;flex:none;object-fit:cover;object-position:center;border-radius:44% 56% 47% 53% / 38% 45% 55% 62%;box-shadow:0 16px 36px rgba(7,91,97,.14);transform:none}
.place-gallery figure:nth-child(2) img{border-radius:57% 43% 38% 62% / 46% 58% 42% 54%}
.place-gallery figure:nth-child(3) img{border-radius:40% 60% 55% 45% / 58% 39% 61% 42%}
.place-gallery figure:nth-child(4) img{border-radius:61% 39% 45% 55% / 43% 55% 45% 57%}
.place-gallery figure:nth-child(5) img{border-radius:46% 54% 62% 38% / 54% 40% 60% 46%}
.place-gallery figure:nth-child(6) img{border-radius:54% 46% 41% 59% / 37% 57% 43% 63%}
.place-gallery .facade-photo img{object-position:58% center;border-radius:36% 64% 48% 52% / 55% 39% 61% 45%}
.place-gallery figure:hover img,.place-gallery .facade-photo:hover img{transform:scale(1.015)}
.place-gallery .text-photo img{object-fit:contain;background:#edf4e8;padding:8px}
.place-gallery figcaption{position:relative!important;inset:auto!important;display:block;width:calc(100% - 20px);min-height:0;margin:12px auto 0;padding:12px 14px;overflow:visible;border-radius:15px;color:var(--contact-deep);background:#fff8e9;box-shadow:0 7px 18px rgba(7,91,97,.09);text-align:center;font-size:.88rem;font-weight:700;line-height:1.45;text-shadow:none;backdrop-filter:none}
@media(max-width:900px){.place-gallery figure,.place-gallery .gallery-wide,.place-gallery .gallery-feature,.place-gallery .facade-photo{height:auto}.place-gallery figure img,.place-gallery .facade-photo img{height:290px}}
@media(max-width:600px){.place-gallery figure,.place-gallery .gallery-wide,.place-gallery .gallery-feature,.place-gallery .facade-photo{height:auto}.place-gallery figure img,.place-gallery .facade-photo img{height:280px}.place-gallery figcaption{width:100%;padding:12px 15px;font-size:.86rem}}

/* Une sélection plus légère, composée comme un carnet de voyage */
.place-gallery{grid-template-columns:repeat(12,1fr);gap:34px 24px;align-items:start}
.place-gallery figure,.place-gallery .gallery-landmark,.place-gallery .gallery-room,.place-gallery .gallery-door,.place-gallery .gallery-night,.place-gallery .gallery-garden,.place-gallery .gallery-fire,.place-gallery .gallery-sign{grid-column:span 4;height:auto;margin-top:0}
.place-gallery .gallery-landmark{grid-column:span 7}
.place-gallery .gallery-room{grid-column:span 5;margin-top:58px}
.place-gallery .gallery-door{grid-column:span 4}
.place-gallery .gallery-night{grid-column:span 4;margin-top:34px}
.place-gallery .gallery-garden{grid-column:span 4}
.place-gallery .gallery-fire{grid-column:span 8;margin-top:-8px}
.place-gallery .gallery-sign{grid-column:span 4;margin-top:42px}
.place-gallery .gallery-landmark img{height:370px}
.place-gallery .gallery-room img{height:310px}
.place-gallery .gallery-door img{height:290px}
.place-gallery .gallery-night img{height:350px}
.place-gallery .gallery-garden img{height:310px}
.place-gallery .gallery-fire img{height:360px}
.place-gallery .gallery-sign img{height:410px;padding:0;object-fit:cover;object-position:center;background:transparent}
.place-gallery .gallery-landmark img{border-radius:38% 62% 46% 54% / 48% 38% 62% 52%}
.place-gallery .gallery-room img{border-radius:58% 42% 52% 48% / 39% 55% 45% 61%}
.place-gallery .gallery-door img{border-radius:43% 57% 37% 63% / 58% 42% 58% 42%}
.place-gallery .gallery-night img{border-radius:56% 44% 61% 39% / 46% 62% 38% 54%}
.place-gallery .gallery-garden img{border-radius:39% 61% 54% 46% / 61% 43% 57% 39%}
.place-gallery .gallery-fire img{border-radius:62% 38% 45% 55% / 42% 57% 43% 58%}
.place-gallery .gallery-sign img{border-radius:48% 52% 43% 57% / 37% 46% 54% 63%}
@media(max-width:900px){.place-gallery{grid-template-columns:repeat(2,1fr);gap:30px 20px}.place-gallery figure,.place-gallery .gallery-landmark,.place-gallery .gallery-room,.place-gallery .gallery-door,.place-gallery .gallery-night,.place-gallery .gallery-garden,.place-gallery .gallery-fire,.place-gallery .gallery-sign{grid-column:auto;margin-top:0}.place-gallery .gallery-landmark,.place-gallery .gallery-fire{grid-column:1/-1}.place-gallery .gallery-landmark img,.place-gallery .gallery-fire img{height:340px}.place-gallery .gallery-room img,.place-gallery .gallery-door img,.place-gallery .gallery-night img,.place-gallery .gallery-garden img{height:290px}.place-gallery .gallery-sign img{height:390px}}
@media(max-width:600px){.place-gallery{grid-template-columns:1fr;gap:26px}.place-gallery figure,.place-gallery .gallery-landmark,.place-gallery .gallery-room,.place-gallery .gallery-door,.place-gallery .gallery-night,.place-gallery .gallery-garden,.place-gallery .gallery-fire,.place-gallery .gallery-sign{grid-column:auto}.place-gallery .gallery-landmark img,.place-gallery .gallery-room img,.place-gallery .gallery-door img,.place-gallery .gallery-night img,.place-gallery .gallery-garden img,.place-gallery .gallery-fire img{height:280px}.place-gallery .gallery-sign img{height:420px}}

/* Le cartouche d’adresse reste sous les orbites, sans les recouvrir. */
.contact-identity{padding-bottom:190px}
.contact-identity .address-mark{bottom:-38px}
.contact-orbit .orbit-runner:nth-of-type(4){--speed:29s;inset:22% 8% 12% 1%;animation-name:contact-orbit-counter}
.contact-orbit .orbit-runner:nth-of-type(4) span{color:#075b61;background:#fff0d5;animation-name:contact-label-clockwise}
@media(max-width:600px){.contact-identity{padding-bottom:165px}.contact-identity .address-mark{bottom:-24px}}
