/* CLAWZ mobile brand book — shared original copy and photography. */
.mobile-brandbar{display:none}
.chapter-menu{padding:28px;border:1px solid #bba78955;background:#101827;color:#f2eee6;border-radius:4px;width:min(92vw,540px);max-height:90dvh;overflow:auto}
.chapter-menu::backdrop{background:#060b15bb;backdrop-filter:blur(8px)}
.menu-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #bba78944;padding-bottom:16px}
.menu-heading h2{font:400 2rem/1.1 var(--font-display)}
.menu-close{width:44px;height:44px;font-size:28px;color:#f2eee6}
.chapter-menu nav{display:grid;padding-top:8px}
.chapter-menu nav button{display:flex;align-items:center;gap:20px;text-align:left;min-height:58px;border-bottom:1px solid #ffffff18;font:400 1.75rem/1.2 var(--font-display);padding:14px 2px}
.chapter-menu nav button span{font:400 .75rem/1.4 var(--font-sans);color:#bba789;letter-spacing:.12em}
.chapter-menu nav button[aria-current]{color:#dbc39d}
@media screen and (max-width:1100px){
 .presentation{background:#101827;color:#f2eee6}
 .presentation-header{display:block;padding:env(safe-area-inset-top,0px) 0 0;position:relative;z-index:4;background:#101827;border-color:#bba78926}
 .presentation-header>p,.presentation-header>nav,.presentation-header>div:not(.mobile-brandbar){display:none}
 .presentation-header .mobile-brandbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px max(22px,env(safe-area-inset-right)) 8px max(22px,env(safe-area-inset-left));min-height:64px}
 .mobile-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:46px;font:400 1.75rem/.9 var(--font-display);letter-spacing:.04em;color:#f2eee6;flex-shrink:0}
 .mobile-brand small{font:400 .625rem/1.2 var(--font-sans);letter-spacing:.35em;margin-top:6px}
 .mobile-menu-toggle{display:flex;align-items:center;justify-content:flex-end;gap:15px;min-height:44px;min-width:44px;color:#dbc8aa;font-size:.875rem}
 .current-chapter{white-space:nowrap;max-width:48vw;overflow:hidden;text-overflow:ellipsis}
 .menu-lines{width:22px;height:14px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;display:block;position:relative;flex-shrink:0}
 .menu-lines::after{content:"";position:absolute;right:0;top:5px;width:14px;height:1px;background:currentColor}
 .presentation-stage{background:#101827}
 .presentation-stage>.mobile-viewport{background:#101827;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .mobile-viewport::-webkit-scrollbar{display:none}
 .presentation-stage>.mobile-viewport.swipe-preview{box-shadow:-1px 0 #101827;contain:layout paint}
 .mobile-page{background:#f2eee6;color:#172235;min-height:100%;font:400 1.125rem/1.65 var(--font-sans);overflow-wrap:break-word;overflow:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .mobile-page img{display:block;width:100%;object-fit:cover;-webkit-user-drag:none}
 .mobile-reading{padding:34px 26px 46px;max-width:720px;margin:auto}
 .mobile-label{display:flex;align-items:center;gap:14px;font-size:.75rem;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;color:#806b48;margin-bottom:22px}
 .mobile-label::after{content:"";display:block;width:28px;height:1px;background:#a18a67;flex-shrink:0}
 .mobile-page h2{font:400 2.6rem/1.07 var(--font-display);letter-spacing:-.025em;margin:0 0 27px;color:#172235;text-wrap:balance}
 .mobile-page h3{font:500 1.9rem/1.15 var(--font-display);margin:36px 0 20px;color:#26344a;text-wrap:balance}
 .mobile-page h4{font:500 1.45rem/1.3 var(--font-display);margin:28px 0 15px;color:#665231}
 .mobile-page p{font:inherit;color:#344051;letter-spacing:0;margin:0 0 23px;text-align:left}
 .mobile-page ul{list-style:none;padding:0;margin:24px 0 34px}
 .mobile-page li{font:inherit;padding:17px 0;border-bottom:1px solid #17223526;color:#344051;text-align:left}
 .mobile-page li:first-child{border-top:1px solid #17223526}
 .mobile-page blockquote{font:400 2.05rem/1.18 var(--font-display);color:#725b3a;border-left:1px solid #b69c74;padding:2px 0 2px 18px;margin:34px 0 38px}
 .mobile-page .values-label{font:500 .875rem/1.55 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;margin-top:42px;color:#806b48}
 .mobile-value{padding:22px 0;border-top:1px solid #17223526}
 .mobile-value h3{margin:0 0 15px}.mobile-value p{margin-bottom:0}
 .mobile-dark{background:#101827;color:#f2eee6}
 .mobile-dark h2,.mobile-dark h3{color:#e9ddc8}
 .mobile-dark h4,.mobile-dark .mobile-label{color:#c5ad86}
 .mobile-dark p,.mobile-dark li{color:#dedfdc}
 .mobile-dark li{border-color:#d6c5a62b}
 .mobile-cover{position:relative;min-height:max(570px,calc(100svh - 116px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
 .mobile-cover .cover-photo{position:absolute;inset:0;height:100%;object-position:48% 34%;z-index:-2}
 .mobile-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#101827 0%,#101827e0 22%,#10182732 68%,#1018270a);z-index:-1}
 .mobile-cover-copy{padding:45px 26px 34px;max-width:650px;width:100%}
 .mobile-cover .mobile-label{color:#f2e4ca;max-width:290px;font-size:.75rem;margin-bottom:23px;display:block}
 .mobile-cover h1{font:400 clamp(4rem,17vw,6rem)/.91 var(--font-display);letter-spacing:-.035em;margin:0 0 26px;color:#fff9e9}
 .mobile-cover .cover-rule{width:42px;height:1px;background:#c7ab7b;margin:0 0 24px}
 .mobile-cover p{font:400 2rem/1.18 var(--font-display);color:#eedabe;margin:0;max-width:18ch}
 .cover-intro{padding-top:28px;padding-bottom:36px}.cover-intro p{margin:0}
 .mobile-page .mobile-city{height:clamp(224px,56vw,350px);object-position:50% 50%}
 .mobile-page .mobile-portrait{height:clamp(320px,87vw,480px);object-position:50% 27%}
 [data-page="equipe-michael"] .mobile-portrait{object-position:42% 26%}
 .mobile-portrait-name{padding:26px;background:#101827;color:#f2eee6}
 .mobile-portrait-name h2{font-size:2.5rem;color:#efe5d2;margin:0 0 10px;text-wrap:initial}
 .mobile-portrait-name p{font-size:.9375rem;line-height:1.5;color:#cdb993;margin:0}
 .mobile-credentials{border-top:1px solid #17223526;padding-top:8px;margin:32px 0 0}
 .mobile-credentials dt{font-size:.8125rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:#806b48;margin:24px 0 10px}
 .mobile-credentials dd{margin:0;font:inherit;color:#344051}
 .mobile-contact{display:block!important}
 .mobile-contact section{padding:24px 0;border-top:1px solid #17223526}
 .mobile-contact h3{margin:0 0 16px;font-size:1.65rem}
 .mobile-contact p{overflow-wrap:anywhere;margin-bottom:12px}
 .mobile-contact a{text-decoration-color:#806b4870;text-underline-offset:4px}
 .mobile-contact .contact-form{padding-top:28px;border-top:1px solid #17223526;gap:22px}
 .mobile-contact .contact-fields{grid-template-columns:1fr;gap:22px}
 .mobile-contact .contact-form h4{font-size:1.9rem;margin:0;color:#172235}
 .mobile-contact .contact-form label{font-size:1rem;line-height:1.6;color:#344051}
 .mobile-contact .contact-form label>span{color:#68717c}
 .mobile-contact .contact-form input,.mobile-contact .contact-form textarea{background:#fffcf6;border:1px solid #8b827570;border-radius:3px;color:#172235;padding:12px 14px;font-size:1.125rem;line-height:1.5}
 .mobile-contact .contact-form button{padding:15px 20px;min-height:52px;background:#101827;color:#f2eee6;border-color:#101827;font-size:1rem;border-radius:3px;width:100%}
 .mobile-contact .contact-form .contact-note{font-size:.875rem!important;line-height:1.65!important;color:#626b76;margin:0}
 .page-controls{position:relative;background:#101827;height:calc(52px + env(safe-area-inset-bottom,0px));padding:0 10px env(safe-area-inset-bottom,0px);border-color:#bba78926;gap:12px;z-index:3}
 .page-controls>.page-count{position:absolute;width:1px;height:1px;min-width:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .page-controls>button{min-width:44px;min-height:44px;color:#cfb58d;font-size:20px}
 .page-dots{display:flex;align-items:center;justify-content:center;gap:0}
 .page-dots button{display:flex;align-items:center;justify-content:center;min-width:24px;width:24px;height:44px;padding:0;border-radius:0}
 .page-dots i{display:block;width:4px;height:4px;border-radius:10px;background:#858b96;transition:width .22s ease,background .22s ease}
 .page-dots button.is-current i{width:16px;background:#dbc39d}
 .page-dots button:hover:not(:disabled){background:transparent}
 .page-controls.mobile-page-controls{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:8px;height:auto;min-height:80px;padding:10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#101827}
 .mobile-page-controls>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:60px;padding:8px 4px;border:1px solid #c5ad8640;border-radius:6px;letter-spacing:0;touch-action:manipulation}
 .mobile-page-controls strong{font:500 18px/1.25 var(--font-sans)}
 .mobile-page-controls small{font:400 12px/1.25 var(--font-sans);letter-spacing:.02em}
 .mobile-page-controls>.page-previous,.mobile-page-controls>.page-menu{color:#f2eee6}
 .mobile-page-controls>.page-next{background:#d6c2a2;color:#172235;border-color:#d6c2a2}
 .mobile-page-controls>.page-next:hover:not(:disabled){background:#e1cfb2;color:#172235}
 .mobile-page-controls>button:disabled{opacity:.4}
 .mobile-page-controls>button:active:not(:disabled){background:#394151}
 .mobile-page-controls>.page-next:active:not(:disabled){background:#bda788}
 .chapter-menu{position:fixed;inset:0;margin:auto;width:calc(100% - 24px);max-width:560px;max-height:calc(100dvh - 24px);padding:20px 16px max(22px,env(safe-area-inset-bottom));border-radius:12px}
 .chapter-menu .menu-heading h2{font-size:26px;line-height:1.2}
 .chapter-menu .menu-close{flex-shrink:0}
 .chapter-menu nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:16px}
 .chapter-menu nav button{flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:10px;min-height:86px;border:1px solid #ffffff26;border-radius:5px}
 .chapter-menu nav button[aria-current]{background:#d6c2a2;color:#172235}
 .chapter-menu nav .chapter-number{font:400 12px/1.2 var(--font-sans);letter-spacing:0;color:inherit}
 .chapter-menu nav .chapter-name{display:flex;flex-direction:column;gap:6px;color:inherit;letter-spacing:0;min-width:0}
 .chapter-name strong{font:500 18px/1.3 var(--font-sans);overflow-wrap:normal}
 .chapter-name small{font:400 12px/1.3 var(--font-sans);color:inherit;overflow-wrap:normal}
 .mobile-reveal{opacity:0;transform:translateY(9px);transition:opacity .45s ease var(--reveal-delay,0ms),transform .45s ease var(--reveal-delay,0ms)}
 .mobile-reveal.is-visible{opacity:1;transform:none}
 .swipe-preview .mobile-reveal,.swipe-arrived .mobile-reveal{opacity:1;transform:none;transition:none}
}
@media screen and (max-width:359px){
 .mobile-reading,.mobile-cover-copy,.mobile-portrait-name{padding-left:22px;padding-right:22px}
 .mobile-page h2{font-size:2.3rem}
 .page-controls{gap:3px}
 .current-chapter{max-width:43vw;font-size:.8125rem}
 .presentation-header .mobile-brandbar{padding-inline:18px;gap:12px}
 .mobile-menu-toggle{gap:12px}
}
@media (prefers-reduced-motion:reduce){
 .mobile-reveal{opacity:1!important;transform:none!important;transition:none!important}
 .page-dots i{transition:none!important}
}

@media screen and (max-width:1100px){[data-page="vue-d-ensemble"].mobile-page::before{content:"";display:block;height:96px;background:linear-gradient(0deg,#f2eee6,transparent),url("/assets/motif-marbre.webp") 50% 40%/cover;opacity:.6}}
@media screen and (max-width:1100px){
 .mobile-brandbar .mobile-brand{font:400 1.75rem/.9 var(--font-display);padding:0;letter-spacing:.04em}
 .mobile-brandbar .mobile-menu-toggle{font-size:.875rem;padding:0;background:transparent;color:#dbc8aa}
 .mobile-page .mobile-original-note p{font-size:.875rem;line-height:1.65;color:#626b76;margin:28px 0 0}
}
