
/* Photographic and editorial layout shared by all pages. */
.photo-hero{position:relative;isolation:isolate;max-width:none;min-height:650px;display:flex;align-items:end;color:white;padding:5rem 6%;background:#243e39}.photo-hero>.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.photo-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,29,25,.78),rgba(13,29,25,.12));z-index:-1}.photo-hero .eyebrow{color:#fff}.photo-hero h1{font-size:clamp(3.3rem,6.8vw,6.6rem);max-width:900px;margin:1rem 0 1.5rem}.photo-hero .intro{max-width:570px}.photo-hero .hero-bottom{align-items:center}.photo-hero .button{background:#f7f5ef;color:#243e39}.photo-hero .hero-copy{width:100%}.editorial{max-width:1440px;margin:auto;padding:5rem 5%;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.editorial figure{margin:0}.editorial img{width:100%;height:520px;object-fit:cover;display:block}.editorial figcaption,.gallery figcaption{font-size:.875rem;margin-top:.65rem;color:#52625d}.editorial p{font-size:1.125rem;max-width:620px}.editorial .eyebrow{font-size:.875rem}.editorial.reverse figure{order:2}.editorial.reverse{background:#e9ede7;max-width:none}.editorial h2{font-size:clamp(2.5rem,4vw,4.3rem)}.editorial .text-link{display:inline-block;margin-top:1rem}.journal{max-width:1440px;margin:auto;padding:2rem 5% 5rem}.journal-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.journal h3{font:1.8rem/1.2 Georgia,serif}.journal p{font-size:1.0625rem}.journal article{border-top:1px solid var(--line);padding-top:1rem}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 3rem}.gallery figure{margin:0}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery a{display:block}.gallery a:focus-visible{outline:3px solid var(--accent)}.studio-story{margin:3rem 0}.studio-story h2{font-size:2.5rem}.studio-story p{font-size:1.125rem;line-height:1.8}.studio-layout>section:first-child{min-width:0}.studio-photo{margin-bottom:1rem}.studio-story .eyebrow{font-size:.875rem}.studio-more{border-top:1px solid var(--line);padding-top:2rem;margin-top:2rem}.studio-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr)}
@media(max-width:800px){.photo-hero{min-height:650px;padding:3rem 6%}.photo-hero .hero-bottom{align-items:start;flex-direction:column;gap:1.5rem}.editorial{grid-template-columns:1fr;padding:3rem 6%;gap:2rem}.editorial.reverse figure{order:0}.editorial img{height:380px}.journal{padding:2rem 6% 3rem}.journal-columns{grid-template-columns:1fr;gap:1.5rem}.studio-layout{grid-template-columns:1fr}.gallery{gap:.7rem}}@media(max-width:450px){.photo-hero h1{font-size:3.2rem}.photo-hero{min-height:680px}.gallery{grid-template-columns:1fr}.editorial img{height:300px}}

/* Reservation directly beneath the first photograph. */
.studio-layout{display:block;max-width:1150px}.studio-layout>section:first-child{width:100%}.studio-layout h1{margin-top:.5rem}.studio-layout .studio-booking{position:relative;z-index:1;width:calc(100% - 3rem);margin:-.5rem auto 1.5rem;padding:2rem;background:#fff;box-shadow:0 14px 35px rgba(20,45,35,.12);border-top:4px solid var(--ink)}.studio-booking h2{font-size:2rem}.studio-booking h2 br{display:none}.studio-booking h2 br:after{content:' '}.studio-story{max-width:760px}.photo-hero+#reservation{position:relative;z-index:1;width:90%;max-width:1300px;margin:-1.5rem auto 2.5rem;box-shadow:0 14px 35px rgba(20,45,35,.15)}.photo-hero+#reservation .section{padding:2rem;grid-template-columns:1fr 1fr;gap:1rem 2rem}.photo-hero+#reservation h2{font-size:2rem}.photo-hero+#reservation h2 br{display:none}.photo-hero+#reservation .eyebrow{margin-bottom:.4rem}.photo-hero+#reservation .booking-search{grid-column:1/-1}@media(max-width:700px){.studio-layout .studio-booking{width:100%;margin:0 0 1rem;padding:1.2rem}.photo-hero+#reservation{width:92%}.photo-hero+#reservation .section{grid-template-columns:1fr;padding:1.2rem}.studio-booking h2{font-size:1.8rem}}

.studio-image-link{display:block;overflow:hidden}.studio-image-link:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.studio-image-link img{transition:transform .25s ease}.studio-image-link:hover img{transform:scale(1.025)}@media(prefers-reduced-motion:reduce){.studio-image-link img{transition:none}.studio-image-link:hover img{transform:none}}

/* Two equal columns below the complete photo carousel. */
.studio-details-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:start;margin:1.5rem 0 3rem}.studio-summary{min-width:0;padding:.5rem 0}.studio-summary>p{font-size:1.125rem;line-height:1.8;margin:0 0 1.3rem}.studio-summary .amenities{margin-top:1.5rem}.studio-layout .studio-details-row>.studio-booking{width:100%;margin:0;padding:1.25rem;box-shadow:0 8px 24px rgba(20,45,35,.08);border-top:3px solid var(--ink);box-sizing:border-box}.studio-details-row .studio-booking h2{font-size:1.65rem;line-height:1.2;margin:0 0 .75rem}.studio-details-row .studio-booking>p{font-size:1rem;margin:.5rem 0 1rem}.studio-details-row #leadWidget{width:100%;max-width:100%;box-sizing:border-box}.studio-details-row #leadWidget form{max-width:100%;box-sizing:border-box}.studio-layout .photo-carousel{margin-bottom:1.5rem}@media(max-width:800px){.studio-details-row{grid-template-columns:1fr;gap:1.5rem;margin-top:1rem}.studio-layout .studio-details-row>.studio-booking{padding:1.1rem}}

/* Editorial content balances the booking form in the left column. */
.studio-summary .studio-story{margin:2.25rem 0 0;padding-top:1.75rem;border-top:1px solid var(--line);max-width:none}.studio-summary .studio-story .eyebrow{margin:0 0 .85rem;font-size:.875rem}.studio-summary .studio-story h2{font-size:clamp(1.9rem,2.8vw,2.65rem);line-height:1.15;margin:0 0 1.4rem}.studio-summary .studio-story>p:not(.eyebrow){font-size:1.0625rem;line-height:1.85;margin:0 0 1.3rem}.studio-summary .studio-more{margin-top:1.5rem;padding-top:1.25rem}.studio-details-row{column-gap:2.5rem}@media(max-width:800px){.studio-summary .studio-story{margin-top:1.75rem}.studio-summary .studio-story h2{font-size:2rem}}
/* Bring the introductory story and studio collection closer together. */
.editorial#lieu{padding-bottom:2rem}
.editorial#lieu + .section#hebergements{padding-top:2rem}
@media(max-width:800px){.editorial#lieu{padding-bottom:1.25rem}.editorial#lieu + .section#hebergements{padding-top:1.25rem}}
