
/* V20 — Command OS Studio : tactile mobile, portfolio lisible, flèches vectorielles */
.cos-arrow-icon{width:1em;height:1em;display:inline-block;vertical-align:-.125em;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;overflow:visible}
.cos-cta-mobile{display:none}
@media(max-width:760px){
 html{scroll-padding-top:84px;-webkit-text-size-adjust:100%}body{min-width:320px;overflow-x:clip}#site{overflow:clip}
 .container{width:calc(100% - 36px)!important;max-width:620px!important;margin-inline:auto!important}
 #accueil,#expertises,#contact,#realisations{min-height:0!important;scroll-margin-top:79px}
 #world{opacity:.65}
 .header,.header.scrolled{padding:9px 0!important;background:rgba(15,30,37,.97)!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(249,213,186,.26)!important}
 .header-layout{gap:9px!important;min-height:53px}
 .header .brand{gap:7px!important;min-width:0}.header .brand-logo{width:36px!important;height:36px!important}
 .header .brand-word b{font-size:10.7px!important;letter-spacing:-.04em!important}.header .brand-word small{font-size:7px!important;letter-spacing:.25em!important;margin-top:5px!important}
 .header .header-cta{min-width:0;max-width:170px!important;min-height:44px!important;margin-left:auto!important;padding:6px 6px 6px 12px!important;gap:8px!important;border-radius:40px!important;font-size:11px!important;line-height:1.2!important;flex:0 1 auto}
 .header-cta .cos-cta-desktop{display:none!important}.header-cta .cos-cta-mobile{display:inline!important;font-weight:800;white-space:nowrap}
 .header .header-cta span:last-child{width:28px!important;height:28px!important;flex:0 0 28px!important;font-size:17px!important}
 .header .nav-toggle{display:grid!important;place-items:center;position:relative;z-index:115;flex:0 0 42px!important;width:42px!important;height:43px!important;border:1px solid #f2e4d54a!important;border-radius:12px!important;padding:8px!important;background:#ffffff0b!important;color:#fff9ed;touch-action:manipulation}
 .header .nav-toggle[aria-expanded="true"]{background:#f3e6d7!important;color:#1b3037!important}
 .header .nav-toggle[aria-expanded="true"] svg{display:none}
 .header .nav-toggle[aria-expanded="true"]:before,.header .nav-toggle[aria-expanded="true"]:after{content:"";position:absolute;width:19px;height:2px;background:#1b3037;transform:rotate(45deg);border-radius:2px}
 .header .nav-toggle[aria-expanded="true"]:after{transform:rotate(-45deg)}
 .header .nav{display:none!important;position:fixed!important;top:74px!important;left:14px!important;right:14px!important;width:auto!important;max-width:560px!important;margin-inline:auto!important;max-height:calc(100dvh - 93px);overflow-y:auto!important;z-index:120!important;background:linear-gradient(145deg,#1b353d,#11242b)!important;border:1px solid #eecbb47a!important;border-radius:18px!important;box-shadow:0 22px 65px #021017cc!important;padding:12px 16px!important;gap:0!important;flex-direction:column!important;align-items:stretch!important}
 .header .nav.open{display:flex!important}
 .header .nav a{display:flex;align-items:center;min-height:57px;padding:14px!important;border-bottom:1px solid #ffffff29;font-size:16px!important;font-weight:750!important;letter-spacing:0!important;color:#f9f4eb!important}
 .header .nav a:last-child{border-bottom:0}.header .nav a:after{display:none!important}
 .cos-nav-overlay{display:none;position:fixed;inset:0;z-index:98;background:#031019a9;border:0;cursor:pointer}
 body.cos-menu-open .cos-nav-overlay{display:block}body.cos-menu-open{overflow:hidden}
 #accueil{padding:104px 0 24px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
 #accueil:before{background:linear-gradient(180deg,#12272fea,#142d36dc 67%,#192e37bb)!important}
 #accueil .hero-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:calc(100% - 36px)!important;max-width:620px!important}
 #accueil .hero-copy{width:100%;z-index:3}#accueil .overline{font-size:9px!important;letter-spacing:.13em!important;line-height:1.6!important}
 #accueil h2{font-size:clamp(49px,11.4vw,74px)!important;line-height:.96!important;letter-spacing:-.072em!important;max-width:100%!important;margin:19px 0!important}
 #accueil .hero-copy>p{font-size:15px!important;line-height:1.65!important;max-width:39ch}
 #accueil .hero-actions{margin-top:23px!important;gap:13px!important;align-items:flex-start!important}
 #accueil .hero-actions .button-light{min-height:52px!important;padding:0 17px!important;font-size:13px!important;gap:13px!important}
 #accueil .hero-actions .simple-link{font-size:12.5px!important;min-height:37px!important;display:inline-flex;align-items:center;gap:7px}
 #accueil .hero-select{margin-top:26px!important;padding-top:16px!important;width:100%!important}
 #accueil .v13-select-title small{font-size:9px!important}#accueil .v13-select-title strong{font-size:clamp(20px,5.2vw,26px)!important;line-height:1.27!important}
 #accueil .hero-choices{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-top:13px!important}
 #accueil .hero-choices button{min-width:0!important;min-height:71px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;padding:10px 9px!important;border-radius:10px!important;gap:7px!important}
 #accueil .hero-choices button b{font-size:11px!important}#accueil .hero-choices button span{font-size:11px!important;line-height:1.3!important;overflow-wrap:break-word}
 #accueil #heroServiceDescription{font-size:12px!important;line-height:1.5!important;margin:11px 0 0!important;min-height:0!important}
 #accueil .hero-stage{display:none!important}
 #accueil .v13-3d-button{position:relative!important;top:auto!important;bottom:auto!important;right:auto!important;left:auto!important;align-self:flex-end!important;margin:14px 0 0!important;width:auto!important;z-index:4}
 #accueil .v13-3d-button>span{width:39px!important;height:39px!important}
 #accueil .scene-bottom{position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;width:calc(100% - 36px)!important;max-width:620px!important;margin:15px auto 0!important;padding-top:13px!important;font-size:9px!important}
 #accueil .scene-bottom>a{font-size:10px!important;line-height:1.45!important}
 #expertises{padding:64px 0 65px!important}
 #expertises .v11-heading{margin-bottom:20px!important;gap:14px!important}
 #expertises .v11-heading h2{font-size:clamp(43px,10.6vw,67px)!important;line-height:.98!important;margin-top:17px!important}
 #expertises .v11-heading>p{font-size:14px!important;line-height:1.6!important;max-width:46ch}
 #expertises .v11-workspace{grid-template-columns:minmax(0,1fr)!important;gap:17px!important}
 #expertises .v11-service-list{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
 #expertises .v11-service{min-height:66px!important;grid-template-columns:30px minmax(0,1fr) 33px!important;padding:9px 7px!important;gap:10px!important}
 #expertises .v11-service.active{padding-left:12px!important}
 #expertises .v11-service-label strong{font-size:clamp(15px,4.3vw,19px)!important;line-height:1.2!important}
 #expertises .v11-service-label small{font-size:11px!important;line-height:1.45!important;margin-top:3px!important}
 #expertises .v11-num{font-size:22px!important}#expertises .v11-service-arrow{width:32px!important;height:32px!important;font-size:19px!important}
 #expertises .v11-service-footnote{font-size:11px!important;line-height:1.5!important;padding:10px 6px 0!important}
 #expertises .v11-demo-panel{margin-top:0!important;border-radius:15px!important}
 #expertises .v11-demo-header{height:48px!important;padding:0 13px!important;font-size:9px!important}
 #expertises .v11-demo-window{height:clamp(306px,86vw,385px)!important;padding:8px!important}
 #expertises .v11-demo-summary{padding:17px!important}
 #expertises .v11-demo-summary h3{font-size:clamp(23px,6vw,30px)!important;line-height:1.1!important}
 #expertises .v11-demo-summary p{font-size:12.5px!important;line-height:1.6!important}
 #expertises .v11-demo-cta{min-height:45px!important;font-size:12px!important}
 #realisations{padding:62px 0 63px!important}
 #realisations .projects-intro{grid-template-columns:1fr!important;min-height:0!important;gap:17px!important;margin-bottom:20px!important}
 #realisations .projects-title h2{font-size:clamp(59px,13vw,80px)!important;line-height:.94!important}
 #realisations .projects-eyebrow{font-size:9px!important}
 #realisations .projects-context{min-height:0!important;gap:10px!important;padding:18px 15px!important;max-width:none!important}
 #realisations .projects-context p{font-size:13px!important;line-height:1.6!important}
 #realisations .projects-context-tip{font-size:9px!important}
 #realisations .projects-one-kpi{margin-bottom:22px!important;padding:18px 0!important}
 #realisations .projects-kpi-head{gap:10px!important;flex-wrap:wrap!important}
 #realisations .projects-kpi-overline{font-size:10px!important}
 #realisations .projects-kpi-row{gap:10px!important;align-items:center!important;margin:8px 0!important}
 #realisations .projects-kpi-number>strong{font-size:clamp(68px,18vw,92px)!important;line-height:.94!important}
 #realisations .projects-kpi-plus{font-size:27px!important}
 #realisations .projects-kpi-description>strong{font-size:clamp(16px,4.4vw,22px)!important;line-height:1.26!important}
 #realisations .projects-kpi-subline em{font-size:clamp(20px,5vw,27px)!important}
 #realisations .projects-kpi-foot{font-size:8px!important;gap:6px!important;letter-spacing:.1em!important}
 #realisations .projects-gallery{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:19px!important}
 #realisations .projects-gallery:before{inset:-8px!important;border-radius:22px!important}
 #realisations .project-tile,#realisations .project-tile:first-child,#realisations .project-tile-reqvera{min-height:0!important;height:auto!important;grid-column:auto!important;grid-row:auto!important;width:100%!important;display:flex!important;flex-direction:column!important;padding:11px!important;border-radius:19px!important;gap:0!important}
 #realisations .projects-gallery .project-media,#realisations .project-tile:first-child .project-media{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1.6!important;border-radius:12px!important;overflow:hidden!important;margin:0!important}
 #realisations .project-media img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
 #realisations .project-preview-action{padding:7px 9px!important;font-size:10px!important}
 #realisations .project-caption{display:flex!important;flex:0 0 auto!important;min-height:0!important;align-items:center!important;justify-content:space-between!important;gap:11px!important;padding:16px 5px 10px!important;transform:none!important}
 #realisations .project-caption>div{min-width:0!important;flex:1 1 auto!important}
 #realisations .project-caption>div>span{font-size:10px!important}
 #realisations .project-caption strong{font-size:clamp(23px,6.2vw,32px)!important;line-height:1.13!important;overflow-wrap:anywhere}
 #realisations .project-caption small{font-size:13px!important;line-height:1.5!important;margin-top:8px!important}
 #realisations .project-caption-arrow{width:41px!important;height:41px!important;flex-basis:41px!important;font-size:21px!important;background:#f2e6da!important;color:#152d36!important;border:1px solid #fff5e8!important}
 #realisations .projects-closer{margin-top:27px!important;padding-top:20px!important;gap:13px!important}
 #realisations .projects-closer>a{font-size:13px!important}
 #realisations .projects-sculpture{opacity:.24!important;pointer-events:none}
 #contact{padding:65px 0 60px!important}
 #contact .contact-inner{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:15px!important}
 #contact .contact-story{min-height:0!important;margin-bottom:0!important}
 #contact .contact-story h2{font-size:clamp(45px,11.5vw,67px)!important;line-height:.97!important;margin:17px 0!important}
 #contact .contact-story>p{font-size:14px!important;line-height:1.64!important}
 #contact .contact-orbit{display:none!important}
 #contact .contact-email{font-size:12px!important;margin-top:15px!important}
 #contact .form-shell{padding:20px 17px!important;border-radius:17px!important;margin:0!important}
 #contact .form-header{font-size:9px!important;gap:8px!important}
 #contact .form-shell h3{font-size:clamp(25px,6.4vw,32px)!important;margin-top:18px!important}
 #contact .form-help{font-size:13px!important;line-height:1.58!important}
 #contact .form-progress{margin-bottom:17px!important;padding-bottom:14px!important}
 #contact .need-field legend{font-size:13px!important}
 #contact .need-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 #contact .need-options span{min-height:53px!important;font-size:12px!important;line-height:1.3!important;padding:9px!important}
 #contact .form-field{font-size:13px!important;margin-bottom:13px!important}
 #contact .form-field input,#contact .form-field textarea{font-size:16px!important;min-height:52px!important;padding:13px!important}
 #contact .form-field textarea{min-height:121px!important}
 #contact .form-consent{font-size:12.5px!important;line-height:1.6!important}
 #contact .send-button{width:100%!important;min-height:57px!important;font-size:13px!important}
 #contact .form-disclaimer{font-size:11px!important;line-height:1.55!important}
 .footer .v11-footer-top{padding:47px 0 30px!important;gap:21px!important}
 .footer .footer-message strong{font-size:clamp(40px,10vw,60px)!important;line-height:1.03!important;letter-spacing:-.066em!important}
 .footer .footer-message strong em{display:block}
 .footer .v11-footer-cta{min-height:52px!important;font-size:13px!important;padding:12px 18px!important}
 .footer .footer-inner{padding:25px 0 31px!important;gap:22px!important}
 .footer .footer-links{display:flex!important;flex-wrap:wrap!important;gap:15px 18px!important}
 .footer .footer-links a,.footer .footer-legal{font-size:12px!important;line-height:1.7!important}
 :where(a,button,input,textarea):focus-visible{outline:2px solid #efbf9f!important;outline-offset:3px!important}
}
@media(max-width:375px){
 .container{width:calc(100% - 28px)!important}
 .header .brand-word b{font-size:9px!important}.header .brand-word small{font-size:6px!important}
 .header .header-cta{max-width:146px!important;padding-left:10px!important;font-size:10px!important}
 .header .nav-toggle{width:39px!important;flex-basis:39px!important}
 #accueil .hero-inner,#accueil .scene-bottom{width:calc(100% - 28px)!important}
 #accueil h2{font-size:clamp(43px,11.4vw,54px)!important}
 #accueil .hero-choices button span{font-size:10px!important}
 #realisations .project-caption strong{font-size:21px!important}
}
@media(hover:none){.project-tile:hover,.v11-service:hover{transform:none!important}}
@media(prefers-reduced-motion:reduce){#accueil .v13-3d-button,.project-tile,.header .nav a{transition:none!important}}

/* V20 — final tactile details */
@media(max-width:760px){
 #accueil .v13-3d-button>span{font-size:0!important;background:linear-gradient(145deg,#243f47,#13252c)!important;border:1px solid rgba(245,211,183,.7)!important;box-shadow:0 8px 22px rgba(3,14,20,.32),inset 0 1px rgba(255,255,255,.13)!important}
 #accueil .v13-3d-button>span:before{content:"✦";font:400 23px/1 Georgia,serif;color:#f0c1a8;text-shadow:0 0 9px rgba(255,198,160,.35)}
 #realisations .projects-kpi-foot{flex-wrap:wrap!important}
 :where(.v11-service,.hero-choices button,.project-tile,.need-options label,.header-cta){touch-action:manipulation}
}
