/* Maison du Lac — Elements R4.15. Replaces the former compass stylesheet. */
.mdl-elements-body{margin:0;background:#06171d;color:#f5f0e6}
.mdl-elements-body *{box-sizing:border-box}
.elements-page{--element-gold:#d3b779;--element-ink:#112b33;--element-paper:#f6f2e9}
.elements-skip{position:absolute;inset-inline-start:20px;top:0;transform:translateY(-120%);z-index:100;background:#f6f2e9;color:#112b33;padding:14px}
.elements-skip:focus{transform:none}
.elements-intro{max-width:1120px;padding:64px 28px 42px;margin:auto;text-align:center}
.elements-eyebrow{margin:0 0 20px;font:600 11px/1.5 var(--mdl-sans,Arial,sans-serif);letter-spacing:.18em;text-transform:uppercase;color:var(--element-gold)}
.elements-intro h1{white-space:pre-line;margin:0;font:400 clamp(40px,5.1vw,72px)/1.02 var(--mdl-serif,Georgia,serif);letter-spacing:-.035em;text-wrap:balance}
.elements-intro>p:last-child{max-width:630px;margin:24px auto 0;color:#c4cecc;font:400 18px/1.65 var(--mdl-serif,Georgia,serif)}
.elements-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(1240px,calc(100% - 56px));margin:0 auto 30px;border-block:1px solid #8b795347}
.elements-tabs a{position:relative;display:grid;grid-template-columns:auto 1fr;gap:5px 16px;padding:22px 24px;text-decoration:none;color:inherit;min-width:0;transition:background .2s}
.elements-tabs a+a{border-inline-start:1px solid #8b795347}
.elements-tabs a>span{grid-row:1/3;color:#d3b779;font:italic 15px/1.5 Georgia,serif}
.elements-tabs strong{font:400 29px/1.1 var(--mdl-serif,Georgia,serif)}
.elements-tabs small{font:12px/1.5 var(--mdl-sans,Arial,sans-serif);color:#bec8c7}
.elements-tabs a:hover,.elements-tabs a[aria-selected="true"]{background:#d3b77912}
.elements-tabs a[aria-selected="true"]::after{content:"";position:absolute;bottom:-1px;inset-inline:22px;height:2px;background:#d3b779}
.elements-tabs a:focus-visible,.element-link:focus-visible{outline:2px solid #d3b779;outline-offset:4px}
.element-chapter{scroll-margin-top:20px}
.element-chapter[hidden]{display:none!important}
.element-scene{position:relative;isolation:isolate;min-height:560px;display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:center;gap:60px;padding:72px max(5vw,28px);overflow:hidden}
.element-landscape{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center}
.element-scene::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,18,25,.82),rgba(3,18,25,.40) 48%,rgba(3,18,25,.08)),linear-gradient(0deg,rgba(3,18,25,.44),transparent 60%)}
.element-scene-copy{max-width:650px}
.element-scene h2{font:400 clamp(42px,5.2vw,74px)/1.03 var(--mdl-serif,Georgia,serif);letter-spacing:-.035em;margin:0;text-wrap:balance;color:#fff}
.element-scene-copy>p:last-child{max-width:510px;margin:28px 0 0;font:400 20px/1.6 var(--mdl-serif,Georgia,serif);color:#f0f1eb}
.element-compass{position:relative;width:300px;height:300px;justify-self:center;color:#e0c68a;filter:drop-shadow(0 2px 12px #031218)}
.element-compass svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:.8}
.element-compass-lines{opacity:.4}
.element-needle{fill:#ddc082;stroke:#ead7a9;transform-origin:160px 160px}
[data-direction="eau"] .element-needle{transform:rotate(-90deg)}
[data-direction="terre"] .element-needle{transform:rotate(180deg)}
[data-direction="feu"] .element-needle{transform:rotate(90deg)}
.element-compass-core{fill:#071b22;stroke-width:1}
.element-compass text{fill:currentColor;stroke:none;font:26px Georgia,serif}
.element-compass>span{position:absolute;font:600 10px/1 var(--mdl-sans,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase;background:#071b22b8;padding:9px}
.compass-air{top:-6px;left:50%;transform:translateX(-50%)}
.compass-terre{bottom:-6px;left:50%;transform:translateX(-50%)}
.compass-eau{left:-14px;top:50%;transform:translateY(-50%)}
.compass-feu{right:-14px;top:50%;transform:translateY(-50%)}
.element-reading{display:grid;grid-template-columns:1fr 1fr;gap:36px 70px;padding:64px max(7vw,28px) 40px;background:var(--element-paper);color:var(--element-ink)}
.element-reading .elements-eyebrow,.element-products .elements-eyebrow{color:#79602f}
.element-reading>div>p:last-child{font:400 20px/1.7 var(--mdl-serif,Georgia,serif);margin:0}
.element-note{grid-column:1/-1;border-top:1px solid #112b3326;padding-top:24px;margin:0;color:#556168;font:14px/1.6 var(--mdl-sans,Arial,sans-serif)}
.element-products{background:var(--element-paper);color:var(--element-ink);padding:32px max(7vw,28px) 72px}
.element-products>header{margin-bottom:32px;max-width:720px}
.element-products h3{margin:0;font:400 clamp(30px,3vw,44px)/1.12 var(--mdl-serif,Georgia,serif);letter-spacing:-.025em}
.element-products>header>p:last-child{font:18px/1.6 var(--mdl-serif,Georgia,serif);color:#56636a}
.element-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.element-product{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);gap:26px;align-items:center;border-top:1px solid #112b3326;padding-top:24px;min-width:0}
.element-product-picture{display:block;position:relative;aspect-ratio:4/5;background:#dfe5e4;min-width:0;overflow:hidden}
.element-product-picture img{width:100%;height:100%;object-fit:contain}
.element-product-picture.is-placeholder{color:#fff;background:radial-gradient(circle at 50% 33%,#ffffffa6,transparent 24%),linear-gradient(155deg,#dfe7e5,#aebec0 52%,#627a85)}
[data-panel="terre"] .element-product-picture.is-placeholder{background:radial-gradient(circle at 50% 33%,#eef2e0ad,transparent 24%),linear-gradient(155deg,#cfd9cc,#849685 52%,#41594e)}
[data-panel="feu"] .element-product-picture.is-placeholder{background:radial-gradient(circle at 50% 33%,#ffefccad,transparent 24%),linear-gradient(155deg,#d8c9b3,#a28162 52%,#654638)}
[data-panel="air"] .element-product-picture.is-placeholder{background:radial-gradient(circle at 50% 33%,#ffffffe6,transparent 24%),linear-gradient(155deg,#e7e8e5,#b4b9b7 52%,#788287)}
.element-product-picture.is-placeholder::before{content:"";position:absolute;inset:12%;border:1px solid #ffffff55;pointer-events:none}
.element-product-picture>span{display:flex;position:absolute;inset:0;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:16px}
.element-product-picture small{font:10px/1.4 var(--mdl-sans,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase}
.element-product-picture strong{font:400 clamp(20px,1.7vw,28px)/1.08 var(--mdl-serif,Georgia,serif);margin:14px 0;overflow-wrap:anywhere}
.element-product-picture em{font:italic 14px/1.4 var(--mdl-serif,Georgia,serif)}
.element-product-copy .elements-eyebrow{margin-bottom:12px;font-size:10px}
.element-product h4{font:400 clamp(25px,2.4vw,34px)/1.1 var(--mdl-serif,Georgia,serif);margin:0;overflow-wrap:anywhere}
.element-product-copy>p:not(.elements-eyebrow){font:16px/1.6 var(--mdl-serif,Georgia,serif);color:#506067;margin:14px 0}
.element-product-copy .element-product-meta{font:12px/1.5 var(--mdl-sans,Arial,sans-serif)}
.element-link{display:inline-flex;gap:16px;align-items:center;max-width:100%;border-bottom:1px solid #a48952;padding:8px 0;font:600 11px/1.6 var(--mdl-sans,Arial,sans-serif);letter-spacing:.07em;text-decoration:none}
.element-link span{color:#b79753}
.elements-closing{padding:76px 28px 82px;text-align:center;background:radial-gradient(ellipse at 50% 120%,#173c46,transparent 70%),#06171d}
.elements-closing h2{max-width:780px;margin:0 auto;font:400 clamp(34px,4.3vw,60px)/1.08 var(--mdl-serif,Georgia,serif);text-wrap:balance}
.elements-closing>p:not(.elements-eyebrow){max-width:750px;margin:26px auto 0;font:19px/1.7 var(--mdl-serif,Georgia,serif);color:#c5d0cf}
.elements-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px 36px;margin-top:36px}
.elements-footer{display:flex;justify-content:space-between;gap:20px;padding:28px max(5vw,24px);border-top:1px solid #d3b77940;color:#c4cecc;font:12px/1.5 var(--mdl-sans,Arial,sans-serif)}
.elements-page.is-enhanced .element-landscape{animation:element-light .6s ease-out}
@keyframes element-light{from{opacity:.6}to{opacity:1}}
.elements-page.is-enhanced .element-scene-copy{animation:element-enter .45s ease-out}
@keyframes element-enter{from{opacity:.55;transform:translateY(8px)}to{opacity:1;transform:none}}
[dir="rtl"] .element-scene::before{background:linear-gradient(270deg,rgba(3,18,25,.82),rgba(3,18,25,.4) 48%,rgba(3,18,25,.08)),linear-gradient(0deg,rgba(3,18,25,.44),transparent 60%)}
@media(max-width:1000px){.element-scene{grid-template-columns:minmax(0,1fr) 240px;gap:30px;min-height:510px}.element-compass{width:210px;height:210px}.element-product-grid{grid-template-columns:1fr}.element-product{grid-template-columns:180px minmax(0,1fr);max-width:760px}.elements-tabs a{padding:18px 14px;gap:6px 9px}.elements-tabs small{font-size:11px}}
@media(max-width:600px){
 .elements-intro{padding:38px 22px 30px}.elements-intro h1{white-space:pre-line;font-size:39px}.elements-intro>p:last-child{font-size:17px;margin-top:18px}
 .elements-tabs{width:calc(100% - 32px);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.elements-tabs a{padding:18px 12px}.elements-tabs a:nth-child(3){border-inline-start:0}.elements-tabs a:nth-child(n+3){border-top:1px solid #8b795347}.elements-tabs strong{font-size:27px}
 .element-scene{min-height:620px;grid-template-columns:1fr;gap:34px;padding:46px 24px 34px;align-content:space-between}.element-scene::before,[dir="rtl"] .element-scene::before{background:linear-gradient(180deg,#031219c4,rgba(3,18,25,.3) 65%,#0312199c)}
 .element-scene h2{font-size:43px}.element-scene-copy>p:last-child{font-size:18px;margin-top:22px}.element-compass{width:170px;height:170px;justify-self:end;margin-inline-end:10px}.element-compass>span{font-size:9px;padding:6px}
 .element-reading{grid-template-columns:1fr;padding:38px 24px 26px;gap:30px}.element-reading>div>p:last-child{font-size:18px}.element-reading .elements-eyebrow{margin-bottom:12px}
 .element-products{padding:22px 24px 46px}.element-product{grid-template-columns:120px minmax(0,1fr);gap:18px}.element-product h4{font-size:25px}.element-product-copy>p:not(.elements-eyebrow){font-size:15px}.element-product-picture{align-self:start}.element-product-picture strong{font-size:20px}.element-product-picture>span{padding:12px}.element-product-picture small{font-size:9px}
 .elements-closing{padding:52px 24px}.elements-closing>p:not(.elements-eyebrow){font-size:18px}.elements-actions{flex-direction:column;gap:18px}.elements-actions .mdl-button{white-space:normal;text-align:center;line-height:1.5;padding-block:14px}.elements-footer{flex-direction:column}
}
@media(max-width:360px){.element-product{grid-template-columns:1fr}.element-product-picture{max-width:190px}.elements-tabs small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.elements-page *, .elements-page *::before,.elements-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
