.nav-group{position:relative;min-width:0}
.legal-details details[open]{grid-column:1/-1}
.legal-details details[open] p{max-width:85ch}
.nav-group summary{cursor:pointer;list-style:none;white-space:nowrap}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:focus-visible,.nav-group a:focus-visible{outline:3px solid #c77a37;outline-offset:4px}
.nav-submenu{display:grid;gap:4px;min-width:185px;padding:11px;background:var(--white,#fffdf9);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 35px rgba(16,40,58,.13)}
.nav-submenu a{display:block;padding:8px 10px;border-radius:6px;white-space:nowrap;text-decoration:none}
.nav-submenu a:hover{background:var(--blue)}
.links .nav-group .nav-submenu,.desktop-links .nav-group .nav-submenu{position:absolute;top:calc(100% + 15px);left:-12px;z-index:40}
.nav-start{color:var(--accent-text,var(--accent,#874819));font-weight:700}
.links .nav-start,.desktop-links .nav-start{text-underline-offset:5px}
.nav-prompt{display:none}
@media(max-width:1180px){
  .links,.desktop-links{display:none!important}
  .menu{display:block!important}
  .mobile-panel.open{display:flex!important;flex-direction:column;align-items:stretch;gap:0;padding:10px 22px 18px;border-top:1px solid var(--line);font-size:1rem;font-weight:600;line-height:1.35;max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain}
  .mobile-panel>a,.mobile-panel>.nav-group>summary{display:block;padding:11px 2px;min-height:44px}
  .mobile-panel .nav-divider,.mobile-panel .nav-prompt{display:none}
  .mobile-panel .nav-group{width:100%}
  .mobile-panel .nav-submenu{display:flex;flex-direction:column;gap:0;margin:0 0 5px 9px;padding:0 0 0 15px;min-width:0;border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent}
  .mobile-panel .nav-submenu a{padding:9px 4px;min-height:42px;white-space:normal;font-size:.95rem;font-weight:500}
  .mobile-panel .nav-start{display:block;color:var(--accent-text,var(--accent,#874819))}
}

.orcya-confirmation-brand .brand-y{position:relative;display:inline-block;color:#70283e;overflow:visible}.orcya-confirmation-brand .brand-y::after{content:"";position:absolute;left:50%;bottom:-.12em;width:.82em;height:.22em;border:0;border-bottom:2px solid #70283e;border-radius:0 0 50% 50%;transform:translateX(-50%);opacity:1;pointer-events:none}

/* Menu dessiné à partir du héros ORCYA : bleu profond, crème et trait ocre. */
.service-submenu{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);width:700px;max-width:calc(100vw - 48px);gap:0 36px;padding:30px 32px 22px;background:linear-gradient(110deg,rgba(16,40,58,.99),rgba(16,40,58,.94)),url('/assets/arbre-hero-orcya.webp') center 64%/cover;color:#fffdf9;border:0;border-top:3px solid #c77a37;border-radius:0 0 18px 18px;box-shadow:0 24px 42px rgba(4,17,27,.24)}
.links .service-menu .service-submenu,.desktop-links .service-menu .service-submenu{left:50%;transform:translateX(-50%)}
.service-menu-column{display:flex;flex-direction:column;min-width:0;gap:2px}
.service-submenu a{position:relative;white-space:normal;padding:11px 0;font:400 16px/1.4 'Atkinson Hyperlegible',Arial,sans-serif;color:#fffdf9;border-radius:0;text-decoration:none;text-underline-offset:5px}
.service-submenu a:hover{background:transparent;color:#e5b27d;text-decoration:underline;text-decoration-thickness:1px}
.service-submenu a:focus-visible{outline:2px solid #e5b27d;outline-offset:4px}
.service-submenu .service-menu-heading{align-self:flex-start;padding:0 0 21px;margin-bottom:7px;color:#e8d8c5;font:500 34px/1.08 'Newsreader',Georgia,serif;letter-spacing:-.025em}
.service-submenu .service-menu-heading::before{content:'';position:absolute;left:0;bottom:7px;width:38px;height:2px;background:#c77a37}
.service-submenu .service-menu-heading::after{display:none}
.service-submenu .service-menu-heading:hover{color:#fffdf9;text-decoration:none}
.service-submenu .service-menu-choice{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding:15px 18px;border:1px solid rgba(232,216,197,.35);border-radius:8px;font-weight:700;color:#fffdf9;transition:background .15s}
.service-submenu .service-menu-choice::after{display:none}
.service-submenu .service-menu-choice span{color:#e5b27d}
.service-submenu .service-menu-choice:hover{background:#e8d8c5;color:#10283a;text-decoration:none}
.service-submenu .service-menu-choice:hover span{color:#8b2f4d}
@media(max-width:1180px){
 .mobile-panel.open{position:relative;background:linear-gradient(110deg,rgba(16,40,58,.99),rgba(16,40,58,.93)),url('/assets/arbre-hero-orcya.webp') right 65%/cover;color:#fffdf9;padding:10px 26px 18px;border-top:2px solid #c77a37;max-height:calc(100dvh - 76px)}
 .mobile-panel .nav-group>summary{color:#fffdf9;font-size:16px;font-weight:700}
 .mobile-panel .service-menu>summary{padding:9px 0 12px;font-size:14px;letter-spacing:.03em;color:#e5b27d}
 .mobile-panel .service-submenu{display:flex;flex-direction:column;width:auto;max-width:none;margin:0;padding:8px 0 14px;border:0;border-radius:0;gap:24px;box-shadow:none;background:transparent;color:#fffdf9}
 .mobile-panel .service-menu-column{gap:0}
 .mobile-panel .service-submenu a{padding:11px 0;min-height:44px;color:#fffdf9;font:400 17px/1.3 'Atkinson Hyperlegible',Arial,sans-serif}
 .mobile-panel .service-submenu .service-menu-heading{padding:0 0 21px;margin-bottom:3px;min-height:0;color:#e8d8c5;font:500 34px/1.04 'Newsreader',Georgia,serif;letter-spacing:-.025em}
 .mobile-panel .service-submenu .service-menu-heading::before{bottom:7px;width:38px}
 .mobile-panel .service-submenu .service-menu-choice{margin:0;padding:13px 15px;font-size:16px;color:#10283a;background:#e8d8c5;border:1px solid #e8d8c5;border-radius:8px}
 .mobile-panel .service-submenu .service-menu-choice span{color:#8b2f4d}
 .mobile-panel>.nav-group:not(.service-menu){border-top:1px solid rgba(232,216,197,.2)}
 .mobile-panel>.nav-group:not(.service-menu)>summary{padding:13px 0;font-size:15px;font-weight:400;color:#e8d8c5}
 .mobile-panel .nav-group:not(.service-menu) .nav-submenu{border-color:rgba(232,216,197,.25);background:transparent}
 .mobile-panel .nav-group:not(.service-menu) .nav-submenu a{color:#fffdf9}
 .mobile-panel .nav-submenu a:hover{color:#e5b27d;background:transparent}
}
@media(prefers-reduced-motion:reduce){.service-submenu a{transition:none}}
/* Marque ORCYA : activité puis signature, sans modifier le sourire du Y. */
.site-header .brand-profession{display:block;font-family:'Atkinson Hyperlegible',Arial,sans-serif;font-size:.72rem;font-weight:400;letter-spacing:.02em;line-height:1.25;margin-top:4px}
.site-header .brand-line{margin-top:4px}
/* Same Y positioning as the approved home-page logo. */
.site-header .brand-y{display:inline-block}
.menu{min-width:44px;min-height:44px;flex-shrink:0;cursor:pointer}
@media(max-width:1180px){
 .mobile-panel.open{max-height:calc(100vh - var(--menu-header-height,112px));max-height:calc(100dvh - var(--menu-header-height,112px));scroll-padding-block:14px;padding-bottom:max(18px,env(safe-area-inset-bottom))}
 .mobile-panel a,.mobile-panel summary{overflow-wrap:break-word;white-space:normal}
 .mobile-panel .nav-group[open]>summary{color:#e5b27d}
}
