@font-face{font-family:"Instrument Serif";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/instrument-serif-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/instrument-serif-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:400;font-display:swap;src:url(fonts/instrument-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:500;font-display:swap;src:url(fonts/instrument-sans-latin-500-normal.woff2) format("woff2")}
:root{--stone:#ebe7de;--stone2:#e0dacb;--ink:#1d1f1c;--moss:#2a3831;--bronze:#9a7b4f;--mute:#6b6a60;--g:clamp(20px,6vw,96px)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font:400 17px/1.7 "Instrument Sans",system-ui,sans-serif;background:var(--stone);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;z-index:99}
.wrap{max-width:1380px;margin:0 auto;padding:0 var(--g)}
.small{font:500 12px "Instrument Sans";letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);margin-bottom:26px}
.big{font:400 clamp(40px,5.8vw,92px)/1.02 "Instrument Serif",serif;letter-spacing:-.015em}.big em,h1 em{font-style:italic;color:var(--bronze)}
.top{position:fixed;inset:0 0 auto 0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px var(--g);transition:background .4s,padding .4s}
.top.sc{background:rgba(235,231,222,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px var(--g);box-shadow:0 1px 0 rgba(29,31,28,.1)}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}.brand b{font:400 26px "Instrument Serif",serif;letter-spacing:.32em}.brand span{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--mute);margin-top:4px}
.top nav{display:flex;gap:clamp(18px,3vw,44px);font-size:14px}.top nav a{text-decoration:none;position:relative;padding:4px 0}.top nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--ink);transition:right .35s}.top nav a:hover::after{right:0}
.cta-t{border:1px solid var(--ink);padding:10px 22px;text-decoration:none;font-size:14px;transition:.3s;white-space:nowrap}.cta-t:hover{background:var(--ink);color:var(--stone)}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--stone)}
#sand{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(235,231,222,.94) 0,rgba(235,231,222,.75) 38%,rgba(235,231,222,0) 68%)}
.hero-in{position:relative;z-index:2;width:100%;padding-top:70px;pointer-events:none}.hero-in a{pointer-events:auto}
.eyebrow{font:500 12px "Instrument Sans";letter-spacing:.26em;text-transform:uppercase;color:var(--mute);margin-bottom:28px}
h1{font:400 clamp(46px,7.4vw,120px)/.98 "Instrument Serif",serif;letter-spacing:-.02em;max-width:9.5em}
h1 .l{display:block;overflow:hidden;padding:.1em 0 .16em;margin:-.1em 0 -.16em}
h1 .l>span{display:block;transform:translateY(110%);animation:up 1.3s cubic-bezier(.2,.8,.2,1) forwards}h1 .l:nth-child(2)>span{animation-delay:.14s}h1 .l:nth-child(3)>span{animation-delay:.28s}
@keyframes up{to{transform:none}}
.lead{max-width:27em;margin:30px 0 34px;font-size:18px;color:#46453e}
.cta{display:flex;gap:30px;align-items:center;flex-wrap:wrap}
.btn{display:inline-block;background:var(--ink);color:var(--stone);text-decoration:none;border:0;padding:17px 34px;font:500 15px "Instrument Sans";letter-spacing:.04em;cursor:pointer;position:relative;overflow:hidden}
.btn::before{content:"";position:absolute;inset:0;background:var(--bronze);transform:translateY(101%);transition:.4s cubic-bezier(.2,.8,.2,1)}.btn span{position:relative;z-index:1}.btn:hover::before{transform:none}
.lnk{font-size:15px;text-underline-offset:7px;text-decoration-color:var(--bronze)}
.rake{position:absolute;right:var(--g);bottom:34px;z-index:2;font:italic 400 18px "Instrument Serif",serif;color:var(--mute);animation:fade 3s ease-in-out infinite}@keyframes fade{50%{opacity:.35}}
.scroll{position:absolute;left:var(--g);bottom:0;z-index:3;width:1px;height:56px;background:rgba(29,31,28,.2);overflow:hidden}.scroll i{display:block;width:1px;height:100%;background:var(--ink);animation:drop 2.2s ease-in-out infinite}@keyframes drop{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
/* sections */
.sec{padding:clamp(90px,12vw,170px) 0}.alt{background:var(--stone2)}
.two{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,110px);align-items:start}
.txt p{margin-bottom:18px;max-width:34em;color:#383730}.txt{padding-top:.6em}
.rv{opacity:0;transform:translateY(34px);transition:opacity 1s,transform 1s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,4vw,60px);margin-top:clamp(60px,8vw,110px);border-top:1px solid rgba(29,31,28,.25)}
.facts div{padding-top:26px}.facts dt{font:400 clamp(60px,8vw,128px)/1 "Instrument Serif",serif;letter-spacing:-.03em}.facts sup{font-size:.45em;vertical-align:.9em;margin-left:.04em}.facts dd{color:var(--mute);max-width:14em;margin-top:6px}
.idx{list-style:none;margin-top:clamp(50px,7vw,90px);border-top:1px solid rgba(29,31,28,.3)}
.idx li{position:relative;display:flex;align-items:baseline;gap:clamp(18px,3vw,44px);padding:22px 0;border-bottom:1px solid rgba(29,31,28,.3);font:400 clamp(26px,3.6vw,52px)/1.1 "Instrument Serif",serif;transition:padding .5s cubic-bezier(.2,.8,.2,1),color .4s}
.idx b{font:500 12px "Instrument Sans";letter-spacing:.2em;color:var(--bronze);min-width:2.4em}.idx i{position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--bronze);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.idx li:hover{padding-left:20px;color:var(--bronze)}.idx li:hover i{width:100%}
.partners{margin-top:40px;color:var(--mute);max-width:44em}.partners b{color:var(--ink);font-weight:500}
/* zen */
.zen{background:var(--moss);color:#ece6d6;padding:clamp(90px,12vw,170px) 0}.zen .big em{color:#d2b27a}.zen .txt p{color:#d9d3c2}.zen .small{color:#d2b27a}
.zen-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:center}
.ext{color:#d2b27a;text-underline-offset:6px}
.garden{width:100%;height:auto;display:block;background:var(--moss);border:1px solid rgba(236,230,214,.25)}
.garden .rg{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s cubic-bezier(.3,.7,.2,1)}.garden.in .rg{stroke-dashoffset:0}
.garden #rocks{transform-box:fill-box;opacity:0;transition:opacity 1.4s .4s}.garden.in #rocks{opacity:1}
/* piscines */
.types{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(50px,7vw,90px);border-top:1px solid rgba(29,31,28,.3);border-left:1px solid rgba(29,31,28,.3)}
.types li{border-right:1px solid rgba(29,31,28,.3);border-bottom:1px solid rgba(29,31,28,.3);position:relative;overflow:hidden;min-height:150px;display:flex;align-items:flex-end;padding:22px 24px;font:400 clamp(24px,2.6vw,38px)/1.1 "Instrument Serif",serif}
.types li::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;border:1px solid var(--bronze);transform:translate(-50%,-50%) scale(0);opacity:0}
.types li:hover::before{animation:rip 1.4s ease-out infinite}.types li span{position:relative}
@keyframes rip{0%{transform:translate(-50%,-50%) scale(0);opacity:.9}100%{transform:translate(-50%,-50%) scale(34);opacity:0}}
.spec{margin-top:clamp(50px,7vw,90px);display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;align-items:start}
.spec ul{list-style:none;columns:2;column-gap:40px}.spec li{padding:12px 0;border-bottom:1px solid rgba(29,31,28,.2);break-inside:avoid;font-size:17px}
.water{margin-top:clamp(60px,9vw,130px);height:100px;overflow:hidden;line-height:0}.water svg{width:100%;height:100%}.water path{fill:var(--moss)}.water .w1{opacity:.35;animation:sw 9s ease-in-out infinite alternate}.water .w2{opacity:1}
@keyframes sw{to{transform:translateX(-80px)}}
.sec#piscines{padding-bottom:0}
/* contact */
.contact{background:var(--moss);color:#ece6d6;padding:clamp(70px,10vw,150px) 0}.contact .small{color:#d2b27a}.contact .big em{color:#d2b27a}
.ct-g{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,100px)}
.note{margin:26px 0 30px;max-width:30em;color:#d9d3c2}address{font-style:normal;color:#d9d3c2}address b{color:#fff;font-weight:500}address a{text-underline-offset:5px}
form{display:flex;flex-direction:column;gap:4px;background:var(--stone);color:var(--ink);padding:clamp(24px,3.4vw,52px)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
label{display:block;font:500 11px "Instrument Sans";letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-top:14px}
input:not(.hp),select,textarea{font:400 16px "Instrument Sans",sans-serif;padding:11px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:0;width:100%}textarea{resize:vertical}
form .btn{margin-top:26px;align-self:flex-start}.hp{position:absolute;left:-9999px}
a:focus-visible,.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.form-msg{font-size:14px;min-height:1.4em;margin-top:8px}.form-msg.ok{color:#1c6b32}.form-msg.err{color:#a3261c}.form-msg.info{background:#e9dcc2;padding:6px 10px}
footer{padding:30px var(--g);background:#1e2924;color:#b9b6a8;font-size:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}footer b{color:#fff;font-weight:500}
.legal-page{background:var(--stone)}.legal{max-width:760px;margin:0 auto;padding:60px 22px}.legal h1{font:400 clamp(36px,5vw,56px) "Instrument Serif",serif;margin:20px 0}.legal h2{font:400 26px "Instrument Serif",serif;margin:28px 0 8px;color:var(--bronze)}.legal p{margin:8px 0}.draft{background:#e9dcc2;padding:10px 14px}
@media (max-width:900px){
 .two,.zen-g,.ct-g,.spec,.row2{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.facts div{padding-bottom:10px}
 .top nav{display:none}.hero::after{background:linear-gradient(180deg,rgba(235,231,222,.95) 0,rgba(235,231,222,.82) 55%,rgba(235,231,222,0) 85%)}
 .hero{align-items:flex-start}.hero-in{padding-top:120px}.types{grid-template-columns:1fr 1fr}.spec ul{columns:1}.rake{left:var(--g);right:auto;bottom:20px}.scroll{display:none}
 .brand b{font-size:21px;letter-spacing:.24em}
}
@media (max-width:520px){.types{grid-template-columns:1fr}.cta-t{padding:8px 14px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}h1 .l>span{transform:none}.rv{opacity:1;transform:none}.garden .rg{stroke-dashoffset:0}.garden #rocks{opacity:1}}
