/* Maison vivante — first-party visual enhancement, no remote resources. */
:root{--depth-ease:cubic-bezier(.2,.75,.2,1);--warm-light:#ecd3a0;--scene-y:-8deg}
html[dir=rtl]{--scene-y:8deg}
.hero{display:block;position:relative;min-height:820px;padding:78px 7% 116px;perspective:1800px;background:radial-gradient(ellipse at 78% 30%,#59735b 0,#254f3e 33%,#10372c 67%,#0d2b23 100%);overflow:hidden;isolation:isolate;--hero-rx:0deg;--hero-ry:0deg;--light-x:72%;--light-y:30%}
.hero:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 440px 380px at var(--light-x) var(--light-y),#f6d79730,transparent 78%);mix-blend-mode:screen;opacity:.85}
.hero:after{content:'';position:absolute;inset:auto 0 0;height:115px;background:linear-gradient(0deg,#08271eaa,transparent);z-index:1;pointer-events:none}
.hero .hero-background{inset:auto;inset-inline-end:-5%;top:48px;width:63%;height:650px;max-width:none;border-radius:18px;border:1px solid #ecdbb9b0;object-fit:cover;object-position:52% 52%;transform:perspective(1600px) rotateY(calc(var(--scene-y) + var(--hero-ry))) rotateX(var(--hero-rx)) rotateZ(-1deg);transform-origin:50% 50%;box-shadow:0 45px 75px -15px #021b16a6,0 0 0 9px #f2dfb724,0 0 0 10px #d8bd7966;transition:transform .35s var(--depth-ease),box-shadow .5s;z-index:0}
.hero .hero-frame{inset:auto;inset-inline-end:-4.5%;top:69px;width:63%;height:650px;border:1px solid #e5c88388;border-radius:18px;transform:perspective(1600px) rotateY(var(--scene-y)) rotateZ(-1deg) translateY(15px);box-shadow:0 45px 70px #021b1640;z-index:-1;background:linear-gradient(135deg,#d9bd772b,#082d2322)}
.hero .hero-shade{inset:0;z-index:1;background:linear-gradient(90deg,#0d2d25fa 0,#10372df3 24%,#10372dcc 40%,#10372d65 56%,#10372d00 73%);pointer-events:none}
html[dir=rtl] .hero .hero-shade{background:linear-gradient(270deg,#0d2d25fa 0,#10372df3 24%,#10372dcc 40%,#10372d65 56%,#10372d00 73%)}
.hero .hero-copy{position:relative;z-index:3;max-width:665px;width:55%;padding:0!important;transform:none!important;text-shadow:0 3px 18px #031c1644}
.hero h1{font-size:clamp(76px,7.1vw,115px);line-height:1.01;letter-spacing:-.035em;margin:27px 0 22px;text-wrap:balance}
.hero h1 em{color:#f1d79f;text-shadow:0 1px #fff4,0 4px 20px #031c1677}
.hero .eyebrow{font-size:13px;letter-spacing:.12em;max-width:520px;color:#f2e5c7}
.hero .intro{font-size:29px;line-height:1.35;color:#f6efdf;max-width:430px;margin:10px 0 26px}
.hero .bxlove-signature{margin:0 0 23px;font-size:17px}
.hero .bxlove-signature img{background:transparent;box-shadow:none;mix-blend-mode:lighten;width:146px;padding:0}
.hero .hero-portrait{position:absolute!important;inset:auto!important;inset-inline-end:8%!important;top:414px!important;width:207px;margin:0!important;z-index:4;transform:perspective(1100px) rotateY(-7deg) rotateZ(5deg);filter:none;transition:transform .45s var(--depth-ease),filter .45s}
.hero .hero-portrait img{display:block;padding:6px;background:#f0e6d1;border:1px solid #e4ca8f;box-shadow:0 35px 45px -12px #001b15bf,8px 8px 0 #a78b5255;border-radius:5px}
.hero .hero-portrait:before{inset:14px -13px -14px 13px;background:linear-gradient(145deg,#d5b971aa,#204c39);border-radius:5px;box-shadow:none;z-index:-1}
.hero .hero-portrait:after{left:6px;top:6px;bottom:6px;width:2px;background:linear-gradient(#fff9,#f4db8b44)}
.hero .hero-portrait:hover{transform:perspective(1100px) rotateY(0deg) rotateZ(2deg) translateY(-5px)}
.hero .hero-bottom{inset-inline:7%;bottom:25px;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:17px 22px;border:1px solid #dec78f50;background:linear-gradient(110deg,#12382ede,#214b3acc);backdrop-filter:blur(14px);border-radius:6px;box-shadow:0 16px 25px #061f1833;font-size:13px;color:#f6e6c2}
.hero .actions{gap:16px 24px}.hero .button{background:linear-gradient(120deg,#fbf1db,#dfc994);color:#173b2e;border:1px solid #f8e4b4;box-shadow:0 8px 0 -4px #8b7138,0 18px 26px -10px #041e18aa,inset 0 1px 0 #fff;border-radius:4px;min-height:56px}
.button{position:relative;border-radius:4px;transition:transform .25s var(--depth-ease),box-shadow .25s,background .25s}
.button:hover{transform:translateY(-3px);box-shadow:0 15px 25px -14px #0b302999}.hero .button:hover{box-shadow:0 11px 0 -4px #8b7138,0 24px 30px -10px #041e18aa,inset 0 1px 0 #fff}
.button:focus-visible{outline:3px solid #173c32;outline-offset:5px}.hero .button:focus-visible,.visit .button:focus-visible{outline-color:#f0d49b}
.depth-surface{--tilt-x:0deg;--tilt-y:0deg;position:relative;transform:perspective(1400px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .32s var(--depth-ease),box-shadow .32s;transform-style:preserve-3d}
.offer-grid{gap:30px}.offer-grid article{padding:16px 16px 24px;background:linear-gradient(145deg,#fffdf7,#eee6d5);border:1px solid #cebb925f;border-radius:12px;box-shadow:0 30px 45px -30px #253a2e88,0 2px 0 #fff inset,5px 6px 0 #c8b27d22;isolation:isolate}
.offer-grid article>img{border-radius:5px;border-bottom:0;box-shadow:0 14px 24px -17px #35271580;height:350px}
.offer-grid article>h3,.offer-grid article>p,.offer-grid article>.number{margin-inline:8px}.offer-grid article .number{color:#8c753e}
.offer-grid article:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,#fff5,transparent 35%,transparent 65%,#c9ac5d12);z-index:-1}
.facade{position:relative;perspective:1800px;padding-top:35px;padding-bottom:95px}
.facade picture{display:block;position:relative;isolation:isolate;transform:perspective(1800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .4s var(--depth-ease);border-radius:8px}
.facade picture:before{content:'';position:absolute;inset:15px -15px -18px 15px;background:linear-gradient(135deg,#dcc496,#8d784a);border:1px solid #ab915b;border-radius:8px;box-shadow:0 30px 50px -25px #133c3277;z-index:-1}
.facade picture:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:8px;background:linear-gradient(125deg,#fff2,transparent 26%,transparent 78%,#ffe5b20c);border:1px solid #f5dfb699}
.facade img{border-radius:8px;border:1px solid #a78e57;box-shadow:0 28px 45px -28px #193b3280;aspect-ratio:4/3;height:auto;object-fit:contain}
.facade figcaption{margin-top:31px;position:relative;padding-inline-start:20px;border-inline-start:2px solid #b8a06c}
.house{background:linear-gradient(120deg,#eee5d2,#f8f2e5);box-shadow:inset 0 1px #fff,0 20px 50px -35px #133b3255;isolation:isolate}
.house>figure{position:relative;margin:35px -25px 35px 35px;min-height:660px;box-shadow:22px 30px 45px -26px #12352f80;z-index:1;border:6px solid #f2e9d7;border-radius:7px;overflow:hidden}
.house>figure img{min-height:660px}.house>div{padding-inline-start:15%;position:relative}.house>div:before{border-color:#af945355;inset:22px}
.press-grid{gap:38px 28px}.press-card{padding:14px 14px 0;border:1px solid #bfa8784a;border-radius:9px;background:linear-gradient(135deg,#fcf8ee,#e7decb);box-shadow:0 24px 30px -28px #233c2e80,inset 0 1px #fff}
.press-card:not([data-latest-article]):hover{box-shadow:0 28px 35px -22px #233c2e75;transform:perspective(1400px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px)}
.press-card img{border-radius:4px}.press-card>div{padding-inline:5px}.press-card[data-latest-article]{padding:28px;border-radius:12px;background:linear-gradient(130deg,#fff9ed,#e4d8be);box-shadow:0 35px 45px -30px #123d3370,9px 10px 0 #bc9e5933,inset 0 1px #fff}
.press-card[data-latest-article]:after{border-radius:7px}.press-card[data-guide-resource]>.guide-main>div{padding-inline:5px}
.visit{position:relative;isolation:isolate;background:radial-gradient(ellipse at 80% 0,#5d6c4b55,transparent 45%),linear-gradient(120deg,#0d3027,#224b3b 65%,#103629)}
.location-grid article{padding:30px;background:linear-gradient(130deg,#ffffff0c,#ffffff03);border:1px solid #dbc28b66;border-radius:9px;box-shadow:0 20px 32px -20px #011e1877,inset 0 1px #f1dcaa33;position:relative}
.location-grid article:before{content:'';position:absolute;inset:7px;border:1px solid #c3b07b22;border-radius:5px;pointer-events:none}.location-grid article:focus-within{box-shadow:0 24px 35px -18px #011e18aa,inset 0 1px #f1dcaa77}
.location-grid .button.light{background:linear-gradient(120deg,#efdfb51a,#efdfb508);box-shadow:0 8px 18px -12px #001c15}.location-grid .button.light:hover{background:#f5ead2}
.reading-grid article{border:1px solid #c2ae813f;border-radius:8px;padding:28px;background:linear-gradient(135deg,#fffaf1,#eee6d6);box-shadow:0 20px 28px -24px #183d3250}
.article-page .editorial-guide:not(.legal-page)>figure{position:relative;padding:10px;background:#f1e5cb;border:1px solid #c9b27e;border-radius:8px;box-shadow:12px 14px 0 #c6ad742e,0 30px 40px -28px #123e3280;transform:perspective(1800px) rotateY(-2deg);overflow:visible}
.article-page .editorial-guide:not(.legal-page)>figure img{border-radius:3px}.guide-actions .button{box-shadow:0 12px 20px -15px #133d32a0}.legal-page{transform:none}
.reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;z-index:60;pointer-events:none;background:linear-gradient(90deg,#98742f,#f5dda7,#a78439);transform:scaleX(var(--reading-progress,0));transform-origin:left;box-shadow:0 1px 7px #f6d79750}
html[data-motion=on] .depth-reveal{transition:opacity .65s var(--depth-ease),translate .65s var(--depth-ease),transform .32s var(--depth-ease),box-shadow .32s}
html[data-motion=on] .depth-reveal.is-waiting{opacity:0;translate:0 24px}
html[data-motion=on] .depth-reveal.in-view{opacity:1;translate:0 0}
@media(min-width:1600px){.hero{min-height:860px;padding-top:90px}.hero .hero-background,.hero .hero-frame{height:700px}.hero .hero-portrait{top:438px!important;width:230px}}
@media(min-width:721px) and (max-width:1100px){.hero{min-height:760px;padding:66px 7% 115px}.hero .hero-background,.hero .hero-frame{width:65%;height:560px;top:50px;inset-inline-end:-12%}.hero .hero-copy{width:60%;max-width:600px}.hero h1{font-size:clamp(61px,7.7vw,83px)}.hero .intro{font-size:25px}.hero .hero-portrait{width:165px;top:420px!important;inset-inline-end:7%!important}.hero .hero-bottom{font-size:12px;gap:25px}.offer-grid article>img{height:280px}.house>figure{margin:25px -15px 25px 25px;min-height:570px}.house>figure img{min-height:570px}.location-grid article{padding:24px}}
@media(max-width:720px){
.hero{padding:0;min-height:0;height:auto;background:radial-gradient(ellipse at 75% 15%,#54745b,#183f31 50%,#0e3026 100%);perspective:1100px}
.hero .hero-background{inset:auto;left:14px;right:14px;top:17px;width:calc(100% - 28px);height:284px;border-radius:12px;object-position:50% 50%;transform:perspective(1000px) rotateX(3deg) rotateZ(-1deg);box-shadow:0 19px 28px -12px #001c15a6,0 0 0 4px #e9d09929;border:1px solid #ebd6a2b3}
.hero .hero-frame{left:19px;right:9px;top:24px;width:calc(100% - 28px);height:284px;border-radius:12px;transform:perspective(1000px) rotateX(3deg) rotateZ(-1deg);background:linear-gradient(135deg,#d1b77870,#244d3b);box-shadow:0 20px 28px -15px #001b1580;z-index:0}
.hero .hero-shade,html[dir=rtl] .hero .hero-shade{background:linear-gradient(180deg,transparent 0,transparent 205px,#153d3133 265px,#12372be6 312px,#12372b 350px);z-index:1}
.hero:before{z-index:2;background:radial-gradient(ellipse 250px 220px at 20% 20%,#ffdfab25,transparent 80%)}
.hero .hero-copy,html[dir=rtl] .hero .hero-copy{max-width:none;width:auto;padding:318px 7% 30px!important;position:relative;z-index:3}
.hero h1{font-size:clamp(39px,11.8vw,53px);line-height:1.04;margin:0 0 17px}.hero .eyebrow,.hero .intro{display:none}.hero .bxlove-signature{font-size:14px;margin-bottom:19px;gap:12px}.hero .bxlove-signature img{width:106px;max-width:106px}
.hero .hero-portrait{width:105px;top:150px!important;inset-inline-end:7%!important;transform:perspective(700px) rotateY(-5deg) rotateZ(5deg)!important;filter:none!important;z-index:4}.hero .hero-portrait img{padding:3px;border-radius:4px;box-shadow:0 20px 25px -8px #001b15b3,5px 5px 0 #b9a16b5c}.hero .hero-portrait:before{display:block;inset:7px -6px -7px 6px;border-radius:4px}.hero .hero-portrait:after{display:none}.hero .hero-bottom{display:none}
.hero .actions{gap:8px 14px;flex-wrap:wrap}.hero .button{font-size:15px;min-height:48px;padding:12px 15px;gap:12px}.hero-link{font-size:15px;min-height:44px}.hero .button:hover{transform:none}
.offer-grid{gap:26px 14px}.offer-grid article{padding:10px 10px 15px;border-radius:8px;box-shadow:0 18px 25px -23px #173c3299,3px 4px 0 #c8b27d22}.offer-grid article>img{height:auto;aspect-ratio:1;margin-bottom:12px}.offer-grid article>h3,.offer-grid article>p{margin-inline:2px}.offer-grid h3{font-size:27px}.offer-grid p{font-size:16px;line-height:1.65}.offer-grid article:nth-child(3){padding:12px;grid-template-columns:90px minmax(0,1fr);gap:0 15px}.offer-grid article:nth-child(3)>img{width:90px;height:130px}
.facade{padding-top:20px;padding-bottom:55px}.facade picture{transform:perspective(1200px) rotateX(2deg)}.facade picture:before{inset:7px -7px -9px 7px;box-shadow:0 18px 25px -15px #173c3277}.facade figcaption{margin-top:25px;padding-inline-start:13px;font-size:13px}.facade img{height:auto;aspect-ratio:4/3;object-fit:contain}
.house>figure{margin:20px 7% 0;min-height:0;border-width:4px;box-shadow:10px 16px 30px -20px #123d3299}.house>figure img{min-height:0;height:auto;aspect-ratio:4/3}.house>div{padding:32px 8% 42px}.house>div:before{inset:11px}.house h2{font-size:43px}
.press-grid{gap:19px}.press-card:not([data-latest-article]){padding:12px;gap:14px;border-radius:7px;box-shadow:0 14px 20px -22px #183c3266}.press-card:not([data-latest-article])>img{height:138px}.press-card[data-latest-article]{padding:15px;border-radius:8px;box-shadow:0 20px 25px -20px #173c3280,4px 5px 0 #bc9e5922}.press-card[data-guide-resource]{padding:12px}.press-card[data-guide-resource]>.guide-main>div{padding:0}
.location-grid{gap:18px}.location-grid article{padding:22px;border-radius:8px}.location-grid h3{font-size:31px}.reading-grid article{padding:22px}.reading-grid h2{font-size:29px}
.article-page .editorial-guide:not(.legal-page)>figure{padding:6px;box-shadow:5px 7px 0 #c6ad7433,0 20px 25px -22px #123e3280;transform:perspective(1000px) rotateY(-1deg)}
.depth-surface{transform:none!important}.press-card:not([data-latest-article]):hover{transform:none!important}
}
@media(max-width:360px){.hero .hero-background,.hero .hero-frame{height:245px}.hero .hero-copy,html[dir=rtl] .hero .hero-copy{padding-top:275px!important}.hero .hero-portrait{top:124px!important;width:92px}.hero .hero-shade,html[dir=rtl] .hero .hero-shade{background:linear-gradient(180deg,transparent 170px,#12372b99 245px,#12372b 290px)}.hero h1{font-size:39px}.offer-grid h3{font-size:25px}.press-card:not([data-latest-article]){grid-template-columns:82px minmax(0,1fr);gap:12px}.press-card:not([data-latest-article])>img{width:82px!important;height:120px!important}.press-card h3{font-size:25px}}
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){.hero{min-height:332px;padding:0}.hero .hero-background,.hero .hero-frame{inset:auto;inset-inline-end:3%;top:25px;width:48%;height:255px;transform:perspective(1000px) rotateY(-5deg) rotateZ(-1deg)}.hero .hero-copy,html[dir=rtl] .hero .hero-copy{padding:40px 7% 27px!important;width:68%;max-width:none}.hero h1{font-size:43px;max-width:480px}.hero .intro,.hero .eyebrow,.hero .hero-bottom{display:none}.hero .hero-shade{background:linear-gradient(90deg,#10382d,#10382de6 38%,#10382d22 80%)}html[dir=rtl] .hero .hero-shade{background:linear-gradient(270deg,#10382d,#10382de6 38%,#10382d22 80%)}.hero .hero-portrait{width:87px;top:171px!important;inset-inline-end:7%!important}.hero .bxlove-signature{margin-bottom:15px}.hero .actions{gap:5px 12px}.hero .button{min-height:44px;font-size:14px;padding:10px 14px}.hero-link{font-size:14px}.hero .hero-frame{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=on] .depth-reveal.is-waiting{opacity:1;translate:none}.reading-progress{display:none}.button:hover,.press-card:hover{transform:none!important}.hero .hero-portrait:hover{transform:perspective(1100px) rotateY(-7deg) rotateZ(5deg)}}

/* Preserve readable cards in languages with long words on narrow screens. */
.offer-grid article,.press-card>div,.guide-main>div{min-width:0;overflow-wrap:anywhere;hyphens:auto}
