:root{--ink:#06172e;--ivory:#f4f0e5;--red:#d23b32;--text:#273750}*{box-sizing:border-box}html{background:#fff}body{margin:0;color:var(--ivory);font-family:Arial,sans-serif}.site{min-height:100svh;padding:clamp(12px,2.2vw,34px);background:#fff}.frame{position:relative;min-height:calc(100svh - clamp(24px,4.4vw,68px));overflow:hidden;background:var(--ivory);padding:clamp(12px,2.2vw,30px)}.viewport,.mountains,.snow{position:absolute;inset:clamp(12px,2.2vw,30px)}.viewport{background:var(--ink)}.mountains{width:calc(100% - clamp(24px,4.4vw,60px));height:calc(100% - clamp(24px,4.4vw,60px));object-fit:cover;object-position:center 58%;transform:translateY(5%);transition:transform .95s cubic-bezier(.22,.8,.22,1)}.snow{width:calc(100% - clamp(24px,4.4vw,60px));height:calc(100% - clamp(24px,4.4vw,60px));pointer-events:none}.header{position:absolute;z-index:5;top:clamp(22px,3.6vw,48px);left:clamp(28px,5vw,82px);right:clamp(28px,5vw,82px);height:94px;display:grid;grid-template-columns:190px 1fr 130px;align-items:start}.logo{display:block;width:180px;height:92px}.logo img{width:100%;height:100%;object-fit:contain}.nav{display:flex;justify-content:center;gap:clamp(24px,5vw,74px);padding-top:22px}.nav button,.languages a{border:0;background:none;color:var(--ivory);font:inherit;font-size:12px;letter-spacing:.18em;text-decoration:none;opacity:.72;cursor:pointer;padding:8px 2px}.nav button:hover,.nav button.active,.languages a:hover,.languages a.active{opacity:1}.languages{display:flex;justify-content:flex-end;gap:12px;padding-top:22px}.languages a.active{border-bottom:1px solid var(--ivory)}.hero{position:absolute;z-index:3;left:10%;top:28%;transition:opacity .4s ease,transform .7s ease}.hero h1{font:400 clamp(50px,7vw,104px)/.91 Georgia,serif;letter-spacing:-.045em;margin:0 0 10px}.hero p{margin:0;color:var(--red);font-size:clamp(11px,1vw,15px);font-weight:600;letter-spacing:.24em}.place{position:absolute;z-index:3;left:68%;top:36%;transform:translateX(-50%);text-align:center;font:400 clamp(28px,3.3vw,52px)/1.02 Georgia,serif;letter-spacing:-.035em}.accent{color:var(--red)}.panel{position:absolute;z-index:4;inset:clamp(130px,15vh,170px) 6% 6%;padding:clamp(42px,7vw,100px) clamp(34px,9vw,135px);background:var(--ivory);color:var(--ink);opacity:0;transform:translateY(14%) scale(.97);pointer-events:none;transition:opacity .5s ease .08s,transform .8s cubic-bezier(.22,.8,.22,1);overflow:auto}.panel>section{display:none;max-width:1050px}.panel small{font-size:12px;letter-spacing:.22em;color:#526078}.panel h2{font:400 clamp(40px,5vw,74px)/.97 Georgia,serif;letter-spacing:-.04em;margin:20px 0 28px}.panel p{font:400 clamp(16px,1.7vw,22px)/1.62 Georgia,serif;max-width:760px;color:var(--text)}.close{position:absolute;right:30px;top:20px;border:0;background:none;color:var(--ink);font-size:34px;cursor:pointer}.frame:not([data-view=home]) .mountains,.frame:not([data-view=home]) .snow{transform:translateY(47%) scale(1.03)}.frame:not([data-view=home]) .hero,.frame:not([data-view=home]) .place{opacity:0;transform:translateY(-24px)}.frame:not([data-view=home]) .panel{opacity:1;transform:none;pointer-events:auto}.frame[data-view=about] [data-section=about],.frame[data-view=experience] [data-section=experience],.frame[data-view=contact] [data-section=contact]{display:block}.frame[data-view=experience] [data-section=experience]{max-width:none;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(380px,1.2fr);gap:clamp(32px,6vw,88px);align-items:center}.gallery{position:relative;aspect-ratio:1.25;background:var(--ink);overflow:hidden}.slides,.slides img{position:absolute;inset:0;width:100%;height:100%}.slides img{object-fit:cover;opacity:0;transform:scale(1.06) translateX(3%);transition:opacity .65s ease,transform .9s cubic-bezier(.22,.8,.22,1)}.slides img.active{opacity:1;transform:none}.gallery button{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;background:#06172eb8;color:var(--ivory);font-size:22px;cursor:pointer}.gallery .prev{left:0}.gallery .next{right:0}.count{position:absolute;z-index:2;right:14px;bottom:12px;font-size:11px;letter-spacing:.16em}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:24px}.contact-links a{display:flex;align-items:center;gap:10px;color:#0d3263;font:400 clamp(18px,2vw,25px)/1.3 Georgia,serif;text-decoration:none;border-bottom:1px solid #a89e8c;padding-bottom:6px}.wa{color:#26865d;font-family:Arial,sans-serif}.seo-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:700px){.site{padding:0}.frame{min-height:100svh;padding:14px}.viewport,.mountains,.snow{inset:14px}.mountains,.snow{width:calc(100% - 28px);height:calc(100% - 28px)}.mountains{width:205%;max-width:none;left:-77%;object-position:center 56%}.header{top:20px;left:26px;right:25px;height:125px;grid-template-columns:120px 1fr 88px}.logo{width:128px;height:72px}.nav{position:absolute;left:0;right:0;top:78px;gap:18px}.nav button{font-size:9px}.languages{gap:7px;padding-top:17px}.languages a{font-size:9px}.hero{left:9%;right:6%;top:24%}.hero h1{font-size:clamp(46px,14vw,70px)}.hero p{font-size:10px}.place{left:61%;top:47%;font-size:30px}.panel{inset:142px 5% 5%;padding:70px 9% 40px}.panel h2{font-size:38px}.frame[data-view=experience] [data-section=experience]{grid-template-columns:1fr;gap:20px}.frame[data-view=experience] .copy p{display:none}.gallery{aspect-ratio:1}.frame:not([data-view=home]) .mountains,.frame:not([data-view=home]) .snow{transform:translateY(53%) scale(1.04)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.mountains,.snow,.hero,.place,.panel,.slides img{transition:none!important}.snow{display:none}}
.logo{padding:0;border:0;background:transparent;cursor:pointer}.logo img{display:block}
@media(max-width:700px){.hero h1{font-size:clamp(42px,12vw,58px);letter-spacing:-.055em}}
.art{position:absolute;inset:clamp(12px,2.2vw,30px);overflow:hidden;background:var(--ink)}.art .viewport,.art .mountains,.art .snow{inset:0;width:100%;height:100%}.art .mountains{transform:scale(1.035);object-position:center 61%}.hero{top:23%}.place{top:27%}.frame:not([data-view=home]) .art .mountains,.frame:not([data-view=home]) .art .snow{transform:translateY(42%) scale(1.07)}html[lang=fr] .hero h1{font-size:clamp(44px,5.8vw,86px)}
@media(max-width:700px){.art{inset:14px}.art .mountains{left:-77%;width:205%;height:100%;transform:scale(1.025);object-position:center 58%}.art .snow{left:0;width:100%;height:100%}.hero{top:20%}.place{top:42%}.frame:not([data-view=home]) .art .mountains{transform:translateY(47%) scale(1.08)}.frame:not([data-view=home]) .art .snow{transform:translateY(47%)}html[lang=fr] .hero h1{font-size:clamp(38px,10.6vw,48px)}}
.art .mountains{object-position:center 40%}.hero{top:20%}.place{top:18%}
@media(max-width:700px){.art .mountains{object-position:center 44%}.hero{top:18%}.place{top:34%}}
.wa{display:inline-flex;width:25px;height:25px;flex:0 0 25px}.wa svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.frame:not([data-view=home]) .art .mountains{transform:translateY(20%) scale(1.45)}.frame:not([data-view=home]) .art .snow{transform:none}
@media(max-width:700px){.frame:not([data-view=home]) .art .mountains{transform:translateY(20%) scale(1.45)}.frame:not([data-view=home]) .art .snow{transform:none}}
html,body,.site{background:var(--ivory)}
