/* Shared application of the Bennis Advisory identity, version 1.0. */
:root{
 --bennis-marine-logo:#1E3459;--bennis-vert-logo:#4EB36E;
 --bennis-marine-profond:#0D1B2D;--bennis-marine-accueil:#17324A;
 --bennis-vert-action:#43B37C;--bennis-vert-texte:#23754F;
 --bennis-blanc-froid:#F5F7FA;--bennis-papier:#EAF0F5;
 --bennis-texte-secondaire:#40516A;--bennis-blanc:#FFFFFF;
 --bennis-font:Manrope,Arial,sans-serif;
 --brand:var(--bennis-marine-logo);--bg:var(--bennis-marine-profond);
 --green:var(--bennis-vert-action);--green-ink:var(--bennis-vert-texte);
 --white:var(--bennis-blanc-froid);--ink:var(--bennis-marine-profond);
 --paper:var(--bennis-blanc-froid);--paper-soft:var(--bennis-papier);
 --copy:var(--bennis-texte-secondaire);--font:var(--bennis-font);
 --control-radius:6px;--image-radius:12px;--form-radius:16px;
}
body{font-family:var(--bennis-font)}
.btn,.menu-toggle,.form-input,.form-select,.form-textarea,.external-toolbar button{border-radius:var(--control-radius)}
.detail-editorial .form-shell,.external-choice{border-radius:var(--form-radius)}
.activity-photo,.booking-frame{border-radius:var(--image-radius)}
.btn-green{background:var(--bennis-vert-action);color:var(--bennis-marine-profond)}
.btn-green:hover{background:var(--bennis-vert-logo)}
.nav{background:var(--bennis-marine-profond)}
:is(.services-editorial,.about-editorial,.detail-editorial) .nav{background:var(--bennis-blanc-froid)}
.nav-logo{width:160px;height:auto;min-height:52px;background:transparent;flex-shrink:0}
.nav-logo img{position:static;width:100%;height:auto;max-width:100%;object-fit:contain}
.home-page .footer{background:var(--bennis-marine-profond)}
.footer-top{grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr) minmax(0,1fr);gap:64px;padding-bottom:48px}
.footer-top>.footer-brand{grid-column:auto}
.footer-logo,.footer-logo img{width:190px;height:auto}
.footer-top .footer-brand .footer-signature{font-size:22px;line-height:1.35;font-weight:600;letter-spacing:-.025em;color:var(--white);margin-top:24px;max-width:none}
.footer-top .footer-brand>p{font-size:14px;line-height:1.65;margin-top:16px;max-width:32ch}
.footer .footer-contact{font-size:14px;min-height:44px;margin-top:24px;color:var(--green);gap:16px}
.footer-links{font-size:14px;gap:0}
.footer-links a{min-height:44px;line-height:1.5}
.footer-title{font-size:13px;line-height:1.5;font-weight:600;margin-bottom:16px}
.footer-bottom{font-size:12px;line-height:1.6;padding-top:24px;gap:16px}
:is(.services-editorial,.about-editorial,.detail-editorial) .footer-top .footer-brand .footer-signature{color:var(--ink)}
:is(.services-editorial,.about-editorial,.detail-editorial) .footer .footer-contact{color:var(--green-ink)}
.legal-updated{font-size:13px;color:var(--copy);margin-top:24px;line-height:1.6}
.legal-copy{max-width:72ch}
.legal-section p,.legal-section li{line-height:1.75}
.legal-toc{top:128px}
.legal-toc a{border-left:2px solid transparent;padding-left:16px;transition:color .2s,border-color .2s}
.legal-toc a:hover,.legal-toc a:focus-visible{color:var(--green-ink);border-left-color:var(--green-ink)}
.legal-contact{border-left:3px solid var(--green-ink);border-block:0;background:var(--paper-soft);padding:24px;}
.legal-contact p:last-child{margin-bottom:0}
.contact-guidance{list-style:none;padding:0;margin:32px 0 0;counter-reset:contact-step}
.contact-guidance li{counter-increment:contact-step;position:relative;padding:20px 0 20px 40px;border-bottom:1px solid var(--border-light)}
.contact-guidance li:before{content:counter(contact-step,decimal-leading-zero);position:absolute;left:0;top:22px;font-size:12px;font-weight:600;color:var(--green-ink);font-variant-numeric:tabular-nums}
.contact-guidance strong{display:block;font-size:16px;line-height:1.5;color:var(--ink);font-weight:600;margin-bottom:8px}
.contact-guidance span{display:block;font-size:15px;line-height:1.65;color:var(--copy);max-width:42ch}
@media(max-width:1200px){.nav-logo{width:136px;min-height:45px}.footer-top{gap:40px}}
@media(max-width:1000px){.footer-top{grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr) minmax(0,1fr);gap:32px}}
@media(max-width:767px){
 .container,.editorial-container{padding-inline:24px}
 .nav-logo{width:128px;min-height:42px}
 .footer-top{grid-template-columns:1fr 1fr;gap:40px 24px;padding-bottom:32px}
 .footer-top>.footer-brand{grid-column:1/-1}
 .footer-top .footer-brand .footer-signature{font-size:21px}
 .footer-logo,.footer-logo img{width:180px}
 .footer-bottom{gap:8px}
 .legal-toc{position:static}
 .contact-guidance{margin-top:24px}
}
@media(max-width:400px){.nav-logo{width:120px}.footer-top{grid-template-columns:1fr}.footer-top>.footer-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.legal-toc a{transition:none}}

/* Opening without motion controls: keep the lower caption near the photograph's edge. */
.photo-hero .hero-inner{padding-bottom:120px}
.photo-hero .hero-bottom{bottom:32px;padding-bottom:0}
@media(max-width:767px){.photo-hero .hero-inner{padding-bottom:135px}.photo-hero .hero-bottom{bottom:28px;left:24px;right:24px}}
