
/* Dedicated iPhone layout. Desktop opens a comfortable phone-width preview. */
html{background:#071725;scroll-padding-top:92px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{width:100%;max-width:480px;margin:0 auto;background:#f6f9ff;color:#102440;padding-bottom:calc(86px + env(safe-area-inset-bottom,0px));box-shadow:0 0 90px #0004;overflow-x:clip}main{min-height:60svh}a,button,summary,input{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input,select,textarea{font-size:16px}button,.btn{min-height:48px}a:focus-visible,summary:focus-visible{outline:3px solid #51c9ff;outline-offset:4px}img,svg,video{max-width:100%}section{scroll-margin-top:90px}.iphone-header{position:sticky;top:0;z-index:70;min-height:76px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;display:flex;gap:14px;align-items:center;justify-content:space-between;background:#0b2139f5;border-bottom:1px solid #41618a55;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.iphone-header .brand{max-width:calc(100% - 58px);flex-shrink:1}.iphone-header .brand>.logo{width:min(238px,calc(100vw - 105px));height:auto;aspect-ratio:550/112;display:block}.iphone-menu{position:static;color:white;flex-shrink:0}.iphone-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;font-size:23px;line-height:1;width:44px;height:44px;border:1px solid #7bb5df55;border-radius:13px;background:#163652;cursor:pointer}.iphone-menu>summary::-webkit-details-marker{display:none}.iphone-menu:not([open])>nav{display:none!important}.iphone-menu[open]>summary{background:#235782}.iphone-menu[open]>nav{display:grid!important;grid-template-columns:1fr;position:absolute;left:12px;right:12px;top:calc(100% + 8px);max-height:calc(100svh - 190px - env(safe-area-inset-top,0px));overflow-y:auto;padding:10px;gap:2px;border:1px solid #668bb258;border-radius:18px;background:#0d2945fc;box-shadow:0 20px 55px #0007;z-index:90;font-size:15px;animation:iphone-menu-in .22s ease-out}.iphone-menu nav a{min-height:46px;padding:13px 16px;border-radius:10px;white-space:normal}.iphone-menu nav a[aria-current=page]{color:#90e9ff;background:#22527799;border:0}.iphone-menu nav a:after{display:none!important}@keyframes iphone-menu-in{from{opacity:.4;transform:translateY(-8px)}to{opacity:1;transform:none}}.subnav{display:flex!important;position:static!important;left:auto;right:auto;top:auto;gap:8px;overflow-x:auto;flex-wrap:nowrap;padding:11px 16px;background:#112c48;border-radius:0;width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;font-size:12px}.subnav::-webkit-scrollbar{display:none}.subnav:after{display:none}.subnav a{flex-shrink:0;display:flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid #6e93b344;border-radius:20px;white-space:nowrap}.subnav a[aria-current=page]{background:#27567c;border-color:#70c5ef;text-decoration:none;color:#b8f2ff}
.hero{height:auto;min-height:0;padding:0;overflow:hidden;isolation:isolate;background:#071b2e}.hero:after{display:none}.hero-photo{position:relative;inset:auto;width:100%;height:236px;object-fit:cover;object-position:58% 50%;display:block;opacity:1;-webkit-mask-image:none;mask-image:none}.hero-content{position:relative;z-index:3;margin:0;max-width:none;padding:27px 22px 31px}.hero h1{font-size:clamp(31px,8.7vw,40px);line-height:1.08;letter-spacing:-1.1px;margin:0 0 18px}.hero h1 span{white-space:normal}.hero .lead{font-size:16px;line-height:1.6;margin:0 0 22px;max-width:none;color:#d5e5f7}.hero .actions{display:flex;flex-direction:column;gap:12px;margin:0;align-items:stretch}.hero .actions .btn{width:100%;padding:14px 12px;min-height:50px;border-radius:17px;font-size:14px}.hero .actions .line-icon{width:23px;height:23px}.hero-atmosphere{top:236px;bottom:0;opacity:.72}.hero-atmosphere .orbit{width:340px;height:340px;left:-200px;top:65px}.hero-atmosphere .orbit.second{display:none}.hero-atmosphere .shooting-star{width:85px;--star-x:220px;--star-y:105px}.hero-atmosphere .shooting-star.trail-4{display:none}.team-reveal{top:0;right:0;width:100%;height:236px;opacity:1;-webkit-mask-image:none;mask-image:none}.team-plane img{object-position:58% 50%}.hero-motion{display:none}
.strip{grid-template-columns:1fr 1fr;gap:18px 12px;padding:22px 18px;min-height:0}.strip .service{align-items:center;gap:10px;min-height:48px;font-size:11px}.strip .service b{font-size:12px}.strip .service .line-icon{width:30px;height:30px}.strip .service:last-child{grid-column:1/-1;justify-content:center}.solutions{display:grid;grid-template-columns:1fr;gap:22px;padding:29px 20px 32px;min-height:0}.intro{grid-column:auto}.eyebrow{font-size:12px;letter-spacing:1.4px;gap:15px;margin-bottom:12px}.eyebrow:after{width:65px}h2,.intro h2{font-size:27px;line-height:1.2;letter-spacing:-.5px}.intro p{font-size:16px;line-height:1.6;margin:14px 0 20px}.intro .btn{width:100%;border-radius:17px;font-size:14px;padding:15px}.cards{grid-template-columns:1fr 1fr;gap:12px}.card{padding:16px 13px;min-height:160px;border-radius:15px}.card h3{font-size:14px;line-height:1.3;margin:8px 0}.card p{font-size:13px;line-height:1.45}.card .line-icon{width:32px;height:32px}.card:hover,.editorial:hover,.rate-card:hover,.client-card:hover{transform:none;box-shadow:none}.depth-card{transform:none!important}.client-card{min-height:0;padding:23px 20px}.client-card h3{font-size:19px}.client-card ul{font-size:14px;margin:0 0 22px}.client-card li{line-height:1.5}.client-card .btn{width:100%;border-radius:16px}.trust{display:block;min-height:0;padding:24px 22px;font-size:14px;line-height:1.7;text-align:left}.home-photo{grid-template-columns:1fr;gap:22px;padding:30px 20px}.home-photo img{height:195px}.home-photo p{font-size:16px}.page-links{gap:12px;flex-direction:column}.page-links .btn{width:100%;border-radius:16px;font-size:14px;padding:15px}.page-intro{grid-template-columns:1fr;gap:22px;padding:23px 20px 26px}.page-intro h1{font-size:clamp(30px,8.8vw,39px);line-height:1.1;margin:17px 0}.page-intro h1 span{white-space:normal}.page-intro p{font-size:16px;line-height:1.65}.page-intro img{height:205px;border-radius:17px;object-fit:cover}.page-intro .breadcrumb{font-size:12px!important;margin:0 0 18px;line-height:1.5}.page-intro figcaption{font-size:10px;line-height:1.5}.photo-stage{border-radius:17px}.photo-stage>img{will-change:auto}.content-wrap{padding:10px 20px 32px}.editorial-grid{grid-template-columns:1fr;gap:15px}.editorial{padding:23px}.editorial h2{font-size:23px}.editorial p,.editorial li{font-size:15px;line-height:1.7}.wide-block{padding:23px;margin-top:20px}.wide-block h2{font-size:24px}.wide-block p,.wide-block li{font-size:15px;line-height:1.7}
.cinema,.cinema-home{margin:24px 16px 30px;padding:21px 17px;border-radius:20px}.cinema-head{display:block;margin-bottom:22px}.cinema .eyebrow{font-size:10px}.cinema h2{font-size:27px;line-height:1.15;letter-spacing:-.5px}.cinema .cinema-sub{font-size:14px;line-height:1.65;margin-top:14px}.cinema-grid,.cinema-home .cinema-grid{grid-template-columns:1fr;gap:23px}.cinema .motion-film{transform:none!important}.cinema-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:19px}.cinema-stepper button{font-size:11px;line-height:1.4;padding:10px 7px;gap:5px;min-height:48px}.cinema-stepper button b{font-size:9px}.scene-copy h3{font-size:24px}.scene-copy p{font-size:14px;line-height:1.7;min-height:0}.scene-reel{grid-template-columns:1fr;gap:10px;margin-top:24px}.scene-reel article{padding:16px;display:grid;grid-template-columns:30px 1fr;column-gap:10px}.scene-reel .reel-number{grid-row:1/3;font-size:20px}.scene-reel p{grid-column:2}.scene-links{gap:17px}.scene-links a{padding:10px 0;font-size:12px}.film-controls{right:10px;bottom:10px}.film-controls button{min-height:38px;font-size:11px;padding:8px 12px}.motion-film{border-radius:15px}
.rates{padding:26px 20px}.rates-intro{font-size:16px}.rate-grid{grid-template-columns:1fr;gap:15px;margin-top:23px}.rate-card{padding:23px}.rate-card.ha{grid-template-columns:1fr;gap:20px}.rate-card h3{font-size:21px}.ha h3{font-size:25px}.rate-card p,.ha li{font-size:15px;line-height:1.7}.ha-note{font-size:12px!important}.rate-contact{width:100%;border-radius:16px}.topic-lab{padding:25px 20px;margin:0 auto 30px}.topic-lab h2{font-size:26px}.lab-grid{grid-template-columns:1fr;gap:16px}.lab-controls{padding:16px}.lab-controls label{padding:12px 8px;font-size:14px;min-height:48px}.lab-buttons{gap:9px}.lab-buttons button{min-height:45px;font-size:13px;padding:11px 13px}.lab-result{padding:23px}.architecture{gap:8px}.arch-node{padding:14px 10px;font-size:12px}.arch-link{width:22px}.portal-page{padding:0 20px;margin-bottom:35px}.portal-grid{grid-template-columns:1fr;gap:17px}.panel{padding:22px 18px;background:white}.panel h3{font-size:21px;line-height:1.3}.field input{font-size:16px;min-height:48px;padding:12px}.portal-page .btn{width:100%;border-radius:15px;font-size:14px}.portal-journey{gap:6px;margin:20px 0}.portal-journey li{font-size:10px;padding:11px 7px;line-height:1.5}.option{font-size:14px;line-height:1.6;padding:12px 9px;gap:11px}.option input,.lab-controls input{width:20px;height:20px;flex-shrink:0}.price{font-size:35px}.demo{font-size:13px;line-height:1.65;padding:14px}.invoice{font-size:13px;padding:15px;line-height:1.8}.invoice button{min-height:44px;padding:10px 0;text-align:left;font-size:13px}.status{font-size:13px;line-height:1.65}.contact{display:block;padding:28px 20px}.contact h2{font-size:26px}.contact p{font-size:15px;line-height:1.6}.contact .btn{margin-top:21px;width:100%;border-radius:16px;font-size:14px}.fine{padding:25px 20px;font-size:11px;line-height:1.7}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.footer-links a{min-height:38px;display:flex;align-items:center}.infrastructure-gallery{padding:0 20px;margin:28px auto 32px}.gallery-heading{grid-template-columns:1fr;gap:16px;margin-bottom:20px}.gallery-heading h2{font-size:27px}.gallery-heading p{font-size:15px;line-height:1.65}.infrastructure-grid{grid-template-columns:1fr;grid-template-rows:285px 245px 245px;gap:14px}.infrastructure-shot.shot-large{grid-row:auto}.shot-title{left:21px;right:21px;bottom:20px}.shot-title b,.shot-large .shot-title b{font-size:25px}.shot-title small{font-size:9px}.shot-title>span{font-size:12px}.gallery-caption{font-size:10px;line-height:1.6}
.iphone-dock{display:grid!important;position:fixed!important;top:auto!important;bottom:0;left:50%;right:auto;transform:translateX(-50%);width:100%;max-width:480px;grid-template-columns:repeat(5,1fr);gap:0;padding:9px 10px calc(9px + env(safe-area-inset-bottom,0px));background:#0a2139f5;border-top:1px solid #78a3ce44;border-radius:20px 20px 0 0;box-shadow:0 -8px 30px #06172a18;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);z-index:75;color:#9db9d4}.iphone-dock>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:50px;padding:6px 2px;border-radius:12px;font-size:10px;line-height:1.1;white-space:normal;font-weight:500}.iphone-dock>a.is-active{color:#9ceaff;background:#1c446155}.iphone-dock svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.iphone-dock a:nth-child(3) svg{fill:currentColor;stroke:none}.motion-toggle{right:max(14px,calc((100vw - 480px)/2 + 14px));bottom:calc(89px + env(safe-area-inset-bottom,0px));font-size:10px;padding:9px 12px;min-height:34px;z-index:25}.reading-progress{z-index:90}dialog{width:min(440px,calc(100vw - 30px));max-height:calc(100svh - 60px);border-radius:19px;padding:23px}.dialog-head h2{font-size:25px}.close{min-height:40px;width:40px}.page-transition-ribbon{left:max(0px,calc((100vw - 480px)/2));right:max(0px,calc((100vw - 480px)/2))}.page-arrival{display:none!important}
@media(max-width:350px){.hero-content,.solutions,.page-intro,.content-wrap,.portal-page,.rates,.topic-lab{padding-left:17px;padding-right:17px}.hero h1{font-size:31px}.cards{gap:9px}.card{padding:14px 11px}.card h3{font-size:13px}.card p{font-size:12px}.cinema{margin-left:12px;margin-right:12px;padding:20px 15px}.cinema-stepper button{font-size:10px;gap:4px}.iphone-header{padding-left:13px;padding-right:13px;gap:8px}.portal-journey li{font-size:9px}.scene-copy h3{font-size:22px}}
@media(orientation:landscape) and (max-height:500px){.iphone-header{position:relative;min-height:60px;padding-top:9px;padding-bottom:9px}.iphone-dock{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}.iphone-dock>a{min-height:42px;gap:3px}.iphone-dock svg{width:18px;height:18px}.hero-photo,.team-reveal{height:210px}.hero-atmosphere{top:210px}.iphone-menu[open]>nav{max-height:calc(100svh - 150px)}}
@media(prefers-reduced-motion:reduce){.iphone-menu[open]>nav{animation:none}.photo-stage>img{transform:none!important}}

.iphone-header .brand{position:relative;display:block;padding-bottom:8px}.iphone-tagline{position:absolute;left:26.7%;bottom:0;font-size:clamp(8px,2.3vw,10px);line-height:1.2;letter-spacing:.05px;white-space:nowrap;color:#adc5dd;font-weight:400}.iphone-dock>a{font-size:11px}

.ovh-versions{font-size:12px;line-height:1.8;margin:0 0 16px;color:#bdd2e9}.ovh-versions a{display:inline-block;padding:6px 0;text-decoration:underline;text-underline-offset:3px}
