.aroia-menu-toggle{display:none}
[hidden]{display:none!important}
@media(max-width:760px){
 html{height:auto;min-height:100%;scroll-padding-top:84px}
 body{height:auto;min-height:100dvh;display:flex;flex-direction:column;overflow:visible;max-width:100%;width:100%;overscroll-behavior-y:auto}
 body>header{position:sticky;top:0;flex:none;height:64px;padding:0 16px;gap:10px;z-index:30;background:#fff}
 body>header .complete-brand img{width:86px;height:58px}
 body>header>nav,body>header .header-contact{display:none}
 body>header .private-access{font-size:14px;margin-left:auto;padding:9px 10px;white-space:nowrap}
 body>header .menu-toggle{display:flex;min-width:44px;min-height:44px;padding:11px;justify-content:center}
 #mobile-menu:not([hidden]){position:fixed;inset:64px 0 auto;max-height:calc(100dvh - 64px);overflow:auto;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px;z-index:29;box-shadow:0 18px 30px #08245020;background:white}
 #mobile-menu a{min-height:48px;display:flex;align-items:center;font-size:14px;border:1px solid #d9e3ef;border-radius:10px;padding:10px 12px;line-height:1.3;white-space:normal}
 #mobile-menu .mobile-private-access{grid-column:1/-1}
 body>main{flex:1;min-height:0;min-width:0;overflow:visible;container-type:normal}
 body>footer{position:relative;flex:none;height:auto;min-height:64px;padding:16px 18px calc(16px + env(safe-area-inset-bottom));gap:12px;flex-wrap:wrap;font-size:12px;background:#fff}
 body>footer .territories{display:none}
 body>footer button{min-height:44px;font-size:12px}
 .page,.page.catalogue-page,.page.universe-page,.page.detail-page,.page.diagram-page,.page.offer-page,.page.philosophy-overview,.page.connect-overview,.page.viaora-overview,.page.request-page,.page.request-ready{height:auto;min-height:0;padding:28px 20px 36px;max-width:100%;width:100%;animation:none;gap:0}
 .breadcrumbs{margin-bottom:22px;gap:10px;flex-wrap:wrap}
 .breadcrumbs a,.demo-return{font-size:14px;line-height:1.4;min-height:32px;display:inline-flex;align-items:center}
 .catalogue-heading .eyebrow,.landing-copy .eyebrow,.offer-copy .eyebrow,.demo-intro .eyebrow{font-size:12px;line-height:1.4;margin-bottom:12px;letter-spacing:.09em}
 .catalogue-heading h1,.landing-copy h1,.offer-copy h1,.demo-intro h1,.philosophy-overview .offer-copy h1,.connect-intro .offer-copy h1{font-size:clamp(29px,8vw,38px);line-height:1.13;letter-spacing:-.03em}
 .catalogue-heading>p,.landing-copy>p,.offer-copy>p,.demo-intro>p,.philosophy-overview .offer-copy>p,.connect-intro .offer-copy>p{display:block;font-size:16px;line-height:1.6;margin-top:16px}
 .landing-values{display:block;font-size:14px;line-height:1.5;margin-top:20px}
 .landing-philosophy{min-height:44px;display:flex;align-items:center;font-size:14px;margin-top:22px}
 .page .visual-grid,.page .landing-cards{display:grid;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none;grid-auto-rows:auto;flex:none;gap:24px;margin-top:28px;max-width:none}
 .page .visual-card{display:flex;flex-direction:column!important;min-height:0;transform:none;animation:none;border-radius:18px}
 .page .visual-card>img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/2;flex:none!important;object-fit:cover;transform:none}
 .page .visual-card-copy{display:flex;flex-direction:column;flex:none;min-height:0!important;padding:20px!important}
 .page .visual-card h3{font-size:24px!important;line-height:1.2}
 .page .visual-card p{display:block!important;font-size:16px;line-height:1.55;margin-top:12px;overflow:visible;-webkit-line-clamp:unset}
 .page .visual-card span{display:block;font-size:12px;line-height:1.4;margin-top:16px}
 .page .visual-card .brand-signature{display:block;font-size:12px;line-height:1.45}
 .offer-top,.philosophy-overview .offer-top{display:flex;flex-direction:column;align-items:stretch;flex:none;gap:28px}
 .offer-photo{height:auto;aspect-ratio:3/2;max-height:none;flex:none;width:100%;margin:0;border-radius:18px}
 .offer-photo img{display:block;width:100%;height:100%;object-fit:cover}
 .page .offer-points,.connect-overview .connector-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:auto;flex:none;gap:18px;margin-top:28px;align-content:start}
 .page .offer-point,.connect-overview .connector-family{padding:22px;background:#fff;border:1px solid #d9e3ef;border-top:3px solid #c29a4a;border-radius:14px;justify-content:flex-start}
 .page .offer-point h2,.connect-overview .connector-family h2{font-size:22px;line-height:1.25;padding:0}
 .page .offer-point p,.connect-overview .connector-family p{display:block!important;font-size:16px;line-height:1.6;margin-top:12px}
 .philosophy-overview .offer-point:after{display:none}
 .offer-actions,.connect-bottom{display:flex;flex-direction:column;align-items:stretch;flex:none;gap:14px;margin-top:28px!important}
 .offer-actions .button,.connect-bottom .button,.button{font-size:16px;min-height:48px;padding:12px 18px;line-height:1.4;white-space:normal;text-align:center}
 .offer-actions>p,.connect-bottom p,.brand-owner{display:block;font-size:14px;line-height:1.5;max-width:none;margin-top:0}
 .brand-owner{margin-top:20px}
 .connect-bottom .button{margin:0!important;width:100%}
 .connect-intro{display:block}
 .connect-visual{display:block;height:auto;aspect-ratio:3/2;margin-top:24px}
 .connector-tags span{font-size:14px;padding:8px 10px}
 .connector-number{display:none}
 .philosophy-overview .offer-copy .spiral-meaning{display:block;font-size:16px;line-height:1.6;margin-top:20px}
 .philosophy-overview .spiral-story{height:auto;max-height:none;min-height:320px;margin:0;padding:22px 12px;border-radius:18px;flex:none}
 .spiral-story-heading h2{font-size:22px}
 .spiral-story-heading button{min-height:44px;font-size:14px}
 .philosophy-overview .spiral-canvas{height:220px;flex:none;min-height:220px}
 .spiral-story figcaption{font-size:14px;line-height:1.5}
 .viaora-overview .viaora-vision{height:auto;min-height:420px;flex:none;overflow:hidden}
 .viaora-overview .viaora-vision-copy{width:100%;height:auto;padding:24px;justify-content:flex-end}
 .viaora-overview .viaora-vision-copy h1{font-size:38px;line-height:1.08}
 .viaora-overview .viaora-vision-copy>p{font-size:16px;line-height:1.55}
 .viaora-overview .viaora-principles{display:flex}
 .viaora-overview .viaora-principles span{font-size:14px;line-height:1.4}
 .request-layout,.ready-panel{display:flex;flex-direction:column;align-items:stretch;gap:28px;flex:none;margin-top:28px}
 .request-art{display:flex;height:auto;max-height:none;flex:none;gap:12px}
 .request-art img,.ready-panel>img{display:block;height:auto;width:100%;aspect-ratio:3/2;flex:none;max-height:none;object-fit:cover}
 .request-art>p,.ready-panel p{font-size:16px;line-height:1.6;overflow-wrap:anywhere}
 #demo-request{gap:22px}
 .request-fields{grid-template-columns:1fr;gap:22px}
 .request-page label{font-size:16px;line-height:1.4;gap:9px}
 .request-page input{font-size:16px;min-height:48px;padding:12px}
 .request-page textarea{font-size:16px;height:auto;min-height:150px;padding:12px;resize:vertical}
 .request-page button{align-self:stretch;min-height:48px;font-size:16px}
 .request-help{font-size:14px;line-height:1.5}
 .ready-panel h2{font-size:28px}
 .ready-panel .button{display:flex;margin:18px 0 0;font-size:16px}
 dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:24px}
 dialog p{font-size:16px}
 /* AROÎA : contenus complets et villa lumineuse. */
 body:has(.panel.home)>header{padding:0 12px;gap:8px}
 body:has(.panel.home) .brand{gap:8px;flex-shrink:0}
 body:has(.panel.home) .brand img{width:32px;height:32px}
 body:has(.panel.home) .brand strong{font-size:20px;letter-spacing:.08em}
 body:has(.panel.home) .brand small{display:none}
 .header-actions{margin-left:auto}
 .header-actions .private{display:none}
 .header-actions .btn.gold{font-size:12px;padding:9px 10px;min-height:44px}
 .aroia-menu-toggle{display:block;font:inherit;font-size:14px;min-height:44px;padding:8px 10px;background:#fff;border:1px solid #c4d8d7;color:#102f48;border-radius:10px}
 body>header .aroia-mobile-nav{display:none}
 body>header .aroia-mobile-nav.is-open{display:grid;position:fixed;inset:64px 0 auto;max-height:calc(100dvh - 64px);overflow:auto;grid-template-columns:1fr 1fr;padding:14px;background:#fff;gap:8px;box-shadow:0 18px 30px #103e4920;z-index:30}
 .aroia-mobile-nav a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;border:1px solid #dce6e4;font-size:14px;white-space:normal}
 .panel{height:auto;min-height:0}
 .panel.home{grid-template-columns:1fr;grid-template-rows:auto auto;overflow:visible}
 .panel.home .copy{padding:32px 20px 28px;gap:20px;justify-content:flex-start}
 .panel.home h1{font-size:clamp(36px,10vw,48px);line-height:1.06;max-width:none}
 .panel.home .lead{font-size:16px;line-height:1.65}
 .panel.home .meaning{display:block;font-size:16px;line-height:1.5}
 .panel.home .actions{display:grid;grid-template-columns:1fr;gap:12px}
 .panel.home .actions .btn{min-height:48px;font-size:16px;padding:12px 16px;white-space:normal;text-align:center;line-height:1.4}
 .panel.home .little-proof{display:flex;flex-wrap:wrap;font-size:12px;line-height:1.5;gap:10px 16px;padding-top:18px}
 .panel.home .photo{margin:0 12px 28px;min-height:0;aspect-ratio:4/5}
 .light-switch{top:14px;right:14px;left:14px;justify-content:center}
 .light-switch button{min-height:44px;font-size:14px;padding:8px 12px}
 .photo-caption{display:block;bottom:22px;left:22px;right:22px}
 .photo-caption strong{font-size:26px}
 .photo-caption small{font-size:12px}
 .panel.detail,#plateforme{height:auto;min-height:0;padding:32px 20px 36px;grid-template-rows:auto auto auto;gap:28px;overflow:visible}
 .section-head{display:block}
 .section-head .eyebrow{display:block;font-size:12px;line-height:1.4;margin-bottom:12px}
 .section-head h2,#plateforme .section-head h2{font-size:32px;line-height:1.14}
 .section-head p,#plateforme .section-head p{display:block;font-size:16px;line-height:1.6;margin-top:18px;max-width:none}
 .panel .cards{grid-template-columns:1fr;grid-template-rows:none;gap:18px}
 .panel .card,.panel .service-cards .card{padding:24px;gap:16px;min-height:0;justify-content:flex-start}
 .panel .card-no,.panel .service-cards .card-no{display:block;position:static;font-size:32px}
 .panel .card h3,.panel .service-cards .card h3{font-size:26px;line-height:1.2}
 .panel .card p{font-size:16px;line-height:1.65}
 .panel-bottom,#plateforme .panel-bottom{display:flex;flex-direction:column;align-items:stretch;gap:16px;min-height:0}
 .panel-bottom p{display:block;font-size:14px;line-height:1.5;max-width:none!important}
 .panel-bottom .btn{min-height:48px;font-size:16px;padding:12px 16px;white-space:normal;text-align:center}
 #plateforme .cockpit{height:auto;max-height:none;padding:18px;gap:22px;align-self:stretch;overflow:visible}
 #plateforme .screen-top,#plateforme .welcome{display:flex;flex-wrap:wrap;gap:12px}
 #plateforme .screen-top strong{font-size:16px}
 #plateforme .screen-top p,#plateforme .welcome p{font-size:14px;line-height:1.5}
 #plateforme .secure{display:block;font-size:12px;max-width:none}
 #plateforme .welcome h3{font-size:24px}
 #plateforme .badge{display:block;font-size:12px}
 #plateforme .tabs{display:grid;grid-template-columns:1fr;gap:8px}
 #plateforme .tab{font-size:14px;line-height:1.4;white-space:normal;padding:10px;min-height:44px;min-width:0}
 #plateforme .metric-grid{grid-template-columns:1fr;gap:12px}
 #plateforme .metric{padding:18px;display:block}
 #plateforme .metric span{font-size:14px;line-height:1.4}
 #plateforme .metric strong{font-size:32px;display:block;margin:8px 0}
 #plateforme .metric em{display:block;font-size:14px;margin:0}
 #plateforme .mission-card{padding:18px}
 #plateforme .mission-head{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
 #plateforme .mission-head strong{font-size:16px}
 #plateforme .mission-head span{font-size:14px;line-height:1.5}
 #plateforme .progress-line{margin:18px 0}
 #plateforme .tasks{grid-template-columns:1fr;gap:16px}
 #plateforme .task{font-size:14px;line-height:1.5;display:block}
 body:has(.panel.home)>footer span{font-size:12px;line-height:1.5;max-width:260px}
}

@media(max-width:760px){body>header .complete-brand img{width:108px;height:40px}body>header .private-access{font-size:12px;padding:9px 10px}}
