/* The window is a real navigation surface; title loading is decorative. */
.hero-services-link{display:inline-flex;align-items:center;min-height:44px;margin-top:22px;color:#e0eaff;font-size:16px;font-weight:600;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#98b8ff88}.hero-services-link:hover{text-decoration-color:currentColor}.hero-services-link:focus-visible{outline:2px solid #c8dcff;outline-offset:5px;border-radius:3px}
.hero{overflow:clip}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px 36px;padding-bottom:60px}
.hero-description{max-width:490px}.desktop-station{grid-column:2;grid-row:1/3;min-width:0;perspective:1400px;position:relative;align-self:center}
.desktop-window{position:relative;inset:auto;display:block;width:100%;max-width:none;margin:0;padding:0;overflow:visible;border:1px solid #b9ceff91;border-radius:25px;color:#f4f7ff;background:linear-gradient(140deg,#19499fda,#1b2757eb 48%,#472580ee);box-shadow:inset 0 1px #fff5,0 28px 75px #0006,0 0 75px #4466ff30;transform:translateZ(0);transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .4s;isolation:isolate}
.desktop-window:before{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(400px circle at var(--desk-x,85%) var(--desk-y,15%),#789bff36,transparent 65%)}
.desktop-window .app-titlebar{border-radius:24px 24px 0 0;padding:13px 17px;background:#cedeff0d;gap:10px;position:relative;min-height:65px}
.desktop-window .app-titlebar>span:nth-child(2){font-size:14px;color:#d8e4ff}.desktop-window .app-emblem{font-size:28px}.desktop-controls{margin-left:auto;display:flex;gap:5px}
.desktop-controls button{width:40px;height:40px;display:grid;place-items:center;border:1px solid #d6e0ff36;border-radius:10px;color:#e8eeff;background:#b5d0ff0a;transition:background .2s}
.desktop-controls button:hover{background:#bdd2ff2e}.desktop-controls button:focus-visible{outline-offset:2px}.window-min-symbol{width:12px;height:2px;background:currentColor}.window-max-symbol{width:12px;height:12px;border:1.5px solid currentColor;border-radius:2px}
.desktop-content{padding:26px}.desktop-content>p{margin:0 0 8px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#c1d5ff}.desktop-content h2{font-size:30px;line-height:1.22;margin:0 0 26px;letter-spacing:-.035em;max-width:390px}
.desktop-shortcuts{display:grid;gap:10px}.desktop-shortcut{width:100%;display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #c1d3ff4d;border-radius:15px;background:linear-gradient(115deg,#a9cbff12,#adc0ff06);color:#f7f9ff;text-align:left;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s;min-width:0}
.desktop-shortcut>span:first-child{display:grid;place-items:center;width:42px;height:46px;flex:0 0 42px;border:1px solid #b4cfff60;border-radius:10px;background:linear-gradient(140deg,#568dff52,#ab6fff4d);font:13px ui-monospace,SFMono-Regular,Consolas,monospace;color:#dfebff}
.desktop-shortcut>span:last-child{min-width:0}.desktop-shortcut strong{display:block;font-size:16px;line-height:1.4;font-weight:650}.desktop-shortcut small{display:block;margin-top:4px;color:#becff0;font-size:13px;line-height:1.5}
.desktop-shortcut--booking{background:linear-gradient(110deg,#1d65ff9e,#8b40f299);border-color:#c3d7ff99}.desktop-shortcut:hover{transform:translateX(5px);border-color:#e0e9ff;box-shadow:0 7px 25px #0c123e55;background-color:#b9d0ff16}
.desktop-statusbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 23px;border-top:1px solid #c0d3ff35;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#b8c9ea;background:#090c271f;border-radius:0 0 24px 24px}.desktop-statusbar button{font-family:inherit;font-size:12px;color:#d6e3ff;padding:4px 0;min-height:32px;border:0;border-bottom:1px solid #becfff45;background:none}
.desktop-restored{padding:28px;text-align:center}.desktop-restored p{color:#c4d6f4;font-size:15px;margin:0 0 18px}.desktop-restored .button{width:100%;font-size:15px}
.desktop-window.is-expanded{position:fixed;inset:0;margin:auto;width:min(820px,calc(100vw - 64px));max-height:calc(100dvh - 64px);overflow:auto;transform:none;z-index:40;box-shadow:0 40px 120px #000b,0 0 100px #7746fa40;background:linear-gradient(135deg,#1b3983,#242253 65%,#4b2878)}
.desktop-window.is-expanded .desktop-content{padding:35px}.desktop-window.is-expanded .desktop-content h2{font-size:42px;max-width:none}.desktop-window.is-expanded .desktop-shortcut{padding:20px}.desktop-window.is-expanded .desktop-shortcut strong{font-size:19px}.desktop-window.is-expanded .desktop-shortcut small{font-size:15px}.desktop-window::backdrop{background:#040919b8;backdrop-filter:blur(12px)}body:has(.desktop-window.is-expanded){overflow:hidden}
.boot-heading{position:relative}.boot-heading>.boot-text{display:block}.boot-heading>.boot-fill{position:absolute;inset:0;display:block;pointer-events:none;clip-path:inset(0 100% 0 0);color:#eaf5ff;text-shadow:0 0 22px #659bff70}
.boot-heading>.boot-text{color:inherit!important;background:none!important;-webkit-text-fill-color:inherit!important;background-clip:border-box!important}
.boot-heading>.boot-progress{position:absolute;left:0;bottom:-11px;width:100px;height:2px;pointer-events:none;background:linear-gradient(90deg,#0b7bff,#d291ff)!important;transform-origin:left;transform:scaleX(0);border-radius:5px;box-shadow:0 0 12px #7b9bff96}
.boot-heading.is-booting .boot-text,.boot-heading.is-booting .boot-text span{color:transparent!important;-webkit-text-fill-color:transparent!important;background-image:linear-gradient(90deg,#eff6ff 0%,#a9baff 45%,#a9baff 50%,#697897 51%,#697897 100%)!important;background-size:205% 100%!important;background-clip:text!important;-webkit-background-clip:text!important;animation:title-load .92s steps(22,end) both}
.boot-heading.is-booting>.boot-progress{animation:title-progress 1.05s cubic-bezier(.2,.7,.3,1) both}
@keyframes title-load{from{background-position:100% 0}to{background-position:0 0}}
@keyframes title-progress{0%{transform:scaleX(0);opacity:1}75%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@keyframes shortcut-boot{from{opacity:.25;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
.desktop-window.is-starting .desktop-shortcut{animation:shortcut-boot .55s cubic-bezier(.2,.8,.2,1) both}.desktop-window.is-starting .desktop-shortcut:nth-child(2){animation-delay:.1s}.desktop-window.is-starting .desktop-shortcut:nth-child(3){animation-delay:.2s}
@media(min-width:901px) and (hover:hover) and (pointer:fine){.desktop-window:not(.is-expanded):hover,.desktop-window:not(.is-expanded):focus-within{transform:translate3d(0,-5px,10px);box-shadow:inset 0 1px #fff7,0 35px 80px #0007,0 0 90px #6147ff42}}
@media(max-width:1100px){.hero-layout{gap:26px}.desktop-content{padding:22px}.desktop-content h2{font-size:28px}.desktop-shortcut{gap:12px;padding:13px}.desktop-window .app-titlebar>span:nth-child(2){font-size:13px}.desktop-controls button{width:35px;height:38px}.desktop-statusbar{padding-inline:19px}}
@media(max-width:900px){.hero-layout{grid-template-columns:1fr;gap:27px;padding-bottom:36px}.desktop-station{grid-column:1;grid-row:3;width:100%;max-width:690px;justify-self:start}.desktop-window{transform:none}.hero-rating{grid-row:2}.desktop-shortcuts{grid-template-columns:1fr}.hero-visual{bottom:-220px}}
@media(max-width:760px){.desktop-window{border-radius:20px}.desktop-window .app-titlebar{border-radius:19px 19px 0 0}.desktop-expand{display:none!important}.desktop-content{padding:23px}.desktop-content h2{font-size:29px}.desktop-shortcut{padding:15px;gap:13px}.desktop-shortcut strong{font-size:16px}.desktop-shortcut small{font-size:14px}.desktop-statusbar{padding:11px 20px}.desktop-window.is-expanded{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.desktop-window.is-expanded .desktop-content{padding:22px}.desktop-window.is-expanded .desktop-content h2{font-size:30px}.desktop-window.is-expanded .desktop-shortcut{padding:15px}.boot-heading.is-booting .boot-text,.boot-heading.is-booting .boot-text span{animation-duration:.5s;animation-timing-function:ease-out}.boot-heading.is-booting>.boot-progress{animation-duration:.6s}.desktop-shortcut:hover{transform:none}}
.desktop-window:before{inset:0}.desktop-window.is-expanded{overflow-x:hidden}body:has(.hero.is-in-view) .assistant-launcher{display:none}
.desktop-profiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-card{display:flex;flex-direction:column;padding:19px 16px;border:1px solid #7caaff99;border-radius:17px;background:linear-gradient(155deg,#145de28c,#122d5fc4);min-width:0}.profile-card.profile-business{border-color:#be99ff99;background:linear-gradient(155deg,#7840c88a,#39235fbb)}.profile-card .profile-kicker{font-size:12px;line-height:1.5;letter-spacing:.035em;color:#ccdeff;margin:0 0 10px;min-height:36px}.profile-business .profile-kicker{color:#e3d5ff}.profile-card h3{font-size:25px;line-height:1.2;letter-spacing:-.03em;margin:0 0 12px;color:#fff}.profile-card>p:not(.profile-kicker){font-size:14px;line-height:1.6;margin:0 0 23px;color:#d4e3ff}.profile-business>p:not(.profile-kicker){color:#e4d9fa}.profile-actions{display:grid;gap:10px;margin-top:auto}.profile-action{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:59px;padding:11px 10px;width:100%;border:1px solid #a7c9ff85;border-radius:11px;background:#142e62b3;color:#f7faff;font-size:14px;font-weight:650;line-height:1.4;text-align:center;transition:background .2s,transform .2s,border-color .2s}.profile-action-primary{background:linear-gradient(120deg,#236df4,#3e71e6);border-color:#bbd5ff8c}.profile-business .profile-action-primary{background:linear-gradient(120deg,#7c46da,#9154e6);border-color:#d7b7ff99}.profile-action-chat span{color:#c7ddff;font-weight:500;font-size:13px}.profile-action:hover{transform:translateY(-2px);border-color:white;filter:brightness(1.12)}.profile-action:focus-visible{outline:3px solid white;outline-offset:3px}.desktop-window.is-starting .profile-card{animation:shortcut-boot .55s cubic-bezier(.2,.8,.2,1) both}.desktop-window.is-starting .profile-business{animation-delay:.12s}.desktop-window.is-expanded .profile-card{padding:27px}.desktop-window.is-expanded .profile-card h3{font-size:32px}.desktop-window.is-expanded .profile-action{font-size:16px}.audience-summary>div{border-color:#629eff8c;background:linear-gradient(130deg,#1751a74a,#13305b3b)}.audience-summary>a{border-color:#ac80f38c;background:linear-gradient(130deg,#7239ba4d,#43206345)}.header nav>a:first-child{color:#bcd8ff}.header nav .nav-business{color:#e0c5ff}.mobile-routes a:first-child{border-color:#6096ee80;background:#2658a13b}.mobile-routes a:last-child{border-color:#b281f080;background:#723caa38}.form-panel .customer-type label{border-width:2px}.form-panel .customer-type label:has(input:checked){background:#1d58ab55;border-color:#90bbff}.form-panel .customer-type label:has(input[value=Professionnel]:checked){background:#7940b74a;border-color:#c39aff}.quick-booking-bar>a[data-diagnosis]{flex-direction:column;gap:0;line-height:1.35}.quick-booking-bar>a[data-diagnosis] span{font-size:12px;font-weight:500;color:#c4d8ff}
@media(max-width:1100px) and (min-width:901px){.desktop-content{padding:19px}.desktop-profiles{gap:10px}.profile-card{padding:17px 12px}.profile-card h3{font-size:22px}.profile-action{font-size:13px}}
@media(max-width:760px){.desktop-content h2{font-size:27px}.desktop-profiles{grid-template-columns:1fr;gap:16px}.profile-card{padding:22px}.profile-card .profile-kicker{min-height:0;font-size:13px;margin-bottom:9px}.profile-card h3{font-size:27px;margin-bottom:9px}.profile-card>p:not(.profile-kicker){font-size:15px;margin-bottom:18px}.profile-action{font-size:15px;min-height:52px}.profile-action-chat span{font-size:14px}.profile-action:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.desktop-window.is-starting .profile-card{animation:none!important}.profile-action{transition:none;transform:none!important}}
@media(prefers-reduced-motion:reduce){.desktop-window,.desktop-shortcut{transition:none!important;transform:none!important}.desktop-window.is-starting .desktop-shortcut{animation:none!important}.boot-heading.is-booting>.boot-text{opacity:1}.boot-heading>.boot-fill,.boot-heading>.boot-progress{display:none!important}}

/* Finite OS-style entrance, circuit traces and pointer-driven glass. */
.desktop-station{isolation:isolate}
.desktop-circuit{position:absolute;inset:-42px -44px;width:calc(100% + 88px);height:calc(100% + 84px);pointer-events:none;z-index:-1;overflow:visible;opacity:.65}
.desktop-circuit path{fill:none;stroke:#57aeff;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}
.desktop-circuit path:nth-child(even){stroke:#b07bff}
.desktop-station.is-starting .desktop-circuit path{animation:circuit-connect 1.4s var(--trace-delay) cubic-bezier(.25,.75,.2,1) both}
.desktop-window:before{background:radial-gradient(360px circle at var(--desk-x,85%) var(--desk-y,15%),#a8cfff4a,transparent 65%);transition:opacity .4s}
.desktop-window .app-titlebar{overflow:hidden}
.desktop-window .app-titlebar:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#d7eaff38 48%,transparent 75%);transform:translateX(-150%);opacity:0}
.desktop-station.is-starting .app-titlebar:after{animation:glass-start 1.5s .1s cubic-bezier(.2,.8,.3,1) both}
.profile-card{position:relative;isolation:isolate;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .4s}
.profile-card:before{content:"";position:absolute;inset:-1px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 0 0,#9ecfff35,transparent 65%);opacity:.35;transition:opacity .35s}
.profile-business:before{background:radial-gradient(ellipse at 100% 0,#dca5ff40,transparent 65%)}
.profile-action{position:relative;overflow:hidden;isolation:isolate}
.profile-action:after{content:"";position:absolute;inset:-60% -20%;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 30%,#fff3 50%,transparent 70%);transform:translateX(-125%);transition:transform .65s cubic-bezier(.16,1,.3,1)}
.profile-action:active{scale:.97}
.desktop-statusbar{min-height:52px;position:relative;overflow:hidden}
.desktop-statusbar:after{content:"";position:absolute;bottom:0;left:0;height:2px;width:100%;background:linear-gradient(90deg,#32acff,#9662ff,#dd9aff);transform:scaleX(0);transform-origin:left;opacity:0;pointer-events:none}
.desktop-station.is-starting .desktop-statusbar:after{animation:system-load 1.45s cubic-bezier(.2,.75,.2,1) both}
@keyframes circuit-connect{0%{stroke-dashoffset:1;opacity:0}20%{opacity:1}100%{stroke-dashoffset:0;opacity:.65}}
@keyframes glass-start{0%{transform:translateX(-150%);opacity:0}25%{opacity:1}100%{transform:translateX(150%);opacity:0}}
@keyframes system-load{0%{transform:scaleX(0);opacity:1}65%{transform:scaleX(.75);opacity:1}85%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@media(min-width:901px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .desktop-window:not(.is-expanded){transform:translateZ(0);transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .4s}
  .desktop-window:not(.is-expanded):hover{transform:translate3d(0,-6px,12px);box-shadow:inset 0 1px #fff7,0 40px 90px #0007,0 0 90px #5c64ff55}
  .desktop-window:not(.is-expanded):focus-within{transform:translate3d(0,-3px,6px)}
  .profile-card:hover{transform:translateY(-5px);border-color:#cde1ff;box-shadow:0 15px 40px #05133566,inset 0 1px #ffffff50}
  .profile-business:hover{border-color:#e3caff;box-shadow:0 15px 40px #260c4b66,inset 0 1px #ffffff50}
  .profile-card:hover:before{opacity:1}.profile-action:hover:after{transform:translateX(125%)}
}
@media(max-width:900px){.desktop-circuit{display:none}.desktop-station.is-starting .app-titlebar:after{animation-duration:.65s}.desktop-station.is-starting .desktop-statusbar:after{animation-duration:.65s}}
@media(prefers-reduced-motion:reduce){.desktop-circuit,.app-titlebar:after,.desktop-statusbar:after,.profile-card:before,.profile-action:after{display:none!important}.profile-card,.profile-action{transition:none!important;transform:none!important;scale:none!important}}
html[data-motion=off] .desktop-circuit,html[data-motion=off] .app-titlebar:after,html[data-motion=off] .desktop-statusbar:after{animation-play-state:paused!important}
@media(min-width:1101px){.desktop-window:not(.is-expanded) .desktop-content{padding:28px}.desktop-window:not(.is-expanded) .profile-card{padding:22px 18px}.desktop-window:not(.is-expanded) .profile-action{min-height:62px}}
