:root{color-scheme:dark;--bg:#111210;--paper:#eeeae2;--muted:#b1b0a7;--accent:#bbb69f;--line:#34362f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--paper);font:15px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{border-radius:0}::selection{background:#c6bfa4;color:#111}h1,h2,p,figure{margin:0}h1,h2{font-weight:400;line-height:1.06}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}img{display:block;width:100%;object-fit:cover}.skip{position:fixed;top:-90px;left:20px;z-index:20;background:var(--paper);color:#111;padding:12px}.skip:focus{top:10px}.header{height:96px;padding:0 5.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:36px;font-weight:800;letter-spacing:-2.5px;line-height:1}.brand-dot{color:var(--accent)}nav{display:flex;gap:42px;align-items:center;font-size:12px}nav a{padding:12px 0}.nav-contact{border-bottom:1px solid #77796d}.nav-contact span{margin-left:32px}.hero{position:relative;min-height:700px;height:calc(100svh - 96px);max-height:1050px;overflow:hidden}.hero-image{position:absolute;inset:0 0 0 30%}.hero-image img{height:100%;filter:grayscale(1);object-position:center 35%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111210 2%,#111210ed 24%,#11121055 58%,#11121000 90%),linear-gradient(0deg,#111210a6,transparent 40%)}.hero-top{position:absolute;top:37px;left:5.5%;right:5.5%;font-size:10px;letter-spacing:2.8px;display:flex;justify-content:space-between}.vertical{writing-mode:vertical-rl}.hero-content{position:relative;z-index:1;padding:175px 5.5% 140px;max-width:1050px}.eyebrow{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);margin-bottom:28px}h1{font-size:clamp(64px,8vw,120px);max-width:730px;letter-spacing:-5px}.hero-description{font-family:Georgia,serif;font-style:italic;font-size:23px;color:#cfcec5;margin:30px 0 42px}.line-link{display:inline-flex;gap:70px;font-size:12px;border-bottom:1px solid #989b8c;padding-bottom:12px}.hero-bottom{position:absolute;bottom:30px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#bfbfb5}.manifesto{padding:26px 5.5%;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);font-family:Georgia,serif;font-style:italic;color:var(--muted);font-size:17px}.manifesto b{font-size:10px;align-self:center;color:#777b6b}.section{padding:110px 7.5%;scroll-margin-top:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}h2{font-size:clamp(40px,5vw,72px);letter-spacing:-2px}.section-intro{color:var(--muted);font-size:13px;line-height:1.9;padding-bottom:6px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:32px;gap:24px}.filters{display:flex;gap:25px;flex-wrap:wrap}.filters[hidden]{display:none}.filters button{border:0;background:none;color:var(--muted);padding:14px 0;border-bottom:2px solid transparent;font-size:12px}.filters button[aria-pressed=true]{color:var(--paper);border-color:var(--paper)}#gallery-count{font-size:10px;color:var(--muted);white-space:nowrap}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:55px 30px;align-items:start}.photo:nth-child(even){padding-top:95px}.photo[hidden]{display:none}.gallery.filtered .photo{padding-top:0}.photo-open{position:relative;display:block;width:100%;padding:0;border:0;overflow:hidden;background:#252721;text-align:left}.photo img{height:auto;aspect-ratio:4/5;filter:grayscale(1);transition:transform .6s,filter .6s}.photo-open:hover img{transform:scale(1.025);filter:grayscale(.35)}.photo-plus{position:absolute;bottom:18px;right:20px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff80;background:#0004;font-size:22px}.photo figcaption{display:flex;justify-content:space-between;gap:10px;padding-top:18px;font-size:13px}.photo figcaption>span:last-child{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}.photo small{color:#888c7f;margin-left:8px}.demo-note{color:var(--muted);font-size:11px;margin-top:42px;max-width:650px}.about{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#171813}.about-mark{font-size:clamp(180px,30vw,420px);font-family:Georgia,serif;line-height:.9;align-self:center;letter-spacing:-25px;color:#7d806e;position:relative}.about-mark>span{color:#d2cbb5}.about-mark small{display:block;font:9px Arial;letter-spacing:3px;margin-top:36px;color:var(--muted)}.about-copy h2{font-size:clamp(38px,4vw,58px);margin-bottom:30px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:460px;margin:20px 0}.signature{font:italic 27px Georgia,serif;margin-top:35px}.signature span{display:block;font:9px Arial;letter-spacing:2px;color:var(--muted);margin-top:12px}.quote{text-align:center;padding-top:110px;padding-bottom:110px;border-bottom:1px solid var(--line)}.quote>p{font-size:clamp(44px,7vw,98px);line-height:1.12;letter-spacing:-3px}.quote>span{display:block;font-size:9px;letter-spacing:3px;color:var(--muted);margin-top:36px}.contact{background:#e5e1d6;color:#23251f}.contact .eyebrow{color:#595c50}.contact h2{font-size:clamp(40px,6vw,80px)}.contact-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;border-top:1px solid #aeafa1;margin-top:48px;padding-top:30px}.contact-link{font-size:22px;line-height:1.45}.contact-link span{margin-left:40px}.contact-bottom>p:last-child{font-size:12px;max-width:290px;color:#55584c}.footer{padding:45px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer p{font-size:11px}.footer p span{font-size:9px;color:var(--muted)}.footer>a:last-child{font-size:11px}dialog{border:1px solid var(--line);background:#111210;color:var(--paper);padding:20px;max-width:96vw;width:1100px;max-height:96svh}dialog::backdrop{background:#000e}body.modal-open{overflow:hidden}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;margin-bottom:15px}.close-lightbox{background:none;border:1px solid #777b6b;padding:8px 14px}.close-lightbox span{font-size:22px;margin-left:15px}#lightbox-image{height:70svh;object-fit:contain;width:100%}.lightbox-hint{font-size:10px;color:var(--muted);text-align:center;margin-top:12px}@media(min-width:1500px){.section{padding-left:max(7.5%,calc((100vw - 1400px)/2));padding-right:max(7.5%,calc((100vw - 1400px)/2))}}@media(max-width:700px){.header{height:78px;padding:0 6%}.wordmark{font-size:30px}nav{gap:20px;font-size:10px}.nav-contact span{margin-left:10px}.hero{height:760px;min-height:0;max-height:calc(100svh - 78px)}.hero-image{left:0}.hero-shade{background:linear-gradient(0deg,#111210f5 0%,#11121077 60%,#11121030)}.hero-top{top:24px;font-size:8px;letter-spacing:1.5px;left:6%}.vertical{display:none}.hero-content{position:absolute;bottom:65px;padding:0 6%}.hero-content .eyebrow{font-size:8px;margin-bottom:22px}h1{font-size:clamp(56px,12vw,82px);letter-spacing:-3px;max-width:480px}.hero-description{font-size:19px;margin:22px 0 30px}.hero-bottom{font-size:7px;left:6%;right:6%;letter-spacing:1px}.manifesto{padding:20px 6%;gap:10px;justify-content:center;flex-wrap:wrap;font-size:13px}.section{padding:70px 6%}.section-heading{display:block;margin-bottom:30px}.section-intro{margin-top:25px}.gallery-toolbar{gap:10px}.filters{gap:17px}.filters button{font-size:10px}.gallery{gap:35px 18px}.photo:nth-child(even){padding-top:55px}.photo figcaption{display:block;font-size:12px;padding-top:10px}.photo figcaption>span{display:block}.photo figcaption>span:last-child{font-size:8px;margin-top:5px}.photo small{display:none}.photo-plus{right:10px;bottom:10px;width:28px;height:28px;font-size:16px}.about{grid-template-columns:1fr;gap:55px}.about-mark{font-size:190px;letter-spacing:-12px}.about-mark small{margin-top:22px}.about-copy h2{font-size:42px}.quote>p{letter-spacing:-2px}.contact-bottom{align-items:start;flex-direction:column;gap:25px}.footer{padding:35px 6%;flex-wrap:wrap}.footer p{order:3;width:100%}.lightbox-toolbar{font-size:10px}.close-lightbox{white-space:nowrap}.lightbox-hint{font-size:9px}}@media(max-width:380px){nav{gap:12px}.filters{gap:12px}.gallery{grid-template-columns:1fr}.photo:nth-child(even){padding-top:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Signature de marque sous le logo et devise sous la photographie. */
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.brand-meaning{font:italic 11px/1.5 Georgia,'Times New Roman',serif;color:var(--muted)}.brand-meaning b{font-style:normal;font-size:8px;padding:0 4px}.manifesto{justify-content:center}
@media(max-width:700px){.header{height:auto;min-height:120px;flex-wrap:wrap;gap:12px;padding-top:17px;padding-bottom:12px}.brand-lockup{width:100%;gap:7px}.brand-meaning{font-size:10px}.brand-meaning b{padding:0 2px}.header nav{width:100%;justify-content:space-between}.header nav a{padding:4px 0}.hero{max-height:calc(100svh - 120px)}}
@media(max-width:380px){.brand-meaning{font-size:9px}.brand-meaning b{padding:0 1px}}
.language-switch{display:inline-flex;align-items:center;gap:8px;font-size:10px;white-space:nowrap}.language-switch>a{color:var(--muted)}.language-switch>a[aria-current=page]{color:var(--paper);text-decoration:underline;text-underline-offset:5px}.contact-location{margin-top:30px;max-width:520px;color:#55584c;font-size:14px}.about-copy>.location{border-top:1px solid var(--line);padding-top:20px}.header nav{gap:28px}@media(max-width:700px){.header nav{gap:12px}.language-switch{font-size:9px;gap:5px}}
.booking-intro{margin-top:65px;border-top:1px solid #aeafa1;padding-top:36px}.booking-intro h3{font:normal 34px Georgia,serif;margin:0 0 12px}.booking-intro p,.booking-help{font-size:13px;color:#55584c;max-width:680px}.booking-form{margin-top:28px;max-width:1000px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px}.booking-grid label{display:block;font-size:13px}.booking-grid input,.booking-grid select,.booking-grid textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #919487;border-radius:0;background:#efede5;color:#23251f;font:16px/1.5 Arial,sans-serif;color-scheme:light}.booking-grid textarea{resize:vertical;min-height:140px}.booking-grid small{display:block;margin-top:7px;color:#55584c;font-size:11px}.optional{font-size:11px;color:#55584c}.full-width{grid-column:1/-1}.booking-consent{display:flex;align-items:flex-start;gap:12px;margin:26px 0 18px;font-size:13px}.booking-consent input{width:18px;height:18px;accent-color:#23251f;flex-shrink:0;margin-top:2px}.booking-submit,.booking-send,.booking-copy{display:inline-block;background:#23251f;color:#eeeae2;border:1px solid #23251f;padding:15px 24px;margin-top:24px;font-size:13px}.booking-submit span{margin-left:40px}.booking-copy{background:transparent;color:#23251f;margin-left:12px}.booking-form :focus-visible{outline:2px solid #444c31;outline-offset:4px}.booking-status,.booking-result{font-size:13px;margin-top:18px}.booking-review{border-top:1px solid #aeafa1;margin-top:25px;padding-top:15px}.booking-review h4{font-size:16px;font-weight:normal}.booking-summary{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 Arial,sans-serif}.booking-review[hidden],.booking-send[hidden]{display:none}@media(max-width:700px){.booking-grid{grid-template-columns:1fr}.booking-copy{margin-left:0}.booking-send{margin-right:10px}.booking-intro h3{font-size:29px}}
.travel-info{margin-top:45px;padding:30px;border:1px solid #aeafa1;max-width:1000px}.travel-info h3{font:normal 28px Georgia,serif;margin:0 0 18px}.travel-info p{font-size:13px;max-width:780px}.travel-rates{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.travel-rates>div{border-top:1px solid #aeafa1;padding-top:12px}.travel-rates dt{font-size:12px}.travel-rates dd{font-size:22px;margin:5px 0 0}.travel-info .travel-details{font-size:11px;color:#55584c;margin-bottom:18px}@media(max-width:700px){.travel-info{padding:22px}.travel-rates{grid-template-columns:1fr;gap:12px}.travel-rates>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.travel-rates dd{font-size:19px}}
.booking-payment{margin-top:20px;max-width:780px;font-size:14px;font-weight:600}
