/* Consistent expanded service cards. */
.paths>.path[open]{grid-column:1/-1;background:#e9ece3;border-color:#d5dbcf}
.paths>.path[open]:hover{background:#e9ece3;transform:none}
.paths>.path[open]>summary{min-height:104px;background:transparent;padding-bottom:18px}
.paths>.path[open]>summary .path-expand{background:var(--forest);border-color:var(--forest)}
.paths>.path[open]>summary .path-expand:before,.paths>.path[open]>summary .path-expand:after{background:var(--cream)}
.paths>.path[open]>.detail{padding:0 26px 28px}
.detail>p{max-width:85ch}
.pricing-block,.custom-company{background:#f8f5ee}
.price-grid>div{background:#fffdf7}
.service-subsection .pricing-block{margin-bottom:0}
.sale-includes{border-left:2px solid #778a63;padding:8px 14px;background:#e1e6d9}
.company-offers{gap:18px}.company-offer{padding:22px 24px}
.company-offer .offer-price{margin-bottom:0}
.routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
#assistant{max-width:650px;padding:24px 28px}
#assistant .assistant-brand img{width:155px}
#assistant h2{margin:10px 0}
#assistant>p.small{margin-bottom:12px}
#assistant label{margin-top:12px;margin-bottom:6px}
#assistant-group{margin-bottom:0}
#assistant-questions{margin:14px 0;gap:6px}
#assistant-questions button{min-height:40px;padding:8px 10px}
#assistant-answer{min-height:56px;padding:14px 16px}
#assistant-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;margin-top:12px}
#assistant-form label{grid-column:1/-1;margin:0}
#assistant-form .pill{margin:0;min-height:50px;padding:12px 14px}
#assistant-contact{margin:14px 0 10px}
#assistant .assistant-note{margin-bottom:0}
@media(max-width:760px){
 .paths>.path[open]>summary{min-height:88px;padding-bottom:16px}
 .paths>.path[open]>.detail{padding:0 17px 22px}
 .routes{grid-template-columns:1fr;gap:14px}
 .company-offers{gap:10px}.company-offer{padding:17px}
 #assistant{padding:20px 18px}#assistant .assistant-brand img{width:140px}
 #assistant-form{grid-template-columns:1fr}
 #assistant-form .pill{justify-self:start;min-height:44px}
}
@media(max-width:380px){.paths>.path[open]>.detail{padding-inline:14px}}

.price-grid strong.price-agreed{font-size:16px;font-weight:400;line-height:1.5;color:var(--muted)}

/* Align the expanded title and copy on the same left edge. */
.paths>.path[open]>summary{padding-inline:26px}
@media(max-width:760px){.paths>.path[open]>summary{padding-inline:17px}}
@media(max-width:380px){.paths>.path[open]>summary{padding-inline:14px}}

.hero-image img{object-position:50% 50%}

/* Final navigation and accessible, scrollable assistant. */
.nav-assistant{border:0;background:none;color:var(--forest);font:inherit;padding:14px 0;cursor:pointer}
.nav-assistant:hover{text-decoration:underline;text-underline-offset:5px}
.nav-links{gap:22px}
#assistant{padding:0;overflow:hidden;max-height:calc(100dvh - 32px)}
#assistant[open]{display:flex;flex-direction:column}
.assistant-header{position:relative;flex-shrink:0;padding:22px 28px 14px;background:var(--cream);border-bottom:1px solid var(--line)}
#assistant .assistant-header .close{position:absolute;right:18px;top:18px;float:none}
#assistant .assistant-header h2{padding-right:28px;margin:10px 0}
#assistant .assistant-header p{margin-bottom:0}
.assistant-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:16px 28px 20px}
.assistant-footer{flex-shrink:0;padding:14px 28px 18px;background:var(--cream);border-top:1px solid var(--line)}
#assistant .assistant-footer #assistant-contact{margin:0 0 10px}
#assistant .assistant-footer .assistant-note{margin:0}
#assistant-questions button{min-height:44px}
body:has(dialog[open]){overflow:hidden}
footer{padding-bottom:34px}
@media(min-width:761px) and (max-width:1000px){
 .nav{min-height:90px;gap:18px}.menu{display:flex;align-items:center;justify-content:center;min-width:72px}
 .nav-links{display:none;position:absolute;top:90px;left:0;right:0;background:var(--cream);padding:18px 6%;border-bottom:1px solid var(--line)}
 .nav-links.open{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
}
@media(max-width:760px){
 .assistant-header{padding:18px 18px 12px}
 .assistant-body{padding:12px 18px 16px}
 .assistant-footer{padding:12px 18px 14px}
 #assistant .assistant-header .close{right:12px;top:12px}
 #assistant .assistant-header h2{font-size:26px}
 #assistant .assistant-brand{display:none}
 #assistant .assistant-footer .assistant-note{font-size:13px!important;line-height:1.5}
 #assistant .assistant-footer #assistant-contact{width:100%;min-height:44px}
}

/* Direct assistant access on phones, outside the collapsed menu. */
.mobile-assistant-launch{display:none}
@media(max-width:760px){
 .mobile-assistant-launch{display:flex;position:fixed;z-index:20;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 18px;border:1px solid var(--forest);border-radius:6px;background:var(--forest);color:var(--cream);font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.4;box-shadow:0 5px 20px #243f3533}
 .mobile-assistant-launch:hover{background:#345646}
 .mobile-assistant-launch:focus-visible{outline:3px solid #899d70;outline-offset:3px}
 body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 body:has(dialog[open]) .mobile-assistant-launch{display:none}
 html{scroll-padding-bottom:90px}
}

/* Final interaction and reading refinements. */
dialog .close{width:44px;height:44px;min-width:44px;font-size:24px;line-height:1;flex-shrink:0}
#assistant .assistant-header h2{padding-right:48px}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #607752;outline-offset:4px}
.path .detail>button+button{margin-left:6px}
.service-subsection>div>ul{padding-left:20px;color:var(--muted);margin:0 0 8px;line-height:1.7}
@media(max-width:760px){
 .path .detail>button{margin-bottom:8px;max-width:100%;white-space:normal;text-align:left}
 .path .detail>button+button{margin-left:0}
 select,textarea,input{font-size:16px}
}

/* Formation prices: discreet minimum label and room for longer legal forms. */
.price-from,.price-grid strong .price-from{display:inline;font-size:14px;font-weight:400;line-height:1.4;color:var(--muted)}
.formation-prices{grid-template-columns:repeat(4,minmax(0,1fr))}
.formation-prices>div:last-child{grid-column:span 2}
@media(max-width:760px){.formation-prices{grid-template-columns:repeat(2,minmax(0,1fr))}}
