/* Carnet nomade nocturne — editorial composition and tactile photography. */
:root{--olive:#45461e;--ink:#efeee5;--muted:#a7aaa0;--line:#32372b;--white:#0b0d09;--black:#0b0d09}
::selection{background:var(--olive);color:var(--black)}
.header,.header.scrolled{height:82px;padding:0 4%;background:#0b0d09ed;backdrop-filter:blur(18px)}
.brand img{width:42px;height:42px}.brand>span{font-size:21px}.brand small{font-size:8px;letter-spacing:1.7px}.header nav{font-size:12px;gap:25px}.header nav a:hover{text-decoration:none}.booking{font-size:10px!important;min-height:40px!important;padding:12px 20px!important}
.button,.light{border-radius:4px;gap:30px;min-height:54px;font-weight:500}.button:hover,.light:hover{background:#d5e1ad;color:var(--black)}.button span{font-size:22px}
.hero{height:calc(100svh - 82px);min-height:740px;max-height:1050px;background:var(--black);overflow:hidden}
.hero-word{position:absolute;z-index:0;left:3%;right:3%;top:0;text-align:center;font-family:'DM Sans',Arial,sans-serif;font-weight:600;font-size:22.5vw;letter-spacing:-1.7vw;line-height:1.15;color:var(--olive);transform:translateY(var(--word-shift,0px));user-select:none}
.hero-window{position:absolute;left:8%;right:8%;top:180px;bottom:82px;border-radius:44% 44% 3px 3px / 30% 30% 3px 3px;overflow:hidden;transform:scale(var(--window-scale,1));transform-origin:50% 60%;will-change:transform;background:#1d2317}
.hero-photo{inset:-8%;width:116%;height:116%;opacity:.85;object-position:50% 57%;transform:translateY(var(--parallax,0px)) scale(1.04)}
.hero-window:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050704a0,transparent 80%),linear-gradient(0deg,#05070475,transparent 55%)}.hero:after{display:none}
.hero-content{position:absolute;z-index:2;left:14%;bottom:127px;padding:0;max-width:none}.hero-content .eyebrow{color:#e2e7d2;font-size:9px;letter-spacing:2px;margin-bottom:18px}.hero h1{font-size:clamp(70px,8.3vw,130px);line-height:.87;letter-spacing:-4px}.hero h1 em{color:var(--olive)}.hero-content>p:not(.eyebrow){font-size:14px;line-height:1.5;margin:22px 0}.hero-content .button{font-size:12px;min-height:46px;padding:12px 20px}
.hero-postcard{position:absolute;z-index:2;top:210px;right:12%;width:185px;margin:0;background:#dfdfcc;padding:8px 8px 12px;color:#161d0e;transform:rotate(9deg);box-shadow:0 15px 40px #0005;transition:rotate .5s}.hero-postcard img{height:165px}.hero-postcard figcaption{font-family:Georgia,serif;font-style:italic;font-size:12px;margin-top:10px;text-align:center}.hero-postcard:hover{rotate:-6deg}
.round-seal{position:absolute;right:7%;bottom:100px;z-index:3;width:145px;height:145px;border-radius:50%;background:var(--olive);color:#19200e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;transform:rotate(-14deg);transition:transform .5s}.round-seal span{font-size:9px;line-height:1.8;letter-spacing:2px;text-align:center}.round-seal b{font-size:35px;font-weight:400}.round-seal:hover{transform:rotate(0) scale(1.05)}
.hero-foot{left:4%;right:4%;bottom:25px;border:0;padding:0;font-size:9px;color:#bfc5ac;letter-spacing:1.5px}.hero-foot a{font-size:11px}.hero-side{left:3%;right:auto;top:43%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:2px;color:var(--muted)}
.travel-strip{padding:22px 0;background:var(--olive);color:#17200d;overflow:hidden;transform:rotate(-1.4deg);margin:0 -1%;width:102%;position:relative;z-index:2}.travel-strip>div{display:flex;align-items:center;gap:45px;white-space:nowrap;width:max-content;font-size:22px;letter-spacing:1px;font-weight:500;animation:travel 35s linear infinite}.travel-strip i{font-size:36px;font-style:normal}@keyframes travel{to{transform:translateX(-50%)}}
/* Contain the slanted ribbon without clipping sticky headers. */
main{overflow:clip}
.section{padding:120px 7%}.eyebrow{font-size:10px;letter-spacing:2px}h2{font-size:clamp(58px,6.6vw,105px);line-height:.93;letter-spacing:-3px}
.intro{grid-template-columns:.65fr 2.8fr .8fr;gap:40px;padding-top:140px;padding-bottom:80px}.intro h2{font-size:clamp(56px,5.6vw,88px)}.intro p:not(.eyebrow){max-width:600px}.intro-note{font-size:20px;position:relative}.intro-note:before{content:'';position:absolute;width:170px;height:170px;border:1px solid var(--line);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.numbers{margin:0 7% 90px;padding:30px 0;gap:30px}.numbers>div{border-right:1px solid var(--line)}.numbers>div:last-child{border:0}.numbers strong{font-size:70px}.numbers span{font-size:11px}
.experiences{padding-top:25px}.section-head{margin-bottom:60px}.section-head>p{max-width:270px}.experience-grid{grid-template-columns:1.2fr 1fr 1.1fr;gap:40px;align-items:start}.experience:nth-child(2){margin-top:120px}.experience:nth-child(3){margin-top:45px}.photo-wrap{height:460px;border-radius:160px 160px 3px 3px}.experience:nth-child(2) .photo-wrap{height:365px;border-radius:3px}.experience:nth-child(3) .photo-wrap{height:420px;border-radius:3px 3px 160px 3px}.photo-wrap span{border:0;font-size:11px;background:var(--olive);color:#19200e;left:20px;bottom:20px}.experience h3{font-size:22px}.experience p{font-size:13px;min-height:110px}.experience>a{font-size:11px}.experience>a span{font-size:19px}
.module-note{grid-template-columns:1fr 1.4fr 1.7fr;gap:40px;padding-top:35px;margin-top:90px}.module-note p{font-size:14px}
.gather{position:relative;background:#1e2615;grid-template-columns:1.1fr 1fr;padding:70px 7%;gap:7%}.gather-photo{min-height:660px;border-radius:3px 180px 3px 3px;transform:rotate(-3deg)}.gather-photo img{transition:opacity .25s;max-height:780px}.gather-copy{padding:20px 0;align-self:center}.gather-copy h2{font-size:clamp(60px,5.5vw,88px)}.gather-copy p:not(.eyebrow){color:#bbc2ae}.occasion-details details{border-color:#4a533e;padding:20px 0}.occasion-details summary{font-size:23px;align-items:center}.occasion-details summary:after{content:'';font-size:28px;transition:transform .3s}.occasion-details details[open] summary:after{content:'';transform:rotate(90deg)}.occasion-details details[open] summary{color:var(--olive)}.occasion-details details p{font-size:13px!important;margin:14px 0 5px!important}.occasion-details summary:focus-visible{outline:2px solid var(--olive);outline-offset:6px}
.services{padding-top:130px}.service-duo{grid-template-columns:1.25fr 1fr;gap:9%}.service-duo>article:nth-child(2){margin-top:150px}.service-duo img{height:490px;border-radius:3px}.service-duo>article:nth-child(2) img{height:420px;border-radius:200px 200px 3px 3px}.service-duo h3{font-size:80px;color:var(--olive);margin:0}.service-duo p:not(.eyebrow){font-size:14px;max-width:490px}
.activities{background:var(--black);position:relative;border-block:1px solid var(--line)}.activity-feature{display:block;position:relative;min-height:610px;overflow:hidden;border-radius:280px 280px 3px 3px}.activity-feature img{height:610px;opacity:.8}.activity-feature>div{position:absolute;inset:auto 8% 8%;z-index:1;max-width:550px}.activity-feature>div:before{content:'';position:absolute;inset:-40px -100vw -70px;background:linear-gradient(transparent,#050704df);z-index:-1;pointer-events:none}.activity-feature h3{font-size:75px;margin:15px 0;line-height:.95;color:var(--ink)}.activity-feature p{font-size:14px;color:#d2d7c6}.activity-text{gap:12%;margin-top:60px}.activity-text h3{font-size:27px}.activity-text p{font-size:14px}
.gallery .section-head h2{font-size:clamp(65px,8vw,125px)}.filters button{border-radius:0;border:0;border-bottom:1px solid var(--line);padding:12px 16px;font-size:11px}.filters button[aria-pressed=true]{background:transparent;color:var(--olive);border-color:var(--olive)}.gallery-grid{grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:280px;gap:24px}.gallery-item{border-radius:3px}.gallery-item:nth-child(2){border-radius:140px 140px 3px 3px}.gallery-item:nth-child(7){border-radius:3px 3px 130px 3px}.gallery-item span{font-size:11px;letter-spacing:1px}.gallery-grid.is-filtered{grid-auto-rows:330px}
.contact{background:var(--olive);color:var(--black);margin:30px 3% 0;border-radius:4px 4px 0 0;padding:100px 6%;position:relative;overflow:hidden}.contact:after{content:'';position:absolute;font-size:420px;line-height:1;right:-60px;bottom:-140px;opacity:.08;pointer-events:none}.contact .eyebrow{color:#354124}.contact h2{font-size:clamp(62px,7vw,110px)}.contact h2 em{color:#364623}.contact p:not(.eyebrow),.contact-note{color:#354124}.contact .button{background:#17200d;color:var(--olive);border-radius:50px;min-height:64px;padding:20px 35px}.contact .button:hover{background:#2e3a20}.contact-note{font-size:10px}
footer{margin:0 3%;padding:35px 4%}.footer-brand{color:var(--olive);font-size:32px}.lightbox{border-radius:5px}
/* Exact olive sampled from the reference; ivory keeps essential text legible. */
::selection{background:var(--olive);color:var(--ink)}
.button,.light,.round-seal,.travel-strip,.photo-wrap span,.close,.skip{color:var(--ink)}
.button:hover,.light:hover{background:#56572b;color:var(--ink);box-shadow:0 8px 26px #45461e30}
.eyebrow,.intro-note,.numbers strong,.experience>a,.activity-text span,.service-duo h3,.footer-brand,.occasion-details details[open] summary,.occasion-details summary:after{color:var(--ink)}
.hero h1 em,h2 em{color:var(--ink);text-decoration:underline;text-decoration-color:var(--olive);text-decoration-thickness:.055em;text-underline-offset:.09em;text-decoration-skip-ink:none}
.header nav a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--olive);text-decoration-thickness:3px;text-underline-offset:7px}
.filters button[aria-pressed=true]{color:var(--ink);border-color:var(--olive);box-shadow:0 2px 0 var(--olive)}
.gather{background:#232410}
.contact,.contact .eyebrow,.contact h2 em,.contact p:not(.eyebrow),.contact-note{color:var(--ink)}
.contact .button{background:var(--ink);color:var(--olive)}.contact .button:hover{background:#fff;color:var(--olive)}
a:focus-visible,button:focus-visible,.occasion-details summary:focus-visible{outline-color:var(--ink)}
@media(min-width:1600px){.hero-word{font-size:345px;letter-spacing:-24px}.hero-window{top:220px}.hero-postcard{top:250px}}
@media(max-width:1050px){.header nav{gap:15px;font-size:10px}.intro{grid-template-columns:.7fr 2.5fr}.intro-note{display:none}.hero-window{top:135px}.hero-postcard{top:170px;width:150px}.hero-postcard img{height:135px}.experience-grid{gap:24px}.photo-wrap{height:350px}.experience:nth-child(2) .photo-wrap{height:300px}.experience:nth-child(3) .photo-wrap{height:330px}.module-note{grid-template-columns:1fr 1.4fr}.module-note>.eyebrow{grid-column:span 2}.gather{gap:5%;padding:60px 5%}.gather-photo{min-height:620px}.service-duo{gap:6%}}
@media(max-width:700px){html{scroll-padding-top:85px}.header,.header.scrolled{height:72px;padding:0 5%;gap:12px}.brand img{width:32px;height:32px}.brand{gap:8px}.brand>span{font-size:17px}.brand small{font-size:6px;letter-spacing:1px}.booking{padding:10px 12px!important;font-size:8px!important;min-height:35px!important}.hero{min-height:690px;height:calc(100svh - 72px);max-height:850px}.hero-word{font-size:23vw;top:5px;letter-spacing:-1.8vw;left:1%;right:1%}.hero-window{left:5%;right:5%;top:92px;bottom:100px;border-radius:180px 180px 3px 3px}.hero-photo{object-position:55% center}.hero-content{left:10%;bottom:130px;right:8%}.hero-content .eyebrow{font-size:7px;letter-spacing:1px}.hero h1{font-size:clamp(70px,19vw,105px);letter-spacing:-2.5px}.hero-content>p:not(.eyebrow){font-size:12px;margin:18px 0}.hero-content .button{min-height:42px;font-size:10px;padding:10px 15px}.hero-postcard{top:124px;right:11%;width:106px;padding:5px 5px 8px;transform:rotate(11deg)}.hero-postcard img{height:100px}.hero-postcard figcaption{font-size:8px;margin-top:7px}.round-seal{width:82px;height:82px;right:7%;bottom:74px;gap:4px}.round-seal span{font-size:5px;letter-spacing:1px}.round-seal b{font-size:22px}.hero-side{display:none}.hero-foot{left:5%;right:30%;bottom:24px;font-size:7px;display:block;line-height:2}.hero-foot a{font-size:9px}.travel-strip{padding:14px 0}.travel-strip>div{font-size:16px;gap:25px}.travel-strip i{font-size:26px}.section{padding:75px 7%}h2,.section-head h2{font-size:58px;letter-spacing:-2px}.intro{display:block;padding-top:90px;padding-bottom:50px}.intro h2{font-size:57px}.intro .lead{font-size:18px!important}.intro p:not(.eyebrow){font-size:13px}.numbers{grid-template-columns:1fr 1fr;gap:25px;margin-bottom:30px;padding:25px 0}.numbers strong{font-size:56px}.numbers span{font-size:10px}.numbers>div:nth-child(2){border:0}.section-head{display:block;margin-bottom:35px}.experience-grid{grid-template-columns:1fr;gap:45px}.experience:nth-child(n){margin-top:0}.photo-wrap{height:470px}.experience:nth-child(2) .photo-wrap{height:350px}.experience:nth-child(3) .photo-wrap{height:420px}.experience p{min-height:0}.experience:nth-child(2){margin-left:10%}.experience:nth-child(3){margin-right:10%}.module-note{display:block;margin-top:55px}.module-note h3{margin:20px 0}.gather{grid-template-columns:1fr;padding:60px 7%;gap:40px}.gather-photo{height:440px;min-height:0;border-radius:3px 130px 3px 3px}.gather-copy{padding:10px 0}.gather-copy h2{font-size:60px}.service-duo{grid-template-columns:1fr;gap:50px}.service-duo>article:nth-child(2){margin-top:0;margin-left:10%}.service-duo img{height:400px}.service-duo>article:nth-child(2) img{height:400px}.service-duo h3{font-size:68px}.activity-feature{min-height:520px;border-radius:160px 160px 3px 3px}.activity-feature img{height:520px;object-position:65% center}.activity-feature>div{inset:auto 8% 5%}.activity-feature h3{font-size:52px}.activity-feature p{font-size:12px}.activity-text{grid-template-columns:1fr;gap:30px;margin-top:40px}.gallery .section-head h2{font-size:65px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px;gap:12px}.gallery-grid.is-filtered{grid-auto-rows:220px}.gallery-item span{font-size:9px;padding:28px 12px 14px}.contact{padding:75px 7%;margin:0 3%}.contact h2{font-size:56px}.contact p:not(.eyebrow){font-size:14px}.contact .button{font-size:12px;min-height:55px}.contact-note{line-height:1.8}.contact:after{font-size:280px}.footer-brand{font-size:27px}}
@media(prefers-reduced-motion:reduce){.travel-strip>div{animation:none}.hero-window,.hero-word{transform:none!important;will-change:auto}.hero-postcard,.round-seal{transition:none}}
