@layer layout {
.contact-hero{height:clamp(370px,29vw,450px);min-height:0}.contact-hero .hero-photo{object-position:center 18%}.contact-hero .hero-shade{background:linear-gradient(90deg,rgb(var(--brand-shadow-rgb) / 0.9412),rgb(var(--brand-shadow-rgb) / 0.6314) 37%,rgb(var(--brand-shadow-rgb) / 0.0824) 80%)}.contact-hero h1{font-size:clamp(54px,5vw,77px);line-height:.98}.contact-hero .hero-intro{font-size:16px;line-height:1.5;max-width:520px;margin:23px 0}.contact-coordinates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:30px;padding-bottom:30px;gap:0}.coordinate{display:flex;gap:20px;padding:0 27px;align-items:flex-start;border-right:1px solid var(--line)}.coordinate:first-child{padding-left:0}.coordinate:last-child{padding-right:0;border:0}.coordinate>svg{width:38px;height:38px;margin-top:4px;stroke-width:1.3}.coordinate h2{font:700 16px/1.4 var(--sans);letter-spacing:0;margin-bottom:3px}.coordinate p{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.coordinate span{font-size:10px;display:block;margin-top:4px}.coordinate-route{display:flex;align-items:center;gap:12px}.coordinate-route svg{width:16px;height:16px}
@media (hover:hover) and (pointer:fine){.coordinate:hover h2{color:var(--brand-brown)}}
.contact-write{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:52px;padding-top:24px;padding-bottom:48px;align-items:stretch}.contact-form-copy{padding-top:10px}.contact-form-copy h2{font-size:45px;line-height:1.02}.form-title-break{display:none}.contact-form-copy>p:not(.eyebrow){font-size:14px;line-height:1.55;max-width:580px;margin:21px 0 25px}.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.contact-fields label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600}.contact-fields input,.contact-fields select,.contact-fields textarea{font:12px/1.5 var(--sans);color:var(--ink);border:1px solid var(--brand-line);background:#ffffff7d;border-radius:7px;width:100%;padding:11px 13px;min-width:0;min-height:43px;box-shadow:none}.contact-fields select{padding-right:24px}.contact-fields textarea{resize:vertical;min-height:125px}.contact-fields input::placeholder,.contact-fields textarea::placeholder{color:var(--brand-muted);opacity:1}.contact-fields input:focus-visible,.contact-fields select:focus-visible,.contact-fields textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}.contact-message{grid-column:1/-1}.contact-form-copy form>.button{margin-top:19px;min-width:245px}.contact-form-note{font-size:10px;line-height:1.6;margin-top:12px;max-width:450px;color:var(--brand-muted)}.contact-welcome{position:relative;border-radius:13px;overflow:hidden;min-height:500px}.contact-welcome>img{height:100%;width:100%;position:absolute;inset:0;object-position:57% center}.contact-access{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:45px;padding-top:0;padding-bottom:40px;align-items:stretch}.contact-map{height:445px;border-radius:13px;overflow:hidden;position:relative;background:var(--brand-wash)}.contact-map iframe{width:100%;height:100%;display:block;border:0}.contact-map-link{position:absolute;top:15px;left:15px;z-index:1;display:inline-flex;align-items:center;gap:13px;padding:11px 15px;border-radius:7px;background:#fffffff5;box-shadow:0 2px 12px rgb(var(--brand-shadow-rgb) / 0.1255);font-size:11px;font-weight:700}.contact-map-link svg{width:17px;height:17px}.contact-access-copy{padding:3px 0 4px}.contact-access-copy h2{font-size:44px;line-height:1.02}.contact-access-copy>p:not(.eyebrow){font-size:14px;line-height:1.55;max-width:560px;margin:18px 0}.contact-transport{list-style:none;padding:0;margin:20px 0 24px;display:grid;gap:17px}.contact-transport li{display:flex;align-items:flex-start;gap:20px}.contact-transport li>svg{width:29px;height:29px;margin-top:3px}.contact-transport h3{font-size:13px;font-weight:700;line-height:1.4;margin-bottom:3px}.contact-transport p{font-size:12px;line-height:1.5}.contact-access-copy.botanical:after{right:-85px;top:0;opacity:.2}.contact-booking{background:linear-gradient(90deg,rgb(var(--brand-shadow-rgb) / 0.9098),rgb(var(--brand-shadow-rgb) / 0.6196) 55%,rgb(var(--brand-shadow-rgb) / 0.2000)),url('assets/photos/piscine-terrasse-palmier.webp') center 56%/cover;display:flex;justify-content:space-between;align-items:center;gap:35px;min-height:205px;padding:38px var(--gutter);color:#fff}.contact-booking h2{font-size:48px;line-height:1}.contact-booking p{font-size:15px;line-height:1.5;margin-top:15px}.contact-booking .button{min-width:215px}.contact-review{padding:40px}.contact-review h2{font-size:42px;line-height:1.05;margin-bottom:20px}.contact-review>p{font-size:13px;margin-bottom:18px;line-height:1.55}.contact-review pre{font:12px/1.7 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px;max-height:310px;overflow:auto;margin:0 0 24px}.contact-review-actions{display:flex;gap:12px;flex-wrap:wrap}.contact-review-actions .button{font-size:11px;gap:10px;padding:12px 16px}.contact-review .contact-draft-status{font-size:11px;color:var(--brand-muted);margin:17px 0 0}.contact-review .contact-recipient{overflow-wrap:anywhere}
@media(max-width:1150px){.contact-coordinates{padding-top:26px;padding-bottom:26px}.coordinate{padding:0 18px;gap:13px}.coordinate>svg{width:32px;height:32px}.coordinate h2{font-size:14px}.coordinate p{font-size:11px}.coordinate span{font-size:9px}.contact-write{gap:35px}.contact-form-copy h2{font-size:40px}.contact-form-copy>p:not(.eyebrow){font-size:13px}.contact-access{gap:33px}.contact-access-copy h2{font-size:39px}.contact-access-copy>p:not(.eyebrow){font-size:13px}.contact-booking h2{font-size:43px}.contact-booking .button{min-width:195px}}
@media(max-width:960px){.contact-hero{height:450px}.contact-hero h1{font-size:64px}.contact-coordinates{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.coordinate{padding:0;border:0}.coordinate>svg{width:34px;height:34px}.coordinate h2{font-size:15px}.coordinate p{font-size:12px}.coordinate span{font-size:10px}.contact-write{gap:28px;grid-template-columns:1.2fr 1fr;padding-top:15px;padding-bottom:35px}.contact-form-copy h2{font-size:38px}.contact-fields{gap:13px}.contact-fields input,.contact-fields select,.contact-fields textarea{font-size:11px;padding:10px;min-height:43px}.contact-welcome{min-height:530px}.contact-access{grid-template-columns:1fr 1fr;gap:28px}.contact-map{height:auto;min-height:430px}.contact-access-copy h2{font-size:36px}.contact-transport li{gap:14px}.contact-transport p{font-size:11px}.contact-booking h2{font-size:39px}.contact-booking p{font-size:13px}.contact-booking .button{font-size:11px}}
@media(max-width:640px){.contact-hero{height:490px;align-items:flex-end}.contact-hero .hero-photo{object-position:57% center}.contact-hero .hero-shade{background:linear-gradient(0deg,rgb(var(--brand-shadow-rgb) / 0.9608),rgb(var(--brand-shadow-rgb) / 0.6039) 60%,rgb(var(--brand-shadow-rgb) / 0.0627))}.contact-hero .hero-content{padding:35px 25px 40px}.contact-hero h1{font-size:55px}.contact-hero .hero-intro{font-size:14px;max-width:330px;line-height:1.5;margin:21px 0}.contact-hero .hero-intro br{display:none}.contact-hero .button{font-size:11px;padding:12px 17px;gap:15px}.contact-coordinates{gap:27px 22px;padding-top:27px;padding-bottom:27px}.coordinate{gap:12px}.coordinate>svg{width:27px;height:27px}.coordinate h2{font-size:13px}.coordinate p{font-size:11px}.coordinate span{font-size:9px}.coordinate-route{gap:8px}.coordinate-route svg{width:14px;height:14px}.contact-write{display:flex;flex-direction:column;gap:27px;padding-top:8px;padding-bottom:32px}.contact-form-copy h2{font-size:41px;line-height:1.04;max-width:370px}.contact-form-copy h2>br{display:none}.contact-form-copy>p:not(.eyebrow){font-size:13px;margin:20px 0 24px}.contact-fields{grid-template-columns:1fr;gap:16px}.contact-fields label{font-size:11px}.contact-fields input,.contact-fields select,.contact-fields textarea{font-size:16px;min-height:46px;padding:10px 12px}.contact-fields textarea{min-height:140px}.contact-form-copy form>.button{width:100%;min-width:0;min-height:48px}.contact-form-note{font-size:10px;max-width:none}.contact-welcome{min-height:0;height:265px}.contact-welcome>img{object-position:center}.contact-access{display:flex;flex-direction:column;gap:28px;padding-bottom:32px}.contact-map{height:300px;min-height:0}.contact-map-link{font-size:10px;padding:10px 12px;left:12px;top:12px}.contact-access-copy h2{font-size:40px;line-height:1.04}.contact-access-copy h2>br{display:none}.contact-access-copy>p:not(.eyebrow){font-size:13px;margin:18px 0 21px}.contact-transport{gap:21px;margin:20px 0 25px}.contact-transport li{gap:17px}.contact-transport h3{font-size:13px}.contact-transport p{font-size:12px}.contact-transport li>svg{width:28px;height:28px}.contact-booking{flex-direction:column;align-items:flex-start;gap:23px;padding:34px 25px}.contact-booking h2{font-size:42px;line-height:1.03}.contact-booking p{font-size:13px}.contact-booking .button{min-width:205px;min-height:46px}.contact-review{padding:30px 24px}.contact-review h2{font-size:36px}.contact-review-actions{flex-direction:column}.contact-review pre{font-size:11px;max-height:270px;padding:16px}}
@media(max-width:360px){.contact-hero h1{font-size:48px}.contact-hero .hero-content{padding-left:22px;padding-right:22px}.contact-coordinates{gap:24px 15px}.coordinate{gap:10px}.coordinate>svg{width:23px;height:23px}.coordinate h2{font-size:12px}.coordinate p{font-size:10px}.coordinate span{font-size:9px}.contact-form-copy h2{font-size:37px}.contact-access-copy h2{font-size:36px}.contact-booking h2{font-size:38px}}

}
