/* French Living — illustrated art direction. Original photography remains documentary;
   hand-drawn illustrations are decorative, never accommodation representations. */
body[data-concept="living"] {
  --lv-cream: #faf7ef;
  --lv-ink: #172c53;
  --lv-blue: #254da8;
  --lv-red: #b7433c;
  --lv-line: #dcd9ce;
  --lv-muted: #5f666d;
  background-color: var(--lv-cream);
  background-image: radial-gradient(rgba(103,83,55,.065) .65px,transparent .75px);
  background-size: 5px 5px;
}
body[data-concept="living"] .lv-nav { border-bottom: 1px solid #243f6420; }
body[data-concept="living"] .lv-button,
body[data-concept="living"] .lv-nav-cta { box-shadow: 0 5px 0 #17397112; }
body[data-concept="living"] .lv-button:hover { box-shadow: 0 7px 20px #1739711c; }
body[data-concept="living"] .lv-section { padding-block: 112px; }
.fa-hero { position: relative; }
.fa-hero-main { display:grid; grid-template-columns: .93fr 1.12fr; gap:20px; align-items:center; min-height:620px; padding-block:50px 40px; }
.fa-hero-copy { position:relative; z-index:2; min-width:0; padding-block:20px; }
.fa-hero .lv-eyebrow { font-size:10px; }
.fa-hero h1 { font-size:clamp(64px,6vw,94px); line-height:1.03; margin-top:25px; letter-spacing:-.053em; white-space:normal; }
.fa-title-swoosh { width:min(82%,370px); height:21px; overflow:visible; margin:5px 0 18px 12px; fill:none; stroke:var(--lv-red); stroke-width:2.3; stroke-linecap:round; }
.fa-title-swoosh path:last-child { stroke-width:1; opacity:.6; }
.fa-hero .lv-hero-aside { max-width:375px; justify-self:auto; padding:0; margin:0; }
.fa-hero .lv-hero-aside>p:first-child { font-family:Manrope,Arial,sans-serif; font-size:15px; font-weight:500; line-height:1.65; letter-spacing:0; margin:0 0 12px; }
.fa-hero .lv-body-copy { font-size:15px; line-height:1.75; max-width:345px; color:var(--lv-muted); margin:0 0 23px!important; }
.fa-hero .lv-button { padding-inline:24px; min-height:54px; font-size:13px; }
.fa-hero-art { position:relative; min-width:0; align-self:stretch; display:flex; align-items:center; justify-content:center; isolation:isolate; }
.fa-art-orbit { position:absolute; inset:8% 1% 9%; border-radius:48% 50% 46% 47%; background:radial-gradient(ellipse,#e9eddb75,transparent 72%); transform:rotate(-9deg); z-index:-1; }
.fa-village { width:119%; max-width:none; height:auto; position:relative; margin-left:-1%; margin-top:30px; object-fit:contain; }
.fa-postmark { width:135px; position:absolute; top:5px; right:8px; z-index:1; transform:rotate(12deg); fill:none; stroke:var(--lv-blue); stroke-width:1.2; opacity:.65; }
.fa-postmark text { fill:var(--lv-blue); stroke:none; font-family:Manrope,Arial,sans-serif; font-size:8px; font-weight:600; letter-spacing:.2em; }
.fa-postmark-house { stroke-width:1.5; }
.fa-art-note { position:absolute; bottom:2px; right:11%; color:var(--lv-blue); font-family:'DM Serif Display',Georgia,serif; font-style:italic; font-size:27px; letter-spacing:-.035em; transform:rotate(-6deg); }
.fa-postcard-band { position:relative; display:grid; grid-template-columns:280px 1.05fr .75fr; align-items:center; gap:38px; padding:32px 38px 32px 28px; margin-top:8px; border:1px solid #d7d9c9; border-radius:24px; background:#f0f0e5; isolation:isolate; }
.fa-postcard { display:block; background:#fffdf8; padding:9px 9px 12px; box-shadow:0 7px 20px #23385113; border-radius:3px; transform:rotate(-4deg); transition:transform .25s ease; text-decoration:none; }
.fa-postcard:hover { transform:rotate(-2deg) translateY(-3px); }
.fa-postcard>img { display:block; width:100%; height:148px; object-fit:cover; border-radius:2px; }
.fa-postcard-caption { display:block; color:var(--lv-ink); font-size:10px; line-height:1.5; margin:10px 5px 0; text-align:center; }
.fa-band-copy { position:relative; z-index:1; }
.fa-band-copy .lv-eyebrow { font-size:9px; color:var(--lv-muted); }
.fa-band-heading { font-family:'DM Serif Display',Georgia,serif; font-size:37px; line-height:1.1; letter-spacing:-.045em; margin:12px 0 15px!important; }
.fa-band-copy .lv-text-link { font-size:12px!important; }
.fa-band-flower { width:115px; color:var(--lv-blue); position:absolute; left:56%; bottom:20px; opacity:.38; transform:rotate(12deg); pointer-events:none; z-index:0; }
.fa-band-detail { border-left:1px solid #bac6b6; padding-left:32px; display:flex; flex-direction:column; gap:18px; position:relative; z-index:1; }
.fa-band-detail>span { font-family:'DM Serif Display',Georgia,serif; font-size:24px; line-height:1.3; letter-spacing:-.03em; }
.fa-band-detail>a { color:var(--lv-ink); font-size:11px; line-height:1.6; text-decoration:none; font-weight:600; }
.fa-band-detail>a:hover { color:var(--lv-blue); }
.fa-band-detail>a span { margin-left:8px; }
.fa-photo-mount { isolation:isolate; }
.fa-photo-mount:before { content:''; position:absolute; inset:22px 30px -14px -12px; border:1px solid #b7bba7; border-radius:210px 210px 30px 30px; transform:rotate(-4deg); z-index:-1; }
.fa-photo-mount .lv-story-image { border:9px solid #fffdf7; height:650px; box-shadow:0 12px 30px #2038470b; border-radius:215px 215px 20px 20px; }
.fa-photo-leaf { width:130px; height:190px; position:absolute; left:-36px; bottom:-34px; color:var(--lv-blue); z-index:2; transform:rotate(-12deg); pointer-events:none; }
.fa-photo-mount .lv-story-stamp { bottom:70px; right:-10px; background:var(--lv-red); box-shadow:0 0 0 5px var(--lv-cream); }
body[data-concept="living"] .lv-story { gap:90px; }
body[data-concept="living"] .lv-story-copy h2 { font-size:clamp(40px,4.4vw,62px); }
body[data-concept="living"] .lv-story-detail>span { font-family:'DM Serif Display',Georgia,serif; font-style:italic; font-size:20px; padding:0; }
.fa-destinations { position:relative; background:#eef1ed; border-radius:42px; overflow:hidden; border-block:1px solid #d4dedb; }
.fa-destinations:before,.fa-destinations:after { content:''; position:absolute; width:185px; height:185px; border:1px solid #4768a426; border-radius:50%; right:-84px; top:42px; pointer-events:none; }
.fa-destinations:after { width:165px; height:165px; right:-74px; top:52px; }
.fa-destinations .lv-section-heading { position:relative; z-index:1; }
.fa-destinations .lv-place { background:#fffdf7; padding:10px 10px 22px; border:1px solid #d6ded9; border-radius:20px; box-shadow:0 7px 24px #14334005; }
.fa-destinations .lv-place-middle { padding-top:10px; margin-top:42px; transform:rotate(1.2deg); }
.fa-destinations .lv-place:first-child { transform:rotate(-1.2deg); }
.fa-destinations .lv-place:last-child { transform:rotate(-.7deg); }
.fa-destinations .lv-place-photo { border-radius:13px; height:300px; }
.fa-destinations .lv-place-copy { padding:23px 14px 0; }
.fa-destinations .lv-place-copy h3 { font-size:31px; }
.fa-destinations .lv-place-host { border-color:#dce0d5; }
.fa-destinations .lv-places-foot { margin-top:42px; }
.fa-host-panel { background:#193d76; border:7px solid #fffdf8; outline:1px solid #dcded4; box-shadow:0 10px 30px #20324b09; padding:66px 70px 76px; }
.fa-host-panel:before { content:''; pointer-events:none; position:absolute; inset:13px; border:1px solid #ffffff30; border-radius:15px; }
.fa-host-panel .lv-host-title,.fa-host-panel .lv-host-details { position:relative; z-index:1; }
.fa-host-lines { position:absolute; bottom:-6px; left:0; width:48%; height:90px; opacity:.22; fill:none; stroke:#fff; stroke-width:1.1; pointer-events:none; }
.fa-host-panel .lv-host-asterisk { color:#e1b59b; }
body[data-concept="living"] .lv-arrival-steps li { border-top:2px solid #d8d4c8; }
body[data-concept="living"] .lv-arrival-steps li:first-child { border-color:var(--lv-blue); }
body[data-concept="living"] .lv-arrival-steps li:last-child { border-color:var(--lv-red); }
body[data-concept="living"] .lv-arrival-steps li>span { font-style:italic; }
body[data-concept="living"] .lv-faq-section { align-items:start; padding-bottom:70px; }
.fa-still-life { width:230px; height:250px; margin:15px auto -35px 22px; position:relative; }
.fa-still-life:before { content:''; position:absolute; inset:55px 5px 10px; border-radius:50%; background:#e9ead84f; }
.fa-still-life img { width:100%; height:100%; object-fit:contain; position:relative; }
.fa-closing { border:9px solid #fffdf8; outline:1px solid #dbd8c9; border-radius:28px; box-shadow:0 10px 35px #24313808; }
.fa-closing .lv-closing-copy { background:#f0eee2; padding:55px 48px; position:relative; }
.fa-closing .lv-closing-copy:before { content:''; position:absolute; top:28px; left:48px; width:48px; height:3px; background:linear-gradient(90deg,var(--lv-blue) 0 33%,#fffdf7 33% 66%,var(--lv-red) 66%); }
.fa-closing .lv-eyebrow { margin-top:8px; }
.fa-closing .lv-closing-copy h2 { font-size:45px; }
.fa-closing .lv-closing-photo { border-radius:17px 0 0 17px; overflow:hidden; }
.fa-footer .lv-footer-tricolour { height:5px; }
.fa-footer .lv-footer-main>p { position:relative; }
.fa-footer .lv-footer-main>p:after { content:''; display:block; width:90%; height:7px; border-bottom:1px solid var(--lv-red); border-radius:50%; transform:rotate(-2deg); margin-top:2px; }
@media(min-width:1550px) {
 .fa-hero-main { min-height:670px; }
 .fa-hero h1 { font-size:100px; }
 .fa-village { width:116%; }
}
@media(max-width:1150px) {
 .fa-hero-main { min-height:570px; grid-template-columns:1fr 1fr; gap:0; padding-block:35px; }
 .fa-hero h1 { font-size:clamp(60px,6.8vw,79px); }
 .fa-postmark { width:108px; top:10px; right:0; }
 .fa-art-note { font-size:23px; bottom:14px; }
 .fa-postcard-band { grid-template-columns:230px 1fr .8fr; gap:25px; padding:27px 26px; }
 .fa-postcard>img { height:133px; }
 .fa-band-heading { font-size:31px; }
 .fa-band-detail { padding-left:24px; }
 .fa-band-detail>span { font-size:21px; }
 .fa-band-flower { width:95px; left:56%; bottom:28px; opacity:.24; }
 body[data-concept="living"] .lv-story { gap:60px; }
 .fa-photo-mount .lv-story-image { height:680px; }
 .fa-photo-leaf { left:-24px; width:105px; }
 .fa-destinations .lv-place-photo { height:255px; }
 .fa-destinations .lv-place-copy { padding-inline:8px; }
 .fa-destinations .lv-place-copy h3 { font-size:27px; }
 .fa-host-panel { padding:54px 42px 70px; }
 .fa-closing .lv-closing-copy { padding-inline:35px; }
 .fa-closing .lv-closing-copy:before { left:35px; }
 .fa-closing .lv-closing-copy h2 { font-size:37px; }
}
@media(max-width:900px) {
 .fa-hero-main { min-height:530px; padding-top:30px; grid-template-columns:1.07fr 1fr; }
 .fa-hero h1 { font-size:60px; }
 .fa-hero .lv-eyebrow { font-size:8px; }
 .fa-hero .lv-hero-aside>p:first-child { font-size:14px; }
 .fa-hero .lv-body-copy { font-size:14px; }
 .fa-hero .lv-button { font-size:12px; padding-inline:17px; }
 .fa-village { width:134%; margin-left:1%; margin-top:65px; }
 .fa-postmark { width:100px; top:15px; }
 .fa-art-note { right:2%; bottom:30px; font-size:24px; }
 .fa-postcard-band { grid-template-columns:220px 1fr; gap:30px; padding:25px; }
 .fa-band-detail { grid-column:1/-1; border:0; border-top:1px solid #bcc5b7; padding:18px 0 0; flex-direction:row; align-items:center; justify-content:space-between; gap:30px; }
 .fa-band-detail>span { max-width:300px; font-size:20px; }
 .fa-band-detail>a { max-width:180px; }
 .fa-band-flower { width:85px; left:auto; right:25px; top:24px; bottom:auto; opacity:.22; }
 .fa-band-copy { padding-right:40px; }
 .fa-band-heading { font-size:34px; }
 body[data-concept="living"] .lv-story { gap:35px; grid-template-columns:1fr 1.15fr; }
 .fa-photo-mount .lv-story-image { height:730px; border-width:7px; }
 body[data-concept="living"] .lv-story-copy h2 { font-size:37px; }
 .fa-photo-mount .lv-story-stamp { right:-16px; width:95px; height:95px; }
 .fa-photo-leaf { width:85px; left:-18px; }
 .fa-destinations .lv-place-photo { height:225px; }
 .fa-destinations .lv-place-copy h3 { font-size:23px; }
 .fa-destinations .lv-place-copy { padding-inline:4px; }
 .fa-destinations .lv-place { padding-inline:7px; }
 .fa-still-life { margin-left:5px; width:200px; height:220px; }
 .fa-closing .lv-closing-copy { padding-inline:27px; }
 .fa-closing .lv-closing-copy h2 { font-size:32px; }
 .fa-closing .lv-closing-copy:before { left:27px; }
}
@media(max-width:640px) {
 body[data-concept="living"] .lv-section { padding-block:74px; }
 body[data-concept="living"] .lv-wrap { width:calc(100% - 40px); }
 body[data-concept="living"] .lv-nav { height:85px; }
 .fa-hero-main { display:flex; flex-direction:column; padding-block:29px 7px; min-height:0; gap:0; }
 .fa-hero-copy { width:100%; padding:0; }
 .fa-hero .lv-eyebrow { font-size:9px; letter-spacing:.1em; }
 .fa-hero h1 { font-size:clamp(47px,12.5vw,76px); margin-top:19px; line-height:1.02; letter-spacing:-.052em; }
 .fa-title-swoosh { width:73%; height:17px; margin:8px 0 16px 7px; }
 .fa-hero .lv-hero-aside { margin:0; max-width:none; display:block; }
 .fa-hero .lv-hero-aside>p:first-child { display:none; }
 .fa-hero .lv-body-copy { font-size:16px; max-width:360px; line-height:1.7; margin-bottom:20px!important; }
 .fa-hero .lv-button { padding-inline:21px; font-size:13px; min-height:54px; }
 .fa-hero-art { width:100%; min-height:0; height:auto; padding-block:25px 13px; aspect-ratio:1.25; margin-top:14px; }
 .fa-village { width:116%; margin:-4px 0 0; }
 .fa-postmark { top:3px; right:1px; width:87px; }
 .fa-art-note { right:10px; bottom:-2px; font-size:24px; }
 .fa-art-orbit { inset:10% 0 7%; }
 .fa-postcard-band { padding:25px 21px 22px; grid-template-columns:1fr 1fr; gap:20px; margin-top:17px; border-radius:21px; }
 .fa-postcard { padding:6px 6px 9px; margin-left:-8px; transform:rotate(-5deg); }
 .fa-postcard>img { height:133px; }
 .fa-postcard-caption { font-size:9px; margin:7px 2px 0; line-height:1.5; }
 .fa-band-copy { padding:0; }
 .fa-band-copy .lv-eyebrow { font-size:8px; line-height:1.5; }
 .fa-band-heading { font-size:26px; margin-block:9px 9px!important; }
 .fa-band-copy .lv-text-link { font-size:11px!important; line-height:1.6; }
 .fa-band-flower { display:none; }
 .fa-band-detail { padding-top:17px; gap:13px; align-items:flex-start; flex-direction:column; }
 .fa-band-detail>span { font-size:22px; max-width:none; }
 .fa-band-detail>a { font-size:11px; max-width:none; }
 body[data-concept="living"] .lv-story { display:flex; gap:45px; }
 .fa-photo-mount { width:100%; padding-right:14px; margin-top:0; }
 .fa-photo-mount .lv-story-image { height:460px; border-radius:180px 180px 17px 17px; border-width:8px; }
 .fa-photo-mount:before { inset:12px 20px -12px 0; }
 .fa-photo-leaf { width:94px; height:160px; left:-16px; bottom:-28px; }
 .fa-photo-mount .lv-story-stamp { right:0; bottom:42px; width:100px; height:100px; }
 body[data-concept="living"] .lv-story-copy h2 { font-size:44px; max-width:100%; }
 body[data-concept="living"] .lv-story-detail>span { font-size:22px; }
 .fa-destinations { border-radius:28px; padding-block:65px 38px; }
 .fa-destinations .lv-place { padding:9px 9px 24px; margin-bottom:28px; border-radius:19px; }
 .fa-destinations .lv-place:first-child,.fa-destinations .lv-place-middle,.fa-destinations .lv-place:last-child { transform:none; margin-top:0; }
 .fa-destinations .lv-place-photo { height:300px; }
 .fa-destinations .lv-place-copy { padding:22px 13px 0; }
 .fa-destinations .lv-place-copy h3 { font-size:33px; }
 .fa-destinations .lv-place-host { padding-top:11px; }
 .fa-destinations .lv-place-host>span { font-size:14px; }
 .fa-host-panel { border-width:5px; padding:40px 26px 54px; border-radius:25px; }
 .fa-host-panel:before { inset:8px; border-radius:16px; }
 .fa-host-lines { width:75%; height:70px; }
 .fa-host-panel .lv-host-title h2 { font-size:41px; }
 body[data-concept="living"] .lv-faq-section { padding-block:60px 65px; }
 .fa-still-life { width:170px; height:175px; margin:5px 0 -15px auto; }
 .fa-still-life:before { inset:45px 0 0; }
 .fa-closing { border-width:6px; border-radius:23px; }
 .fa-closing .lv-closing-photo { border-radius:17px 17px 0 0; }
 .fa-closing .lv-closing-copy { padding:43px 23px 35px; }
 .fa-closing .lv-closing-copy h2 { font-size:37px; }
 .fa-closing .lv-closing-copy:before { top:23px; left:23px; }
 .fa-footer .lv-footer-main { gap:25px; }
}
@media(max-width:375px) {
 body[data-concept="living"] .lv-wrap { width:calc(100% - 32px); }
 .fa-hero h1 { font-size:clamp(40px,12.35vw,46px); }
 .fa-hero .lv-eyebrow { font-size:8px; }
 .fa-hero .lv-body-copy { font-size:15px; }
 .fa-postcard-band { padding-inline:17px; gap:16px; }
 .fa-band-heading { font-size:23px; }
 .fa-postcard>img { height:122px; }
 .fa-postcard-caption { font-size:8px; }
 .fa-band-copy .lv-text-link { font-size:10px!important; }
 body[data-concept="living"] .lv-story-copy h2 { font-size:38px; }
 .fa-photo-mount .lv-story-image { height:410px; }
 .fa-destinations .lv-place-photo { height:265px; }
 .fa-destinations .lv-place-copy h3 { font-size:29px; }
 .fa-host-panel { padding-inline:23px; }
 .fa-host-panel .lv-host-title h2 { font-size:36px; }
 .fa-closing .lv-closing-copy h2 { font-size:32px; }
}
@media(prefers-reduced-motion:reduce) {
 .fa-postcard,.fa-village { animation:none!important; transition:none!important; }
}

/* French headlines are longer: retain intentional line breaks without clipping. */
html[lang="fr"] .fa-hero h1 { font-size:clamp(50px,4.75vw,76px); white-space:normal; overflow-wrap:normal; }
html[lang="fr"] .fa-hero h1 em { white-space:normal; }
html[lang="fr"] .fa-band-heading { overflow-wrap:normal; }
@media(min-width:641px) and (max-width:900px) {
 html[lang="fr"] .fa-hero h1 { font-size:clamp(37px,5.7vw,50px); }
}
@media(max-width:640px) {
 html[lang="fr"] .fa-hero h1 { font-size:clamp(32px,9.8vw,60px); line-height:1.07; letter-spacing:-.045em; }
 html[lang="fr"] .fa-band-heading { font-size:25px; }
 body[data-concept="living"] h2,body[data-concept="living"] h3 { overflow-wrap:break-word; }
}
@media(max-width:375px) {
 html[lang="fr"] .fa-hero h1 { font-size:clamp(30px,9.8vw,37px); }
 html[lang="fr"] .fa-band-heading { font-size:22px; }
}
