/* Phone layout shared by the home page and the secondary pages. */
.mobile-explore,.roadmap-controls{display:none}
.skip-content{position:fixed;z-index:100001;top:8px;left:12px;padding:14px 20px;border-radius:8px;background:#fff;color:#12334b;transform:translateY(-160%)}
.skip-content:focus{transform:none}
/* The home desktop intro reserves 320px for its text; stack it on smaller screens. */
@media(max-width:980px){
  .p360-home #besoin>.hero-copy{grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
  .p360-home #besoin>.hero-copy>p{margin:0;max-width:100%}
}
@media(max-width:760px),(max-width:980px) and (max-height:500px){
  /* clip does not create a second vertical scroll container. */
  html{height:auto;min-height:100%;overflow-x:clip;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
  body,.p360-home{height:auto;min-height:100svh;overflow-x:clip;overflow-y:visible}
  body.menu-open{overflow:clip}
  *,*::before,*::after{box-sizing:border-box}
  :is(main,footer,section,article,form,aside)>*{min-width:0}
  [id]{scroll-margin-top:88px}
  :is(a,button,input,select,textarea,summary){-webkit-tap-highlight-color:rgba(0,119,200,.12)}
  :is(a,button,summary){touch-action:manipulation}
  :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #0077c8;outline-offset:4px}
  :is(.pill,.button,.choice-button,.booking-back,.filter-button){min-height:48px;font-size:13px;line-height:1.35;padding:12px 18px;text-align:center;white-space:normal}
  :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important;max-width:100%;border-radius:8px}
  input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:#008878;flex:0 0 20px}
  :is(h1,h2,h3){overflow-wrap:anywhere}
  .ui-word{max-width:100%;overflow-wrap:anywhere}
  .section{padding:56px 20px}
  .p360-home .panel{padding:56px 20px}
  .section-head{gap:14px;margin-bottom:28px}
  .section-head p{margin-bottom:0}
  :is(main,.site-main) p{font-size:16px;line-height:1.65}
  .kicker{font-size:11px;line-height:1.5;margin-bottom:14px;opacity:1}
  .tag,.num{opacity:1;font-size:11px;line-height:1.4}
  .accent-lpp{color:#6451cf}.accent-3a{color:#087f70}.accent-tax{color:#b85b20}.accent-blue{color:#00649f}
  .section:not(.dark) .kicker{color:#456477}
  .page-hero:not(.blog-hero),.page-hero.dark{padding:42px 20px 40px;min-height:0}
  .page-hero .hero-inner{grid-template-columns:minmax(0,1fr);gap:24px}
  .page-hero .lead{font-size:17px;line-height:1.6;margin-bottom:22px}
  .page-hero .hero-card{padding:20px}
  .page-hero .hero-card p:last-child{margin-bottom:0}
  .page-hero .pill{width:100%;justify-content:center}
  .page-hero .badges{gap:6px}
  .page-hero .badges span{font-size:10px;line-height:1.4;padding:7px 10px}
  .grid-3,.grid-2,.cv-grid,.cv-strip,.lpp-deliverables-grid,.workshop-program-grid{grid-template-columns:minmax(0,1fr)}
  :is(.card,.article-card,.process-card,.trust-card){padding:20px;box-shadow:0 8px 22px rgba(21,62,93,.045)}
  :is(.card,.article-card,.process-card,.trust-card) p:last-child{margin-bottom:0}

  /* Same legible, thumb-sized header on every page. */
  .p360-home>header,.site-header,.site-header.is-compact,.p360-home>header.is-compact{
    top:0;left:0;right:0;width:100%;height:calc(64px + env(safe-area-inset-top,0px));
    padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));
    margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;border-radius:0;
    background:rgba(248,251,253,.97);color:#12334b;border:0;border-bottom:1px solid rgba(24,90,122,.12);
    box-shadow:0 4px 18px rgba(10,22,40,.035);transition:box-shadow .2s ease
  }
  .header-brand,.brand-link{font-size:11px;font-weight:700;overflow:visible;text-overflow:clip}
  .p360-home header .nav,.site-nav,.header-cta,.p360-home .menu-pill,.header-phone{display:none!important}
  .language-picker{gap:6px}
  .language-picker>.swiss-flag{display:block;width:20px;height:20px;animation:none;filter:none}
  .language-toggle,.site-header.is-compact .language-toggle{height:44px;min-width:52px;padding:0 9px;box-shadow:none;font-size:12px}
  .language-toggle .language-flag{display:none}
  .language-menu{top:50px;right:0;width:196px;border-radius:12px;padding:6px}
  .language-option{min-height:48px;font-size:14px}
  .nav-toggle,.menu-button{position:relative;width:64px;height:44px;padding:0;border:1px solid rgba(24,90,122,.22);border-radius:10px;background:#fff;color:#12334b;display:flex;align-items:center;justify-content:center;box-shadow:none}
  .nav-toggle-label{display:block;font-size:12px;font-weight:700}
  .nav-toggle-icon{display:none}
  .menu-button:before{content:'Menu';width:auto;height:auto;margin:0;background:none;transform:none!important;font-size:12px;font-weight:700}
  .menu-button:after{display:none}
  .mobile-menu{z-index:1000;height:100dvh}
  .mobile-menu-panel{width:min(440px,100%);height:100%;padding:calc(12px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));background:#f4f8fb;overscroll-behavior-y:contain;scrollbar-width:thin}
  .mobile-menu-panel:before{display:none}
  .mobile-menu-head{position:sticky;top:calc(-12px - env(safe-area-inset-top,0px));z-index:2;background:#f4f8fb;padding:8px 0 12px;flex:0 0 auto}
  .mobile-menu-title{font-size:12px;font-weight:700}
  .mobile-menu-close{width:44px;height:44px;flex:0 0 44px;background:#fff}
  .mobile-menu-nav{margin-top:12px;gap:2px}
  .mobile-menu-nav a{min-height:48px;padding:12px 14px;font-size:21px;line-height:1.2;font-weight:500;border:0;border-radius:8px;transition:background .2s ease;color:#12334b}
  .mobile-menu-nav a[aria-current=page]{background:#e3eff5;color:#006b9a;font-weight:700}
  .mobile-menu-nav a:after{color:#4a7392}
  .mobile-menu-contact{grid-template-columns:1fr 1fr;gap:10px;padding-top:20px;margin-top:auto}
  .mobile-menu-contact a{min-height:56px;padding:12px;border-radius:8px;font-size:11px;line-height:1.5;text-transform:none;display:flex;align-items:center;justify-content:center;text-align:center}

  /* Keep the mountain sequence; make the service links reachable sooner. */
  .p360-home .stage{height:300svh}
  .p360-home .sticky{height:100svh}
  .p360-home .brand{top:46%;width:calc(100% - 40px)}
  .p360-home .brand .hero-lead{font-size:16px;line-height:1.55}
  .p360-home .hero-actions .button{font-size:12px;min-height:48px}
  .p360-home .sub{font-size:10px;line-height:1.5}
  .p360-home .chapter{top:25%;left:20px;right:20px}
  .p360-home .chapter p{font-size:16px;line-height:1.6;opacity:1}
  .p360-home .scroll{display:none}
  .mobile-explore{position:absolute;z-index:8;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:20px;display:inline-flex;align-items:center;gap:12px;min-height:44px;max-width:calc(100% - 144px);color:#12334b;background:rgba(247,251,253,.88);padding:10px 14px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none;pointer-events:auto}
  .p360-home .cloud-divider{overflow:clip}
  .p360-home .cloud-small{display:none}
  .p360-home .cloud-bank,.p360-home .cloud-bank .mass,.p360-home .cloud-bank .veil{animation:none;filter:none}
  .p360-home .cloud-bank{filter:blur(10px)}
  .p360-home .organic-wire{display:none}
  #vision.home-orientation,#deroulement.home-process-section{padding:52px 20px}
  .home-orientation-grid{gap:26px}
  .home-orientation .orientation-services{padding:0;margin:0}
  .orientation-actions .button{width:100%}
  .home-process-section .process-step,.home-process-section .process-step:first-of-type{padding:24px 0;gap:12px;align-items:start}
  .home-process-section .process-step-media{grid-column:2;max-width:300px;margin:0;aspect-ratio:3/2}
  .process-step-media img,.lpp-timeline-media img{max-width:100%}
  .home-process-section .process-step,.home-process-section .process-step.is-past,#parcours-3a .lpp-timeline-step,#parcours-3a .lpp-timeline-step.is-past{opacity:1;transform:none}
  .home-process-section .process-phase{margin-bottom:10px}
  .p360-home .home-grid-4{margin-top:26px;gap:14px}
  .p360-home .home-need-card{padding:20px;gap:10px;min-height:0;border-radius:10px}
  .p360-home .home-need-card h3{margin:0;font-size:24px!important}
  .p360-home .home-need-card p{margin:0 0 8px}
  .p360-home .home-need-card .mini,.p360-home .home-need-card .duration{font-size:12px;line-height:1.5}
  .p360-home .home-need-card .mini,.p360-home .home-need-card .duration{color:color-mix(in srgb,var(--accent,#0077c8) 66%,#0a1628)}
  .p360-home .home-need-card .button{margin-top:auto}
  .p360-home .pillar-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:24px}
  .p360-home .pillar-fact{padding:12px 8px;font-size:10px;line-height:1.5}
  .p360-home .pillar-fact strong{font-size:22px;margin-bottom:8px}
  .p360-home .booking-card{border-radius:12px;padding:20px}
  .choice-grid{grid-template-columns:1fr!important}
  .choice-button{min-height:48px;font-size:14px}
  .booking-step{padding:14px 0}
  .booking-step p{margin:6px 0 0!important;font-size:14px!important}
  .accompaniment-option p{font-size:15px!important;line-height:1.6}
  .home-trust-card{border-radius:8px}

  /* Swipeable roadmaps expose the next step and also have real buttons. */
  .avs-roadmap-viewport{margin:0;padding:8px 0 16px;width:100%;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain}
  .avs-horizontal-roadmap{width:100%!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:86%;gap:12px}
  .avs-horizontal-roadmap .avs-roadmap-track{display:none}
  .avs-horizontal-roadmap .avs-roadmap-step{scroll-snap-align:start;padding:20px;border:1px solid rgba(24,90,122,.15);border-radius:10px;background:rgba(255,255,255,.86);opacity:1!important;transform:none!important}
  .avs-horizontal-roadmap .avs-roadmap-marker{width:40px;height:40px;margin:0 0 20px;box-shadow:none!important;font-size:12px}
  .avs-horizontal-roadmap .avs-roadmap-step p{font-size:16px;line-height:1.6}
  .roadmap-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 0}
  .roadmap-controls>span{font-size:12px;line-height:1.5;color:#456477}
  .roadmap-controls>div{display:flex;gap:8px}
  .roadmap-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(24,90,122,.24);border-radius:50%;background:#fff;color:#12334b;font-size:23px;cursor:pointer}
  .roadmap-controls button:disabled{opacity:.3;cursor:default}
  .lpp-deliverable-item{padding:20px;min-height:0}
  .lpp-deliverable-top{margin-bottom:18px}
  .lpp-deliverable-item h3{margin-bottom:10px}
  .lpp-deliverable-item p{font-size:16px}
  .lpp-deliverable-icon{width:40px;height:40px}
  #parcours-3a .lpp-timeline-step{padding:24px 0;align-items:start;gap:12px}
  #parcours-3a .lpp-timeline-media{max-width:300px;margin:0}
  .lpp-timeline-intro{margin-bottom:22px}
  .lpp-roadmap-support{gap:32px}
  .pillar3-support-grid,.pillar3-deeper-grid,.plan-faq-resources-grid{gap:32px}
  .pillar3-related-articles,.pillar3-resources-column,.plan-related-articles{padding-top:32px}
  .workshop-program-card{min-height:0}
  .workshop-program-card p{margin-bottom:0}
  .team-mini-cta{padding:22px}
  .cv-profile,.cv-profile.reverse{padding:20px;grid-template-columns:minmax(0,1fr);gap:20px}
  .cv-profile .portrait{min-height:180px;max-height:220px}
  .cv-block{padding:16px}
  .cv-block li{font-size:16px;line-height:1.6}
  .team-trust-card{padding:20px}
  .team-trust-index{margin-bottom:16px}

  /* Contact stays light, with a readable title and a continuous consent line. */
  .contact-layout{gap:32px}
  .contact-form-wrap{padding:22px 18px;border-radius:8px}
  .contact-form-head{gap:12px}
  .contact-form-head h2 .ui-word-visual,.contact-form-head h2 .ui-word{padding:0;border:0;color:inherit;font:inherit;text-transform:none}
  .contact-form-head h2 .ui-word-visual{display:block}
  .contact-form-head>span{font-size:10px;border-radius:6px}
  .contact-form-actions{gap:14px}
  .contact-submit{min-height:50px;font-size:14px}
  .contact-form-status{font-size:13px;line-height:1.6}
  .contact-channel{padding:14px;border-radius:8px;grid-template-columns:40px minmax(0,1fr) 18px}
  .contact-channel .contact-channel-icon{display:grid;place-items:center;margin:0;color:#fff;font-size:11px}
  .contact-channel>span:nth-child(2){margin:0}
  .contact-channel strong{font-size:14px;text-transform:none;overflow-wrap:anywhere}
  .contact-channel .contact-channel-arrow{font-size:22px;margin:0}
  .contact-map{margin-top:28px}
  .contact-map-frame{height:280px}
  .consent,.home-capture label{display:block;position:relative;padding-left:30px;font-size:13px;line-height:1.65;min-height:44px;text-align:left}
  .consent input,.home-capture label input{position:absolute;left:0;top:1px;margin:0}
  .consent a{display:inline;text-underline-offset:3px}
  .capture-box,.guide-box,.home-capture{padding:20px;border-radius:10px}
  .capture-form input[type=email],.home-capture input[type=email]{min-height:50px}
  .article-search{height:50px;min-width:0}
  .filter-bar{scrollbar-width:thin;scroll-padding-inline:0;scroll-snap-type:x proximity;padding-bottom:8px}
  .filter-button{scroll-snap-align:start;font-size:13px}
  .blog-hero{padding:42px 20px 40px}
  .article-layout .toc{white-space:normal;display:grid;gap:6px;overflow:visible;padding:16px}
  .article-layout .toc a{min-height:44px;font-size:14px;line-height:1.5;padding:10px 12px}
  .article-body{overflow-wrap:anywhere}
  .article-body ul,.article-body ol{padding-left:22px}
  .article-body li,.legal-content li{font-size:16px;line-height:1.65}

  /* Bottom sheet fits small phones; dates stay on a single row. */
  .rdv-float{bottom:calc(12px + env(safe-area-inset-bottom,0px));right:12px;width:auto;min-width:94px;height:48px;padding:0 12px;gap:8px;border-radius:999px;background:#f7fbfd}
  .rdv-float-date{width:28px;height:32px;transform:none}
  .rdv-float-text{position:static;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;white-space:normal;font-size:12px;font-weight:700}
  body.rdv-open .rdv-float,body.mobile-input-active .rdv-float,body.mobile-cta-visible .rdv-float{opacity:0;visibility:hidden;pointer-events:none}
  body>.rdv-panel{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;max-height:calc(var(--p360-viewport-height,100dvh) - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:0 16px 16px;border-radius:18px;box-shadow:0 12px 70px rgba(3,28,43,.32);background:#f5f9fc;overscroll-behavior-y:contain;scroll-padding-block:72px 16px}
  .rdv-panel-head{position:sticky;top:0;z-index:3;padding:12px 0;background:#f5f9fc;gap:12px}
  .rdv-panel-title{font-size:12px;text-transform:none;line-height:1.5;color:#12334b;font-weight:700}
  .rdv-panel-close,.rdv-week-nav{width:44px;height:44px;flex:0 0 44px;min-height:44px;font-size:23px;border-radius:10px;background:#fff}
  .rdv-advisor{grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:12px 0}
  .rdv-avatar{width:36px;height:36px;font-size:11px}
  .rdv-advisor strong{font-size:14px}
  .rdv-advisor span,.rdv-selected{font-size:12px;line-height:1.5}
  .rdv-price{grid-column:auto;font-size:16px;text-align:right;white-space:nowrap}
  .rdv-price span{font-size:10px}
  .rdv-field{padding:12px 0}
  .rdv-field label{display:block;font-size:11px;margin-bottom:8px}
  .rdv-select{height:48px;background:#fff}
  .rdv-week-head{padding-top:12px;gap:8px}
  .rdv-week-head>div{text-align:center}
  .rdv-week-label{display:block;margin-bottom:4px;font-size:10px}
  #rdvWeekRange{display:block;font-size:14px}
  .rdv-days{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:10px}
  .rdv-day{min-height:66px;padding:8px 2px;border-radius:8px}
  .rdv-day small{font-size:9px}
  .rdv-day strong{font-size:20px}
  .rdv-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
  .rdv-slot{height:44px;font-size:14px;border-radius:8px}
  .rdv-confirm{display:grid;gap:12px;padding-top:14px}
  .rdv-confirm .button,.rdv-confirm .pill{min-height:50px;width:100%;font-size:14px;background:#0a1628;color:#fff}
  .booking-page{padding-top:36px}
  .booking-page .rdv-panel{padding:0 16px 16px;border-radius:14px;background:#f5f9fc;scroll-margin-top:80px}
  .booking-page .rdv-panel-head{position:static}

  .footer.premium-footer,.p360-home .contact-section{padding:56px 20px calc(84px + env(safe-area-inset-bottom,0px))}
  .premium-footer-main,.contact-footer{gap:28px}
  .footer-mini-resources{grid-template-columns:minmax(0,1fr);gap:12px}
  .footer .footer-mini-resource,.p360-home .footer-mini-resource{padding:18px;min-height:0;border-radius:8px}
  .footer-mini-resource p{font-size:14px!important;line-height:1.6!important}
  .footer-mini-resource b,.footer-mini-resource span{font-size:11px!important;line-height:1.5}
  .premium-footer .contact-card,.p360-home .contact-card{padding:18px}
  .premium-footer .contact-modes,.p360-home .contact-modes{grid-template-columns:minmax(0,1fr)}
  .contact-mode{min-height:64px;border-radius:6px}
  .contact-mode strong{font-size:15px!important;overflow-wrap:anywhere}
  .contact-mode span{font-size:11px!important}
  .footer-quick a{width:44px;height:44px}
  .premium-footer .footer-directory,.p360-home .footer-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;margin-top:32px;padding:28px 0}
  .footer-signature{grid-column:1/-1}
  .footer-links a{display:flex;align-items:center;min-height:44px;font-size:14px!important;line-height:1.45;padding:8px 0;opacity:1}
  .footer-links>span{font-size:11px!important}
  .footer-min{font-size:12px!important;line-height:1.65!important}
  .footer-min a{display:inline-block;min-height:32px;padding:6px 0}
  .contact-address{font-size:13px!important;line-height:1.6!important}

  /* Keep quick scrolling readable and avoid expensive text blur on phones. */
  .motion-ready .reveal,.motion-ready .ui-reveal,html.motion-ready .reveal-text{filter:none!important;transition-duration:.28s!important;transition-delay:0s!important}
  .motion-ready .ui-word-reveal .ui-word{opacity:1;translate:none;filter:none;transition:none;will-change:auto}
  .avs-roadmap-step,.process-step,.lpp-timeline-step{will-change:auto}
}
@media(max-width:980px) and (max-height:600px){
  .p360-home .brand{top:calc(50% + 24px)}
  .p360-home .brand .logo,.p360-home .brand .sub{display:none}
  .p360-home .brand h1{font-size:39px;line-height:.98}
  .p360-home .hero-actions{grid-template-columns:1fr 1fr;max-width:100%;margin-top:12px}
  .p360-home .hero-actions .button{padding:10px;font-size:11px}
  .p360-home .brand .hero-lead{margin-top:10px;font-size:14px}
  .mobile-explore{bottom:4px;font-size:11px;background:#f7fbfd}
  .mobile-menu-nav a{min-height:44px;padding-block:10px;font-size:19px}
}
@supports not (overflow:clip){
  @media(max-width:760px){html{overflow-x:hidden}body,.p360-home{overflow:visible}.p360-home .cloud-divider{overflow:hidden}}
}
@media(prefers-reduced-motion:reduce){
  .roadmap-controls button,.mobile-explore{transition:none}
}
