/* Tablet */
@media(max-width:1000px){.header{grid-template-columns:minmax(0,1fr) auto auto;height:72px;top:10px;left:16px;right:16px}.header .signature{width:auto;min-width:0}.header .signature>div{min-width:0}.header-cta{display:none}.menu{position:relative;z-index:102;display:block;width:44px;height:44px;padding:8px;border:0;border-radius:50%;background:#ffffff12}.menu i{position:absolute;left:9px;width:26px;height:2px;background:#fff;transition:.3s}.menu i:first-child{top:16px}.menu i:last-child{top:26px}.menu[aria-expanded="true"] i:first-child{top:21px;transform:rotate(45deg)}.menu[aria-expanded="true"] i:last-child{top:21px;transform:rotate(-45deg)}.header #nav,.header.scrolled #nav{display:none;position:fixed;z-index:100;inset:0;width:100%;height:100dvh;padding:110px 28px 45px;background:linear-gradient(155deg,#07151d,#102f3e);border:0;border-radius:0;box-shadow:none;flex-direction:column;justify-content:center;align-items:center;gap:6px}.header #nav.open,.header.scrolled #nav.open{display:flex;animation:navDrop .35s var(--ease)}.header #nav a{width:min(420px,100%);padding:13px 5px;border-bottom:1px solid #ffffff20;color:#fff;text-align:center;font:500 23px Manrope}.header #nav a::after{display:none}.header.scrolled{height:48px;padding:0;background:transparent;border-color:transparent;box-shadow:none;pointer-events:none;backdrop-filter:none}.header.scrolled .menu{background:#000e;box-shadow:0 9px 25px #0005;pointer-events:auto;backdrop-filter:blur(14px)}.header.scrolled .signature>div{display:none}.header.scrolled nav{padding:110px 28px;border-radius:0}.expertise,.faq{grid-template-columns:1fr;gap:50px}.expertise-intro,.faq-intro{position:static}.process ol{grid-template-columns:1fr 1fr}.pricing-heading{grid-template-columns:1fr;gap:25px}.price-grid{grid-template-columns:1fr 1fr}.price-card:last-child{grid-column:1/-1}.price-card.featured{transform:none}.offer-details{grid-template-columns:1fr 1fr}.offer-details>div:nth-child(3){border-left:0;border-top:1px solid #c8d4d9;padding-left:0}.offer-details>div:nth-child(4){border-top:1px solid #c8d4d9}footer{grid-template-columns:1.4fr 1fr 1.2fr}.footer-nav:nth-of-type(2){display:none}}
@media(min-width:621px) and (max-width:1000px){.price-swipe-hint{display:flex;align-items:center;gap:10px;margin-top:18px;color:#315f7d;text-transform:uppercase;letter-spacing:.12em;font-size:.625rem}.price-swipe-hint b{font-size:18px}.price-grid{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;margin-inline:calc(var(--pad) * -1);padding:22px var(--pad) 28px;border-inline:0;border-radius:0;scroll-snap-type:x mandatory;scroll-padding-left:var(--pad);-webkit-overflow-scrolling:touch;scrollbar-width:thin}.price-grid::before{display:none}.price-card,.price-card:last-child{flex:0 0 min(420px,72vw);grid-column:auto;scroll-snap-align:start;transform:none}.price-card.featured:hover{transform:translateY(-6px)}}

/* Mobile */
@media(max-width:620px){:root{--pad:20px}.noise{display:none}.signature-logo{width:40px;height:40px}.signature small{max-width:none;white-space:normal;line-height:1.25}.hero{min-height:690px;padding-top:112px;padding-bottom:34px}.hero-simple h1{font-size:15vw}.hero-simple>p{max-width:92%;margin:22px 0;font-size:15px}.hero-actions-simple{display:block}.hero-actions-simple a{width:100%;min-width:0;margin-top:8px}.hero-proof{grid-template-columns:1fr;gap:9px;padding-top:18px}.manifesto,.expertise,.process,.pricing,.faq{padding-top:70px;padding-bottom:70px}.vision-simple{grid-template-columns:1fr;gap:30px;margin-top:25px}.vision-simple h2{font-size:48px}.vision-simple>div{padding-left:18px}.expertise h2,.process h2,.pricing-heading h2{font-size:45px}.price-swipe-hint{display:flex;align-items:center;gap:10px;margin-top:18px;color:#315f7d;text-transform:uppercase;letter-spacing:.12em;font-size:.625rem}.price-swipe-hint b{font-size:18px}.price-grid{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;margin-left:-20px;margin-right:-20px;padding:20px 20px 25px;border-left:0;border-right:0;border-radius:0;scroll-snap-type:x mandatory;scroll-padding-left:20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.price-grid::-webkit-scrollbar{display:none}.price-grid::before{display:none}.price-card,.price-card:last-child{flex:0 0 86vw;grid-column:auto;scroll-snap-align:start;transform:none!important}.expertise-list article{padding:24px 0}.expertise-list article:hover{padding-left:0}.process-title{display:block;margin-bottom:35px}.process-title a{display:inline-block;margin-top:22px}.process ol{grid-template-columns:1fr}.process li{min-height:0}.process li strong{margin-top:32px}.price-card{padding:28px 22px}.price-card>p{min-height:0}.offer-details{grid-template-columns:1fr}.offer-details>div,.offer-details>div:not(:first-child){padding:18px 0;border-left:0;border-top:1px solid #c8d4d9}.offer-details>div:first-child{border-top:0}.contact{min-height:430px;padding:50px 20px;background-image:linear-gradient(#05121bd6,#05121bd6),url('../assets/contact-workspace.webp');background-position:66% center}.contact h2{font-size:36px}.contact-links{grid-template-columns:1fr}.contact-links a:not(:last-child){border-right:0;border-bottom:1px solid #ffffff20}.contact-links>a:nth-child(3) strong{font-size:17px;white-space:normal}.form-entry{display:block;padding:15px}.form-entry>span{display:block;margin-bottom:11px}.form-entry>div{display:block}.form-entry button{width:100%;margin-top:7px}.contact-form{padding:22px 16px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.form-submit{display:block}.form-submit p{margin-bottom:13px}.form-submit button{width:100%}.faq{gap:35px}.faq-intro h2{font-size:43px}.faq-list summary{padding:22px 0;font-size:15px}.faq-list details>p{padding-right:8px;font-size:.8125rem}footer{grid-template-columns:1fr 1fr;gap:40px 24px;padding-top:48px}.footer-brand{width:88px}.footer-nav:nth-of-type(2){display:flex}.footer-contact{grid-column:1/-1}.copyright{grid-column:1/-1;display:block}.copyright>*{display:block;margin-top:10px}.legal-page{padding-top:125px}}

@media(max-width:460px){.header{height:88px;padding:8px 12px;gap:6px}.header .signature{gap:10px}.header .signature>div{min-width:0}.header .signature small{margin-top:3px;text-align:left;font-size:.5625rem;letter-spacing:.07em}.header.scrolled{height:48px;padding:0}.header.scrolled .signature small{display:none}}

/* Navigation mobile — panneau flottant compact, sans recouvrir toute la page. */
@media(max-width:1000px){
  body.menu-open::before{
    position:fixed;
    z-index:90;
    inset:0;
    background:rgb(2 7 10 / 52%);
    -webkit-backdrop-filter:blur(3px);
    backdrop-filter:blur(3px);
    content:"";
  }
  .menu{
    border:1px solid rgb(255 255 255 / 16%);
    background:rgb(10 13 14 / 78%);
    box-shadow:0 8px 24px rgb(0 0 0 / 22%);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    transition:background-color 160ms ease,box-shadow 160ms ease,transform 120ms ease;
  }
  .menu::after{
    position:absolute;
    top:calc(100% + 5px);
    right:21px;
    width:2px;
    height:29px;
    border-radius:99px;
    background:linear-gradient(to bottom,#e7c47f 0%,rgb(217 173 98 / 72%) 62%,transparent 100%);
    box-shadow:0 0 10px rgb(217 173 98 / 55%);
    opacity:0;
    pointer-events:none;
    transform:scaleY(0);
    transform-origin:top;
    transition:opacity 140ms ease-in,transform 220ms ease-in;
    content:"";
  }
  .menu::before{
    position:absolute;
    z-index:1;
    top:calc(100% + 7px);
    right:19px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#f1cf8b;
    box-shadow:0 0 0 3px rgb(217 173 98 / 14%),0 0 13px #d9ad62;
    opacity:0;
    pointer-events:none;
    transform:translateY(22px) scale(.5);
    transition:opacity 120ms ease-in,transform 220ms ease-in;
    content:"";
  }
  .menu:active{transform:scale(.96)}
  .menu:focus-visible{outline:2px solid #e4b760;outline-offset:3px}
  .menu[aria-expanded="true"]{background:#d9ad62;box-shadow:0 10px 30px rgb(0 0 0 / 35%)}
  .menu[aria-expanded="true"] i{background:#111}
  .menu[aria-expanded="true"]::after{animation:menuTether 260ms 50ms cubic-bezier(.2,.8,.2,1) both}
  .menu[aria-expanded="true"]::before{animation:menuBeacon 430ms 70ms cubic-bezier(.2,.8,.2,1) both}
  .header #nav,.header.scrolled #nav{
    display:flex;
    position:fixed;
    z-index:100;
    top:clamp(76px,11vh,104px);
    right:16px;
    bottom:auto;
    left:auto;
    width:min(326px,calc(100vw - 40px));
    height:auto;
    max-height:calc(100dvh - 96px);
    overflow-y:auto;
    padding:12px;
    border:1px solid rgb(255 255 255 / 14%);
    border-radius:20px;
    background:linear-gradient(155deg,rgb(12 18 20 / 97%),rgb(18 31 36 / 96%));
    box-shadow:0 24px 70px rgb(0 0 0 / 48%),inset 0 1px 0 rgb(255 255 255 / 8%);
    -webkit-backdrop-filter:blur(24px) saturate(125%);
    backdrop-filter:blur(24px) saturate(125%);
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:2px;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translate(8px,-14px) scaleX(.86) scaleY(.08);
    transform-origin:calc(100% - 40px) 0;
    clip-path:inset(0 0 100% 0 round 20px);
    transition:opacity 180ms ease-in,transform 280ms cubic-bezier(.4,0,1,1),clip-path 300ms cubic-bezier(.4,0,1,1),visibility 0s linear 300ms;
  }
  .header #nav.open,.header.scrolled #nav.open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:none;
    clip-path:inset(0 round 20px);
    animation:none;
    transition-delay:0s;
    transition-duration:220ms,340ms,340ms,0s;
    transition-timing-function:ease-out,cubic-bezier(.16,1,.3,1),cubic-bezier(.16,1,.3,1),linear;
  }
  .header #nav a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:52px;
    padding:12px 14px;
    border:0;
    border-radius:11px;
    color:#f4f1ea;
    text-align:left;
    font:550 1rem/1.2 Manrope,sans-serif;
    letter-spacing:-.01em;
    transition:background-color 140ms ease,color 140ms ease,padding-left 180ms ease;
  }
  .header #nav a:hover,.header #nav a:focus-visible{
    padding-left:18px;
    background:rgb(255 255 255 / 8%);
    color:#f0c878;
    outline:0;
  }
  .header #nav a:focus-visible{box-shadow:inset 0 0 0 2px #d9ad62}
  .header #nav a+a{border-top:1px solid rgb(255 255 255 / 7%)}
  .header.scrolled #nav{padding:12px;border-radius:20px}

  @keyframes menuTether{
    from{opacity:0;transform:scaleY(0)}
    to{opacity:1;transform:scaleY(1)}
  }
  @keyframes menuBeacon{
    0%{opacity:0;transform:translateY(0) scale(.55)}
    28%{opacity:1;transform:translateY(3px) scale(1)}
    100%{opacity:.88;transform:translateY(22px) scale(.72)}
  }
}

@media(max-width:460px){
  .header #nav,.header.scrolled #nav{top:108px;right:12px;width:min(306px,calc(100vw - 40px));max-height:calc(100dvh - 124px)}
  .header.scrolled #nav{top:72px}
}

@media(max-width:360px){
  .header #nav,.header.scrolled #nav{width:calc(100vw - 56px)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.section-reveal{opacity:1;transform:none}.expertise-backgrounds img{transform:none}}

/* Réalisations */
@media(max-width:1000px){.featured-project-heading{grid-template-columns:1fr;gap:24px}.projects-grid{grid-template-columns:1fr}.project-showcase{min-height:clamp(300px,62vw,600px)}}
@media(max-width:620px){.featured-project{padding-top:70px;padding-bottom:70px}.featured-project-heading{margin-bottom:30px}.featured-project-heading h2{font-size:42px}.project-showcase{min-height:max(280px,65vw);padding:24px}.device-desktop{left:8%;top:8%;width:72%;padding:6px 6px 10px}.device-tablet{right:8%;bottom:65px;width:29%;padding:5px}.device-mobile{right:2%;bottom:60px;width:14%;padding:3px}.project-visit{right:12px;bottom:10px;opacity:1;transform:none}.project-card-content{padding:22px 20px 20px}.project-card-heading{grid-template-columns:1fr;gap:12px}.project-card-heading>p{max-width:34ch}.project-details{grid-template-columns:1fr}.project-information summary{min-height:54px}}
