/* A quiet opening, followed by the existing site in the same document. */
body>header,:root[data-theme=light] body>header{background:color-mix(in srgb,var(--bg) 38%,transparent);border-bottom-color:transparent;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:opacity .35s,background .35s}
body.opening-visible>header{opacity:0;visibility:hidden;pointer-events:none}
.studio-opening{min-height:100svh;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--bg);padding:90px 24px 145px}
.opening-brand .logo-window{width:clamp(260px,37vw,470px);height:auto;aspect-ratio:2.14;margin:auto!important;mix-blend-mode:normal}
.opening-signature{font:clamp(28px,3.5vw,48px)/1.3 Georgia,serif;color:var(--gold);letter-spacing:.02em;margin-top:28px}
.opening-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;white-space:nowrap;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.opening-scroll>span:last-child{font-size:25px;color:var(--gold);animation:scroll-cue 2.4s ease-in-out infinite}
@keyframes scroll-cue{50%{transform:translateY(7px)}}
.date-picker-trigger{width:100%;min-height:70px;border:1px solid var(--rule);background:transparent;color:var(--ink);padding:16px 18px;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:20px;margin-top:10px;font-size:17px}
.date-picker-trigger small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.date-picker-trigger>span:last-child{font-size:25px;color:var(--gold)}
.date-dialog{width:min(540px,calc(100vw - 24px));max-height:calc(100svh - 32px);overflow:auto;border:1px solid var(--rule);padding:28px;background:var(--bg);color:var(--ink);box-shadow:0 25px 100px #0005}
.date-dialog::backdrop{background:#0008;backdrop-filter:blur(5px)}
.date-dialog-top{display:flex;justify-content:space-between;align-items:start;gap:20px}.date-dialog h2{font-size:30px;letter-spacing:-.6px}.date-dialog p{font-size:11px;color:var(--muted);margin:8px 0 24px}.calendar-close,.calendar-nav button{border:1px solid var(--rule);background:transparent;color:var(--ink);min-height:44px;min-width:44px;font-size:22px}
.calendar-nav{display:flex;align-items:center;gap:10px;margin-bottom:22px}.calendar-selects{display:flex;flex:1;gap:6px}.calendar-selects select{min-width:0;width:auto;flex:1;margin:0;padding:10px 6px;border:1px solid var(--rule);background:var(--bg);color:var(--ink);font-size:15px;min-height:46px}
.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week span{text-align:center;font-size:11px;color:var(--muted);padding:5px 0 12px}.calendar-days button{min-width:0;min-height:48px;border:1px solid transparent;background:transparent;color:var(--ink);font-size:17px;border-radius:3px}.calendar-days button:disabled{opacity:.22;cursor:default}.calendar-days button[aria-current=date]{border-color:var(--gold)}.calendar-days button[aria-pressed=true]{background:var(--gold);color:var(--bg)}.calendar-days button:not(:disabled):hover{background:var(--ink);color:var(--bg)}.calendar-days button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.calendar-bottom{border-top:1px solid var(--rule);margin-top:22px;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-bottom button{font-size:11px;color:var(--gold);border:0;border-bottom:1px solid var(--rule);padding:8px 0;background:transparent}.calendar-bottom span{font-size:10px;color:var(--muted)}
@media(max-width:520px){.date-dialog{padding:22px 16px}.date-dialog h2{font-size:26px}.calendar-days button{min-height:46px}.calendar-nav{gap:7px}.calendar-selects select{font-size:14px}.opening-signature{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.opening-scroll>span:last-child{animation:none}html{scroll-behavior:auto}body>header{transition:none}}
/* Restrained movement: short fades, no scroll locking or navigation delay. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-fade-out .22s ease both}
::view-transition-new(root){animation:page-fade-in .32s ease both}
@keyframes page-fade-out{to{opacity:0}}
@keyframes page-fade-in{from{opacity:0}to{opacity:1}}
@keyframes opening-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.opening-brand{animation:opening-arrive .85s cubic-bezier(.2,.65,.3,1) both}
.opening-signature{font-size:clamp(28px,3.2vw,44px);line-height:1.3;letter-spacing:0}
body:not([data-page=accueil]) main{animation:page-fade-in .45s ease both}
.scroll-reveal{opacity:0;transform:translateY(var(--reveal-offset,18px));transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.scroll-reveal.is-revealed{opacity:1;transform:none}
.scroll-reveal:focus-within{opacity:1;transform:none;transition-delay:0ms}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}.opening-brand,body:not([data-page=accueil]) main{animation:none}.scroll-reveal{opacity:1;transform:none;transition:none}::view-transition-old(root),::view-transition-new(root){animation:none}}
