/* Styles limites au contenu Contact. */
.ct-page{color:#4F4F4F}.ct-section{padding:72px 0}.ct-page h2{font-size:clamp(30px,2.7vw,41px);line-height:1.2}.ct-hero{padding:75px 0;background:#F8F5EF;border-bottom:1px solid #DEDCD5}.ct-hero .q-container{position:relative}.ct-hero h1{font-size:clamp(39px,3.7vw,57px);line-height:1.13;letter-spacing:-.035em;max-width:820px}.ct-hero p:not(.q-kicker){max-width:690px;font-size:17px;line-height:1.8;margin:25px 0 30px}.ct-hero .q-actions{gap:27px}.ct-hero .q-container:after{content:'';position:absolute;right:55px;top:45px;width:155px;height:155px;border:1px solid #C2A66165;border-radius:50%;box-shadow:0 0 0 25px #C2A66108;pointer-events:none}.ct-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:34px}.ct-cards article{border-top:1px solid #C2A661;padding:25px 8px 0 0}.ct-number{display:block;font:29px/1 Georgia,serif;color:#927232;margin-bottom:22px}.ct-cards h3{font-size:21px;line-height:1.4;min-height:60px;margin-bottom:15px}.ct-cards p{font-size:15px;line-height:1.8;margin:0}.ct-form-section{background:#F4F4F4}.ct-form-layout{display:grid;grid-template-columns:.8fr 1.35fr;gap:75px;align-items:start}.ct-form-intro{max-width:360px;padding-top:10px}.ct-form-intro p:not(.q-kicker){font-size:16px;line-height:1.85}.ct-fine-line{display:block;width:65px;height:2px;background:#C2A661;margin-top:35px}.ct-form-panel{background:white;padding:35px 38px;border:1px solid #E4E1D9;box-shadow:0 8px 30px #0D1B2A04}.ct-required{font-size:12px;margin-bottom:26px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-field{min-width:0}.contact-field-full{grid-column:1/-1}.contact-field label{display:block;color:#0D1B2A;font-size:14px;font-weight:600;margin-bottom:8px}.contact-optional{font-weight:400;color:#626262;font-size:12px}.contact-field input:not([type=checkbox]),.contact-field select,.contact-field textarea{display:block;width:100%;min-height:50px;border:1px solid #B8B8B2;border-radius:0;background:#FFFDF9;color:#0D1B2A;font:16px/1.5 'Segoe UI',Arial,sans-serif;padding:12px 13px;max-width:100%}.contact-field textarea{min-height:150px;resize:vertical}.contact-field textarea::placeholder{color:#717171}.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:2px solid #98741F;outline-offset:3px;border-color:#98741F}.contact-field [aria-invalid=true]{border-color:#A13333!important}.contact-field-error{font-size:12px;color:#9A2525;margin:6px 0 0;line-height:1.5}.contact-field-error:empty{display:none}.contact-consent{display:grid;grid-template-columns:20px 1fr;gap:0 12px;align-items:start}.contact-consent input{width:18px;height:18px;margin:4px 0 0;accent-color:#0D1B2A}.contact-consent label{font-weight:400;font-size:13px;line-height:1.75;margin:0}.contact-consent a{text-decoration:underline;text-underline-offset:3px}.contact-consent .contact-field-error{grid-column:2}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-submit{margin-top:27px;cursor:pointer}.contact-submit:disabled{opacity:.65;cursor:wait}.contact-form-note{font-size:12px;margin:17px 0 0}.contact-form-status{margin:0;font-size:14px;line-height:1.7}.contact-form-status.is-visible{margin-top:22px;padding:17px 20px;border-left:3px solid}.contact-form-status.is-error{background:#FFF3F0;border-color:#9A2525;color:#7A2222}.contact-form-status.is-success{background:#EDF5EF;border-color:#37694A;color:#254D35}.ct-booking{padding-bottom:45px}.ct-booking-inner{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center;padding:43px 45px}.ct-booking-inner h2{font-size:32px;margin-bottom:18px}.ct-booking-inner p:not(.q-kicker){font-size:15px;max-width:740px;margin-bottom:19px}.ct-facts{display:flex;gap:22px;list-style:none;padding:0;margin:0;color:#E0C98F;font-size:12px}.ct-facts li{margin:0;padding:0}.ct-practical{padding:10px 0 60px}.ct-practical-inner{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.ct-practical h2{font-size:29px;margin:0}.ct-practical .q-kicker{margin-bottom:5px}.ct-practical a{font-size:18px;border-bottom:1px solid #C2A661;overflow-wrap:anywhere}.ct-final{background:#F8F5EF;text-align:center}.ct-final h2{max-width:900px;margin:0 auto 24px;font-size:clamp(29px,2.6vw,38px)}.ct-final p{max-width:760px;margin:auto;font-size:16px}
@media(max-width:1100px){.ct-hero .q-container:after{display:none}.ct-form-layout{gap:35px;grid-template-columns:.75fr 1.25fr}.ct-form-panel{padding:28px}.ct-booking-inner{padding:35px;gap:30px}.ct-booking-inner h2{font-size:29px}}
@media(max-width:850px){.ct-section{padding:55px 0}.ct-hero{padding:55px 0}.ct-cards{gap:23px}.ct-cards h3{font-size:18px;min-height:78px}.ct-form-layout{grid-template-columns:1fr;gap:25px}.ct-form-intro{max-width:650px;padding:0}.ct-form-intro p:last-of-type{margin-bottom:0}.ct-fine-line{display:none}.ct-booking-inner{grid-template-columns:1fr;gap:22px}.ct-booking-inner .q-button{justify-self:start}.ct-practical-inner{grid-template-columns:1fr;gap:20px}.ct-practical{padding:0 0 50px}}
@media(max-width:600px){.ct-hero{padding:40px 0}.ct-hero h1{font-size:37px}.ct-hero h1 br{display:none}.ct-hero p:not(.q-kicker){font-size:15px;margin:23px 0}.ct-hero .q-actions{flex-direction:column;align-items:stretch;gap:13px}.ct-hero .q-link{align-self:flex-start;font-size:13px}.ct-section{padding:45px 0}.ct-cards{grid-template-columns:1fr;gap:28px}.ct-cards h3{min-height:0;font-size:21px}.ct-number{font-size:26px;margin-bottom:16px}.ct-form-panel{padding:23px 20px}.contact-form-grid{grid-template-columns:1fr;gap:20px}.contact-submit{width:100%}.ct-required{font-size:11px}.ct-booking-inner{padding:28px 24px}.ct-booking-inner h2{font-size:28px}.ct-facts{flex-wrap:wrap;gap:7px 17px}.ct-booking-inner .q-button{width:100%}.ct-practical a{font-size:16px}.ct-final{text-align:left}.ct-final h2{font-size:30px}.ct-final p{font-size:15px}}

/* Portrait : presence mesuree et cadrage rapproche, image source preservee. */
.ct-hero .q-container:after{display:none}
.ct-portrait-frame{position:absolute;right:28px;top:38px;width:220px;height:220px;border-radius:50%;overflow:hidden;border:1px solid #C2A66180;box-shadow:0 0 0 12px #C2A66108,0 8px 24px #0D1B2A0A}
.ct-hero-portrait{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 42%;transform:scale(1.4);transform-origin:50% 42%}
@media(min-width:851px) and (max-width:1250px){.ct-portrait-frame{width:200px;height:200px;right:10px}.ct-hero h1,.ct-hero p:not(.q-kicker){max-width:calc(100% - 260px)}}
@media(min-width:601px) and (max-width:850px){.ct-portrait-frame{width:165px;height:165px;right:0;top:35px}.ct-hero h1,.ct-hero p:not(.q-kicker){max-width:calc(100% - 205px)}.ct-hero h1{font-size:39px}}
@media(max-width:600px){.ct-hero .q-container{display:flex;flex-direction:column;align-items:flex-start}.ct-hero .q-kicker{order:0}.ct-hero h1{order:1}.ct-hero p:not(.q-kicker){order:2;margin-top:0}.ct-portrait-frame{position:relative;right:auto;top:auto;width:125px;height:125px;order:3;margin:5px 0 27px;box-shadow:0 0 0 7px #C2A66108,0 5px 16px #0D1B2A08}.ct-hero .q-actions{order:4;width:100%}}

/* Finition du Hero mobile uniquement : composition et rythme vertical. */
@media (max-width:768px) {
.ct-hero h1{font-size:clamp(30px,calc(30px + (100vw - 390px) * .016),36px);line-height:1.15;margin-bottom:18px}
.ct-hero h1 span+span{margin-top:7px}
.ct-hero .q-kicker{margin-bottom:16px}
.ct-hero{padding-block:30px}.ct-hero p:not(.q-kicker){margin-block:0 20px;line-height:1.7}
.ct-hero .q-actions{row-gap:8px}
.ct-hero .q-button{min-height:48px;padding-block:12px}
.ct-hero .q-link{min-height:44px;display:inline-flex;align-items:center}
}
