/* Etchenet pastel V9: colour study. Layout, content and gallery motion retained.
   Pastels recovered from the owner's V5/V6 Etchenet cards; dark accents from V8.
   The integrated IRUAK film and contact section share this light palette. */
:root {
  color-scheme:light;
  --content-limit:clamp(1460px,62vw,1760px);
  --showcase-width:min(90%,var(--content-limit));
}
body{background:var(--bg);color:var(--ink);isolation:isolate}
.eyebrow{color:#5a626a}
.muted{color:#70777c}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-color:var(--focus-ring)}
.site-header{background:rgba(247,247,242,.88);border-bottom-color:var(--line)}
.brand img{filter:brightness(0) saturate(100%);opacity:.84}
.desktop-nav,.header-contact,#motion-toggle,.menu-toggle{color:var(--ink)}
.desktop-nav a:hover,.text-link:hover{color:var(--violet)}
.mobile-menu{background:var(--bg);border-color:var(--line);color:var(--ink)}
.motion-dot,.live-dot{background:#8b78a5;box-shadow:none}
.button-light{background:var(--night);border-color:var(--night);color:#fff}
.button-light:hover{background:#434250;border-color:#434250}
.button-outline{background:transparent;border-color:var(--control-border);color:var(--ink)}
.button-outline:hover{background:var(--lilac)}
.text-link{color:var(--ink)}

/* One continuous layer for the original Tubes Cursor, behind the page. */
.page-tubes-layer{
  position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
}
.page-tubes-layer canvas{
  display:block;width:100%;height:100%;opacity:0;
  transition:opacity .35s ease-out;
}
.page-tubes-layer[data-tubes="running"] canvas{opacity:.76}
@media(prefers-reduced-motion:reduce){
  .page-tubes-layer{display:none}
}
.hero-sequence,.hero.space-hero{background:transparent}
.space-hero #space-stars,.space-nebula,.space-horizon,.space-hero #tubes,.space-hero .hero-shade{display:none}
.space-hero .hero-eyebrow{color:#43535b}
.space-hero .live-dot{background:#8b78a5;box-shadow:none}
.space-hero h1{color:var(--ink);text-shadow:none}
.space-hero .hero-title-accent{color:#554467}
.space-hero .hero-intro{color:#43535b}
.space-hero .button-light{background:var(--lilac);border-color:#9482a4;color:var(--plum);box-shadow:0 8px 24px #332d4014}
.space-hero .button-light:hover{background:#dbd0e6;border-color:var(--violet)}
.site-header .header-contact{color:var(--plum);background:var(--sky);border-radius:var(--radius-button);padding:4px 12px 4px 14px}
.site-header .header-contact:hover{background:var(--lilac)}
.space-hero .hero-bottom>p,.space-gallery-controls output{color:#546068}
.space-gallery-controls button{color:var(--ink);background:var(--sky);border-color:var(--control-border)}
.space-gallery-controls button:hover{background:var(--lilac)}
.space-hero .space-gallery-window:focus-visible{outline-color:var(--violet)}

.space-card-slot{--card-tone:var(--sky);--card-ink:var(--ink);--card-muted:#536269}
.space-card-slot:nth-child(1){--card-tone:var(--night);--card-ink:#f7f6fb;--card-muted:#c5ccd7}
.space-card-slot:nth-child(2){--card-tone:var(--sky)}
.space-card-slot:nth-child(3){--card-tone:var(--sage)}
.space-card-slot:nth-child(4){--card-tone:var(--plum);--card-ink:#f7f6fb;--card-muted:#d4cadd}
.space-card-slot:nth-child(5){--card-tone:var(--mist)}
.space-card{background:var(--card-tone);color:var(--card-ink);border-color:#27353b1f;box-shadow:0 14px 34px #27353b14}
.space-card:hover{border-color:#8f7eaa;box-shadow:0 18px 40px #27353b1f}
.space-card .mini-browser{background:var(--card-tone);color:var(--card-muted);border-bottom-color:#929aab35}
.space-card .mini-browser i{background:var(--card-muted);opacity:.6}
.space-card .floating-caption{color:var(--card-ink)}
.space-card .floating-caption small{color:var(--card-muted)}

.projects-section{background:transparent}
.projects-section.section-shell{width:var(--showcase-width);margin-inline:auto;padding-inline:0}
@media(max-width:1000px){:root{--showcase-width:min(89%,800px)}}
@media(max-width:600px){:root{--showcase-width:min(calc(100% - 44px),420px)}}
@media(min-width:1001px){
 :root{--shell:max(5%,calc((100% - var(--content-limit))/2))}
 .site-header{padding-inline:var(--shell)}
 .section-heading,.reviews .section-heading{
   grid-template-columns:clamp(136px,12vw,190px) minmax(0,1fr) auto;
   gap:clamp(20px,2.3vw,36px);
 }
 .services-window{width:var(--showcase-width);margin-inline:auto;container-type:inline-size}
 .services-window .services-rail{position:relative;padding-inline:0}
 .services-window .service-card{width:100cqw;max-width:none}
 .motion-enhanced .services-window{overflow:clip}
 .immersion.is-enhanced .journey-stage{--journey-shell:var(--shell)}
}
@media(min-width:1001px) and (min-height:1200px){
 .space-composition{padding-block:calc(var(--header) + 48px) 48px}
}
.section-counter{color:#657077}
.project-card{--card-tone:var(--celadon);--card-ink:var(--ink);--card-muted:#536269;background:var(--card-tone);border-color:#27353b21;box-shadow:0 18px 50px #27353b12}
.project-card--iruak{--card-tone:var(--night);--card-ink:#f5f4fb;--card-muted:#c4cbd7}
.project-card--clinique{--card-tone:var(--sky)}
.project-card--absolu{--card-tone:var(--plum);--card-ink:#f5f4fb;--card-muted:#d4cadd}
.project-card--mapou{--card-tone:var(--sage)}
.project-card--xploravans{--card-tone:var(--mist)}
.project-card .project-copy{background:var(--card-tone);color:var(--card-ink)}
.project-card .project-copy h3,.project-card .project-link{color:var(--card-ink)}
.project-index,.project-description{color:var(--card-muted)}
.project-details span{color:var(--card-muted);border-color:#929aab65}
.project-browser{background:#eef0ee;color:#536269}
.project-browser>span:first-child{color:#879295}
.project-link{border-top-color:#929aab65}
.project-link>span[aria-hidden]{border-color:#929aab80}
.project-link:hover>span[aria-hidden]{background:var(--lilac);color:var(--ink)}

.benefits{background:transparent}
.benefit-symbol{color:#7c658f}
.tiny-number{color:#596970}
.benefit-card{border-color:var(--line)}
.services-section{background:transparent;border-color:var(--line)}
.service-card{background:#fbfbf7;border-color:#27353b21;box-shadow:0 14px 40px #27353b0a}
.service-art{background:var(--lilac)}
.service-art--web{background:var(--lilac)}
.service-art--search{background:var(--sky)}
.service-art--help{background:var(--celadon)}
.service-copy{color:var(--ink)}
.service-copy ul{color:#526168}
.wire-browser,.search-window,.help-screen{box-shadow:0 20px 45px #27353b20}
.wire-browser{background:#f6f3f9}
.art-note{color:#59666b}
.wire-chip{color:#655773}
.search-window{background:#f5f8f8}
.search-result i{color:#5b6970}
.search-result p{color:#526168}
.search-result strong{color:#635079}
.search-label{color:#59666b}
.help-screen{background:#f5f7f6}
.help-screen--small{background:#d6d0e4}
.help-screen--small p{color:#4c405c}
.rail-hint{color:#59666b}
.rail-hint span{color:#695780}
.services-progress{background:#cbd3d0}
.services-progress i{background:#695780}

@media (max-width: 760px) {
  .services-rail { gap: clamp(24px, 5vw, 36px); }
  .service-card { grid-template-columns: minmax(0, 1fr); }
  .service-art {
    flex-direction: column;
    gap: 22px;
    min-height: clamp(242px, 60vw, 320px);
    max-height: none;
    padding: 24px clamp(14px, 5vw, 32px);
  }
  .wire-browser, .search-window, .help-devices { width: min(100%, 380px); }
  .wire-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(54px, 30%);
    gap: 16px;
  }
  .wire-orbit { width: 100%; }
  .wire-orbit i { width: min(100%, 77px); height: auto; aspect-ratio: 1; }
  .wire-button { white-space: normal; }
  .help-devices { display: grid; grid-template-columns: minmax(0, 1.3fr) auto minmax(0, 1fr); gap: 10px; }
  .help-screen, .help-connection { width: auto; min-width: 0; }
  .help-screen { transform: none; }
  .art-note { position: static; text-align: center; }
}

.pricing{background:transparent}
.price-card{background:var(--sky);border-color:#27353b21;color:var(--ink)}
.price-card:nth-child(3){background:var(--lilac)}
.price-period,.price-card ul{color:#526168}
.price-card--featured{background:var(--night);border-color:var(--night);color:#f7f6fb;box-shadow:0 16px 36px #27353b17}
.price-card--featured .eyebrow,.price-card--featured p,.price-card--featured ul{color:#d1d5df}
.price-card--featured .price-quote{color:#fff}
.price-card--featured li:before{color:#c5b8dc}
.price-card--featured .button-light{background:var(--lilac);border-color:var(--lilac);color:#30283b}
.price-card--featured .button-light:hover{background:#f3ecfb}
.price-badge{background:#d7cce7;color:#382d45}
.pricing-note{border-color:var(--line)}

.reviews{background:transparent;border-color:var(--line)}
.stars{color:#695780}
.reviews-rating strong{color:var(--ink)}
.reviews{--review-star:#805617}
.reviews-rating>.stars,.review-card .stars{color:var(--review-star)}
.reviews-rating>.stars{font-size:14px}
.review-controls{flex-wrap:wrap;gap:10px 18px}
.review-controls .review-pagination{align-items:center;margin-inline-start:auto}
.review-pagination #review-status{margin-inline-end:4px}
.reviews-google{min-height:44px;padding:0 14px;font-size:12px}
.review-controls button{border-color:var(--control-border);background:#fff9;color:var(--ink)}
.review-controls button:hover{background:var(--lilac)}
.review-track{scrollbar-color:#ab9bbd #e4e5e0}
.is-review-driven .review-track { scroll-snap-type: none; scroll-behavior: auto; }
.review-scroll-progress, .reviews-scroll-note { display: none; }
.motion-enhanced .review-scroll-progress {
  display: flex;
  align-items: center;
  gap: 9px;
  width: min(100%, 180px);
  color: var(--muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.motion-enhanced .reviews-scroll-note { display: block; }
.review-scroll-progress[data-series="1"] > :first-child,
.review-scroll-progress[data-series="2"] > :last-child { color: var(--violet); font-weight: 700; }
.review-scroll-meter { flex: 1; height: 3px; overflow: hidden; border-radius: var(--radius-button); background: var(--mist); }
.review-scroll-meter i { display: block; height: 100%; background: var(--violet); transform: scaleX(var(--review-progress, 0)); transform-origin: left; }
.review-card{background:#e7e1ed;border-color:#27353b17}
.review-card:nth-child(3n+2){background:var(--sky)}
.review-card:nth-child(3n){background:var(--celadon)}
.review-person{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.review-avatar{position:relative;display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:50%;overflow:hidden;background:var(--ivory);color:var(--ink);font-size:13px;font-weight:600}
.review-avatar:has(img)>span{visibility:hidden}
.review-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.review-author{color:var(--ink);font-size:15px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.review-card .stars{font-size:16px;line-height:1;letter-spacing:.08em;margin:6px 0 0}
.review-card blockquote{color:var(--ink);font-size:clamp(14px,1.1vw,16px);line-height:1.6}
.review-card details{margin-top:auto;padding-top:14px}
.review-card details,.review-card summary,.review-card details p{color:#526168}
.review-card summary{font-size:12px}
@media(max-width:520px){
 .review-controls .review-pagination{width:100%}
 .review-pagination #review-status{margin-inline-end:auto}
}

.contact{background:transparent}
.contact-intro h2 span{color:#7c658f}
.contact-intro>p:not(.eyebrow){max-width:45ch;font-size:15px}
.contact-intro>.button{display:inline-flex;color:#fff;font-size:13px;margin-bottom:0}
.demo-notice{color:#59666b}
.contact-form>label{color:#46565e;font-size:13px}
.contact-form :is(input:not([type=checkbox]),textarea){
  min-height:var(--field-min-height);
  border:1px solid var(--control-border);
  border-radius:var(--radius-field);
  background:var(--field-surface);
  color:var(--field-text);
  padding-inline:16px;
  font-size:16px;
}
.contact-form textarea{min-height:116px}
.contact-form .checkbox-label{font-size:12px}
.contact-form input[type=checkbox]{accent-color:var(--focus-ring)}
.contact-form :is(input,textarea):focus-visible{
  outline:2px solid var(--focus-ring);
  outline-offset:3px;
}
.contact-form--live .formulario-form :is(label,legend) { color: var(--ink); }
.contact-form--live .formulario-form .formulario-submit {
  min-height: var(--field-min-height);
  padding-inline: 22px;
  border-radius: var(--radius-button);
  background: var(--night);
  color: var(--ivory);
}
.contact-form--live .formulario-form a { text-decoration: underline; text-underline-offset: .2em; }
.checkbox-label input{accent-color:#695780}
#form-status{color:#435976}
.site-footer{background:#e2e8e677;border-color:var(--line)}
.footer-wordmark{color:#707e7b}
.footer-wordmark span{color:#526168}
.footer-bottom{color:#526168}

/* IRUAK is now integrated: the media and its HTML share the V9 light palette. */
.immersion{color:var(--ink);background:transparent}
.immersion.is-enhanced .journey-stage{background:transparent}
.immersion .journey-window{
  background:radial-gradient(ellipse at center,var(--bg) 24%,#f7f7f2cc 53%,transparent 78%);
}
.immersion .eyebrow,.journey-window-label{color:#5a626a}
.journey-window-label span,.journey-wordmark i{color:var(--violet)}
.journey-preview em,.journey-arrival h3 span{color:var(--violet)}
.journey-description,.journey-replay,.journey-wordmark,.is-enhanced .journey-cue{color:var(--muted)}
.journey-play{background:var(--lilac);color:var(--ink);border-color:var(--control-border);box-shadow:0 12px 40px #27353b14}
.journey-controls button{background:#f7f7f2eb;border-color:var(--control-border);color:var(--ink)}
.journey-controls button:hover{background:var(--lilac)}
.journey-chapter{border-left-color:#a99bbb;background:linear-gradient(90deg,#f7f7f2f5,#f7f7f2d1 78%,transparent)}
.journey-chapter-index{color:var(--violet)}
.journey-chapter p{color:var(--ink)}
.journey-progress{background:#cbd3d0}
.journey-progress i{background:var(--violet)}
.journey-arrival>p:not(.eyebrow):not(.hours),.journey-arrival .hours{color:var(--muted)}
.immersion.is-enhanced .journey-arrival{background:radial-gradient(ellipse 54% 59% at 12% 51%,#f7f7f2ed 12%,#f7f7f2b0 39%,transparent 84%);animation-duration:.4s}
.immersion.is-enhanced .journey-arrival h3{width:36%;max-width:450px;font-size:clamp(40px,3.4vw,58px)}
.immersion.is-enhanced .journey-arrival>p:not(.eyebrow):not(.hours){width:36%;max-width:430px;font-size:14px}
.immersion.is-enhanced .journey-arrival .hero-actions{width:36%;max-width:450px;flex-wrap:wrap;gap:12px}
.immersion a:focus-visible,.immersion button:focus-visible{outline-color:var(--violet)}
@media(max-width:1000px){
 .immersion.is-enhanced .journey-arrival{background:#f7f7f2ed}
 .immersion.is-enhanced .journey-arrival h3{width:100%;max-width:680px;font-size:clamp(39px,6vw,58px)}
 .immersion.is-enhanced .journey-arrival>p:not(.eyebrow):not(.hours){width:100%;max-width:550px;font-size:14px}
 .immersion.is-enhanced .journey-arrival .hero-actions{width:100%;max-width:600px}
}
@media(max-width:600px){
 .immersion.is-enhanced .journey-arrival h3{font-size:39px}
 .immersion.is-enhanced .journey-arrival>p:not(.eyebrow):not(.hours){font-size:12px}
}

/* Seven-section editorial flow: method + scroll journey, one final contact. */
.work-section{background:transparent}
.work-section .benefits{padding-bottom:40px}
.work-section .benefit-card h3{max-width:340px;font-size:clamp(25px,2.5vw,36px)}
.work-section .benefit-card p{max-width:350px}
#invitation{scroll-margin-top:90px}
.journey-preview h3{font-size:clamp(42px,4.8vw,76px);line-height:1.03;margin:24px 0;letter-spacing:-.058em}
.is-enhanced .journey-preview h3{font-size:clamp(46px,4.9vw,80px)}
.journey-arrival h3{font-size:clamp(42px,5.1vw,76px);line-height:1.06;margin:28px 0;letter-spacing:-.055em}
.immersion.is-enhanced .journey-arrival h3{width:36%;max-width:450px;font-size:clamp(40px,3.4vw,58px)}
.immersion.is-enhanced .journey-arrival{padding-top:110px;padding-bottom:60px}
.immersion:not(.is-enhanced){padding-top:45px;padding-bottom:75px}
.immersion:not(.is-enhanced) .journey-arrival{padding-top:40px}
.immersion:not(.is-enhanced) #journey-film{pointer-events:auto}
.price-card--featured{order:initial}
.project-description{max-width:390px}
@media(max-width:1000px){
 .is-enhanced .journey-preview h3{font-size:clamp(36px,5.5vw,56px);margin:20px 0}
 .is-enhanced .journey-preview h3 br{display:none}
}
@media(max-width:600px){
 .is-enhanced .journey-preview h3{font-size:38px;max-width:340px}
 .is-enhanced .journey-preview h3 br{display:initial}
 .is-enhanced .journey-preview{top:12%}
}
.journey-arrival-art{display:none}
@media(max-width:1000px){
 .immersion.is-enhanced[data-state=arrived] .journey-last-frame{visibility:hidden}
 .immersion:not(.is-enhanced)[data-state=arrived] .journey-last-frame{left:-17%;right:auto}
 .immersion.is-enhanced .journey-arrival{
   justify-content:center;
   gap:clamp(10px,2svh,22px);
   padding-block:calc(var(--header) + 20px) 24px;
   background:linear-gradient(#f7f7f2 10%,#f7f7f2cc 38%,transparent 70%);
   animation-name:journey-mobile-arrive;
   animation-duration:.52s;
 }
 .immersion.is-enhanced .journey-arrival h3{
   width:100%;max-width:600px;margin:0;font-size:clamp(30px,5.2vw,50px);
 }
 .immersion.is-enhanced .journey-arrival .hero-actions{margin:0}
 .immersion.is-enhanced .journey-arrival .journey-replay{position:static;margin:0}
 .immersion.is-enhanced .journey-arrival-art{
   display:block;position:relative;container-type:size;overflow:hidden;
   width:min(100%,680px);height:min(420px,64vw);min-height:0;flex:0 1 auto;
   mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),
     linear-gradient(transparent,#000 7%,#000 93%,transparent);
   mask-composite:intersect;
 }
 @media(prefers-reduced-motion:no-preference){
   .immersion.is-enhanced[data-state=arrived] .journey-arrival-art{
     animation:journey-mobile-arrive .5s .14s ease both;
   }
 }
 /* Align the wide end frame on the original device group. */
 .journey-arrival-art img{
   position:absolute;left:50%;top:50%;
   width:min(168cqw,270cqh);height:auto;max-width:none;
   translate:-67% -53.5%;
 }
}
@media(max-width:700px){
 .immersion:not(.is-enhanced)[data-state=arrived] .journey-last-frame{inset-inline:0}
 .journey-arrival-art img{
   width:min(100cqw,calc(100cqh * 16 / 9));
   translate:-50% -50%;
   mask-image:linear-gradient(transparent,#000 4%,#000 96%,transparent);
 }
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .immersion.is-enhanced #journey-film{
   transform-origin:67% 53.5%;
 }
 .immersion.is-enhanced[data-arrival-framing] #journey-film{
   transform:translate(-17%,-3.5%) scale(1.55);
   transition:opacity .52s ease,transform .5s cubic-bezier(.22,.65,.26,1);
 }
}
@media(prefers-reduced-motion:reduce){.journey-arrival{animation:none!important}}

/* Scroll polish: service/review stages use the available desktop height evenly. */
.reviews-scroll-note{font-size:10px;line-height:1.6;color:var(--muted);margin-top:8px}
.method-progress{height:2px;background:#d9deda;margin:0 0 32px;overflow:hidden}
.method-progress i{display:block;height:100%;background:var(--violet);transform-origin:left}
.pricing-grid{perspective:1400px}
.price-card{transform-origin:50% 70%}
@media(min-width:1001px){
 .motion-enhanced #services{padding-block:0}
 .motion-enhanced #services .services-stage{min-height:calc(100svh - 104px);display:flex;flex-direction:column;justify-content:center;padding-block:24px}
 .motion-enhanced #services .section-heading{margin-bottom:32px}
 .motion-enhanced #services .rail-hint{margin-top:20px}
 .motion-enhanced #avis{padding-block:0}
 .motion-enhanced #avis .reviews-stage{min-height:calc(100svh - 104px);display:flex;flex-direction:column;justify-content:center;padding-block:40px}
 .motion-enhanced #avis .section-heading{margin-bottom:32px}
 .immersion.is-enhanced .journey-stage{height:min(860px,calc(100svh - 104px));min-height:600px}
 .work-section .benefits{padding-top:100px;padding-bottom:36px}
 .work-section .benefits .section-heading{margin-bottom:48px}
 .work-section .benefit-symbol{margin-bottom:55px}
 .immersion.is-enhanced .journey-preview h3{font-size:clamp(46px,4.9vw,76px)}
}
@media(min-width:1001px) and (max-height:800px){
 .motion-enhanced #services .section-heading h2{font-size:40px}
 .motion-enhanced #services .section-heading>div>p{font-size:12px;margin-top:12px}
 .motion-enhanced #services .section-heading{margin-bottom:22px}
 .motion-enhanced #services .service-card,.motion-enhanced #services .service-art{min-height:385px}
 .motion-enhanced #services .services-stage{padding-block:16px}
 .motion-enhanced #avis .reviews-stage{padding-block:24px}
 .motion-enhanced #avis .section-heading h2{font-size:44px}
 .motion-enhanced #avis .section-heading>div>p{font-size:12px;margin-top:14px}
 .motion-enhanced #avis .section-heading{margin-bottom:24px}
}
@media(max-width:1000px){.reviews-scroll-note{display:none}.method-progress{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.method-progress i{transform:none!important}}

/* Owner correction: preserve the left-hand logos in these two project previews. */
#projet-clinique .project-visual img{object-position:left top}
#projet-mapou .project-visual img{object-position:left top}

/* Portfolio desktop: heading is stationary; only project groups stack inside the card window. */
@media(min-width:1001px){
 #projets.is-portfolio-enhanced{padding-block:0}
 #projets.is-portfolio-enhanced .projects-stage{position:relative;height:calc(100svh - 104px);display:flex;flex-direction:column;justify-content:center;padding-block:24px;gap:clamp(18px,2.5svh,36px)}
 #projets.is-portfolio-enhanced .projects-heading{flex:0 0 auto;margin:0}
 #projets.is-portfolio-enhanced .projects-heading h2{font-size:clamp(36px,min(4.2vw,6.5svh),68px)}
 #projets.is-portfolio-enhanced .projects-heading>.section-counter{display:none}
 #projets.is-portfolio-enhanced .project-stack{position:relative;flex:0 1 640px;min-height:280px;overflow:clip;border-radius:22px;isolation:isolate}
 #projets.is-portfolio-enhanced .project-card{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;top:0;transform-origin:center top;will-change:transform;box-shadow:none}
 #projets.is-portfolio-enhanced .project-card:nth-child(1){z-index:1}
 #projets.is-portfolio-enhanced .project-card:nth-child(2){z-index:2}
 #projets.is-portfolio-enhanced .project-card:nth-child(3){z-index:3}
 #projets.is-portfolio-enhanced .project-card:nth-child(4){z-index:4}
 #projets.is-portfolio-enhanced .project-card:nth-child(5){z-index:5}
 #projets.is-portfolio-enhanced .project-card[data-portfolio-active=false]{pointer-events:none}
 #projets.is-portfolio-enhanced .project-copy{padding:clamp(24px,2.3vw,40px)}
 #projets.is-portfolio-enhanced .project-copy h3{font-size:clamp(34px,3.5vw,56px)}
 #projets.is-portfolio-enhanced .project-copy .project-description{font-size:13px;line-height:1.6;max-width:390px}
 #projets.is-portfolio-enhanced .project-copy .project-details{margin-top:16px}
 #projets.is-portfolio-enhanced .project-copy .project-link{padding-top:18px;min-height:52px}
 #projets .portfolio-controls{display:flex;align-items:center;gap:12px;padding-top:6px}
 #projets .portfolio-controls button{width:44px;height:44px;border-radius:var(--radius-button);border:1px solid var(--control-border);background:#ffffff8c;color:var(--ink);font-size:20px;flex:0 0 auto}
 #projets .portfolio-controls button:hover{background:var(--lilac)}
 #projets .portfolio-controls button:disabled{opacity:.35;cursor:default}
 #projets .portfolio-controls output{font-size:11px;color:var(--muted);min-width:46px;text-align:center;white-space:nowrap}
}
/* A short landscape window cannot contain both the heading and readable cards.
   Release only the portfolio pin; services and the rest of the page keep their motion. */
@media(min-width:1001px) and (max-height:649px){
 #projets{padding-block:64px}
 #projets .projects-heading{margin-bottom:36px}
 #projets .projects-heading h2{font-size:clamp(36px,4vw,52px)}
 #projets .projects-heading>div>p{font-size:14px;margin-top:18px}
 #projets .project-card{position:relative;top:auto;height:auto;min-height:360px;margin-bottom:32px;transform:none;filter:none}
 #projets .project-copy{padding:28px}
 #projets .project-copy h3{font-size:clamp(32px,3.2vw,46px);margin-top:24px}
 #projets .project-link{margin-top:24px;min-height:44px}
}
@media(min-width:1001px) and (max-width:1200px){
 #projets.is-portfolio-enhanced .projects-heading h2{font-size:48px}
 #projets .portfolio-controls{gap:8px}
}
@media(min-width:1001px) and (max-height:800px){
 #projets.is-portfolio-enhanced .projects-stage{padding-block:16px;gap:18px}
 #projets.is-portfolio-enhanced .projects-heading h2{font-size:42px}
 #projets.is-portfolio-enhanced .projects-heading>div>p{font-size:12px;line-height:1.55;margin-top:14px}
 #projets.is-portfolio-enhanced .project-copy{padding:22px 26px}
 #projets.is-portfolio-enhanced .project-copy h3{font-size:36px}
 #projets.is-portfolio-enhanced .project-copy .project-description{font-size:12px}
 #projets.is-portfolio-enhanced .project-copy .project-details{margin-top:12px}
 #projets.is-portfolio-enhanced .project-copy .project-link{padding-top:12px;min-height:44px}
}

/* Keep every project inside its own pinned scene during the natural hand-off.
   overflow:clip does not introduce an inner scroll container or fixed containing block. */
@media(min-width:1001px){
 #projets.is-portfolio-enhanced .projects-stage{overflow:clip}
}

/* Method: one stationary introduction, four steps in the page's vertical flow.
   Native sticky ends with .benefits, before the separate immersion scene. */
#accompagnement .method-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:start;padding-block:64px}
#accompagnement .method-intro{position:sticky;top:max(128px,calc((100svh + 104px - var(--method-intro-height,360px))/2));display:flex;flex-direction:column;justify-content:center;padding:0;align-self:start}
#accompagnement .method-intro .section-heading{display:block;margin:0}
#accompagnement .method-intro .eyebrow{padding:0;margin:0 0 30px;max-width:240px}
#accompagnement .method-intro h2{font-size:clamp(38px,3.8vw,62px);line-height:1.07}
#accompagnement .method-intro .section-heading>div>p{font-size:15px;line-height:1.75;margin-top:26px;max-width:440px}
#accompagnement .method-progress{margin:36px 0 0;max-width:170px;height:2px}
#accompagnement .benefit-grid{display:grid;grid-template-columns:1fr;gap:24px;min-width:0}
#accompagnement .benefit-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:clamp(330px,61svh,690px);padding:clamp(28px,3.5vw,54px);border:1px solid #27353b12;border-radius:24px;background:var(--celadon);min-width:0}
#accompagnement .benefit-card:nth-child(2){background:var(--lilac)}
#accompagnement .benefit-card:nth-child(3){background:var(--sky)}
#accompagnement .benefit-symbol{font-size:48px;margin:0 0 32px}
#accompagnement .benefit-card .tiny-number{top:30px;right:30px;color:var(--muted)}
#accompagnement .benefit-card h3{font-size:clamp(30px,2.6vw,42px);line-height:1.12;max-width:440px;margin:0 0 24px;padding:0}
#accompagnement .benefit-card p{font-size:15px;line-height:1.8;max-width:430px}
#accompagnement .method-blog-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;margin-top:24px;font-size:14px;color:var(--ink);border-bottom:1px solid #27353b55}
@media(max-width:1000px){
 #accompagnement .method-layout{grid-template-columns:1fr;gap:36px;padding-block:64px}
 #accompagnement .method-intro{position:static;min-height:0;padding:0}
 #accompagnement .method-intro h2{font-size:clamp(36px,5.2vw,52px)}
 #accompagnement .method-intro .section-heading>div>p{max-width:600px;font-size:14px}
 #accompagnement .benefit-card{min-height:330px;padding:32px!important}
 #accompagnement .benefit-card h3 br{display:initial}
 #accompagnement .benefit-card h3{font-size:32px}
 #accompagnement .benefit-card p{font-size:14px;max-width:580px}
 #accompagnement .benefit-symbol{font-size:42px;margin-bottom:24px}
}
@media(max-width:600px){
 #accompagnement .method-layout{padding-block:48px;gap:32px}
 #accompagnement .method-intro h2{font-size:38px}
 #accompagnement .benefit-card{min-height:0;padding:32px 24px!important;border-radius:18px}
 #accompagnement .benefit-card h3{font-size:30px}
 #accompagnement .benefit-card .tiny-number{right:24px;top:28px}
}
@media(min-width:1001px) and (max-height:650px){
 #accompagnement .method-intro{position:static;min-height:0;padding-block:24px}
 #accompagnement .method-intro h2{font-size:38px}
}
@media(prefers-reduced-motion:reduce){
 #accompagnement .method-intro{position:static;min-height:0;padding-block:24px}
}

/* Capsule for labelled actions and circular controls of equal width and height. */
button,
.button,
.hero-scroll-link,
.space-gallery-controls button,
.review-controls button,
.journey-play,
.journey-controls button,
.project-link > span[aria-hidden]{border-radius:var(--radius-button)}

.price-card--featured .button:focus-visible,
:is(.project-card--iruak,.project-card--absolu) .project-link:focus-visible{
  outline-color:var(--focus-ring-on-dark);
}

.section-heading .muted{color:#59646c}
