/* Page « Notre approche » : feuille de style autonome, scopée sous .au-main (n'affecte ni l'en-tête ni le pied de page du site). */
.au-main{--bg: #FFFFFF; --bg-alt: #F5F4F1; --ink: #122943; --ink-dim: #4C4D50; --ink-faint: #8A8B8E;
  --navy: #1B3A5C; --navy-deep: #122943; --gold: #8A6F45; --gold-soft: #D8C29A;
  --border: #ECECEA; --white: #FFFFFF;}
.au-main *, .au-main *::before, .au-main *::after{margin:0;padding:0;box-sizing:border-box;}
.au-main{scroll-behavior:smooth;}
.au-main{background:var(--bg);color:var(--ink);font-family:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;overflow-x:hidden;}
.au-main ::selection{background:var(--gold-soft);color:var(--navy-deep);}
.au-main h1, .au-main h2, .au-main h3{font-family:'Cormorant Garamond',Garamond,'Times New Roman',serif;font-weight:400;letter-spacing:-0.01em;color:var(--ink);}
.au-main .wrap{max-width:1200px;margin:0 auto;padding:0 48px;}
.au-main a{color:inherit;cursor:pointer;}
.au-main .eyebrow{font-family:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;font-size:12px;font-weight:600;color:var(--gold);
  letter-spacing:0.16em;text-transform:uppercase;margin-bottom:18px;display:inline-block;}
.au-main .eyebrow.on-dark{color:var(--gold-soft);}
.au-main .page-hero{padding:170px 0 90px;position:relative;}
.au-main .page-hero h1{font-size:clamp(34px,4.6vw,56px);line-height:1.15;font-weight:400;max-width:820px;}
.au-main .page-hero h1 em{font-style:italic;color:var(--gold);}
.au-main .page-hero .lead{margin-top:22px;max-width:640px;color:var(--ink-dim);font-size:17px;line-height:1.75;}
.au-main .hero-ctas{margin-top:44px;display:flex;gap:16px;flex-wrap:wrap;}
.au-main .btn-ghost-dark{border-color:rgba(255,255,255,0.55);color:var(--white);}
.au-main .btn-ghost-dark:hover{border-color:var(--gold-soft);color:var(--gold-soft);}
@keyframes kenburns{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.1) translate(-2%,-2%);}}
.au-main .section-head.on-dark h2{color:var(--white);}
.au-main .section-head.on-dark p{color:rgba(255,255,255,0.72);}
.au-main .section-head.on-dark .eyebrow{color:var(--gold-soft);}
.au-main .page-hero.on-dark h1{color:var(--white);}
.au-main .page-hero.on-dark h1 em{color:var(--gold-soft);}
.au-main .page-hero.on-dark .lead{color:rgba(255,255,255,0.78);}
.au-main .page-hero.on-dark .eyebrow{color:var(--gold-soft);}
.au-main .reveal{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);}
.au-main .reveal.in{opacity:1;transform:translateY(0);}
.au-main .stagger .reveal:nth-child(1){transition-delay:0s;}
.au-main .stagger .reveal:nth-child(2){transition-delay:.12s;}
.au-main .stagger .reveal:nth-child(3){transition-delay:.24s;}
.au-main .stagger .reveal:nth-child(4){transition-delay:.36s;}
.au-main .stagger .reveal:nth-child(5){transition-delay:.48s;}
.au-main .section{padding:110px 0;}
.au-main .section.alt{background:var(--bg-alt);}
.au-main .section.tight{padding:70px 0;}
.au-main .section-head{max-width:640px;margin-bottom:56px;}
.au-main .section-head h2{font-size:clamp(26px,3vw,38px);line-height:1.25;font-weight:400;}
.au-main .section-head p{color:var(--ink-dim);margin-top:16px;font-size:16px;line-height:1.75;}
.au-main .quote{border-left:none;padding:0;margin:32px 0;font-family:'Cormorant Garamond',Garamond,'Times New Roman',serif;
  font-style:italic;font-weight:400;font-size:21px;line-height:1.55;color:var(--navy-deep);max-width:620px;}
.au-main .gradient-panel{position:relative;padding:38px 42px;border-radius:8px;overflow:hidden;
  background:var(--bg-alt);border:1px solid var(--border);}
.au-main .gradient-panel .quote{margin:0;}
.au-main .gradient-panel p{color:var(--ink-dim);font-size:15.5px;line-height:1.75;}
.au-main .gradient-panel h3{font-size:22px;font-weight:400;margin-bottom:4px;}
.au-main .media{position:relative;border-radius:8px;overflow:hidden;background-size:cover;background-position:center;}
.au-main .media .kb{position:absolute;inset:-8%;
  animation:kenburns 20s ease-in-out infinite alternate;}
.au-main .media .tint{position:absolute;inset:0;background:linear-gradient(180deg, rgba(18,41,67,0) 55%, rgba(18,41,67,0.18));}
.au-main .media-square{aspect-ratio:4/3;}
.au-main .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);}
.au-main .pillar{background:var(--white);padding:40px 34px;text-decoration:none;display:block;transition:background .25s;}
.au-main a.pillar:hover{background:var(--bg-alt);}
.au-main .pillar .num{font-family:'Cormorant Garamond',Garamond,'Times New Roman',serif;font-size:14px;color:var(--gold);letter-spacing:0.06em;}
.au-main .pillar h3{font-size:21px;margin-top:14px;font-weight:400;}
.au-main .pillar p{color:var(--ink-dim);font-size:14px;line-height:1.7;margin-top:12px;}
.au-main .transform{background:var(--navy-deep);color:var(--white);padding:130px 0;position:relative;overflow:hidden;}
.au-main .transform::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 900px 500px at 85% 20%, rgba(138,111,69,0.14), transparent 60%);}
.au-main .transform .wrap{position:relative;}
.au-main .transform h2{color:var(--white);font-size:clamp(28px,3.4vw,42px);line-height:1.25;font-weight:400;max-width:720px;}
.au-main .transform h2 em{color:var(--gold-soft);font-style:italic;}
.au-main .transform p{color:rgba(255,255,255,0.68);margin-top:22px;font-size:16px;line-height:1.8;max-width:560px;}
.au-main .expertise-block{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start;padding:64px 0;border-top:1px solid var(--border);}
.au-main .expertise-block:first-of-type{border-top:none;}
.au-main .expertise-block .num{font-family:'Cormorant Garamond',Garamond,'Times New Roman',serif;font-size:15px;color:var(--gold);}
.au-main .expertise-block h3{font-size:28px;margin-top:12px;font-weight:400;}
.au-main .tag{font-size:11px;letter-spacing:0.03em;color:var(--navy-deep);border:1px solid var(--border);border-radius:20px;padding:6px 13px;background:var(--bg-alt);}
.au-main .btn-primary{background:var(--navy-deep);color:var(--white);padding:16px 30px;border-radius:2px;text-decoration:none;
  font-size:14px;font-weight:500;letter-spacing:0.02em;transition:background .25s, transform .2s;display:inline-block;border:1px solid var(--navy-deep);cursor:pointer;}
.au-main .btn-primary:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-deep);transform:translateY(-2px);}
.au-main .btn-ghost{border:1px solid var(--ink);color:var(--ink);padding:15px 29px;border-radius:2px;text-decoration:none;
  font-size:14px;transition:all .25s;display:inline-block;cursor:pointer;}
.au-main .btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);}
.au-main .cta-final{background:var(--bg-alt);padding:120px 0;text-align:center;}
.au-main .cta-final h2{font-size:clamp(28px,3.6vw,44px);font-weight:400;max-width:680px;margin:0 auto;line-height:1.25;}
.au-main .cta-final h2 em{color:var(--gold);font-style:italic;}
.au-main .cta-final p{color:var(--ink-dim);margin-top:18px;font-size:15.5px;}
.au-main .cta-final .hero-ctas{margin-top:36px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
@media(max-width:960px){
.au-main .pillars{grid-template-columns:1fr;}
.au-main .expertise-block{grid-template-columns:1fr;gap:20px;}
.au-main .wrap{padding:0 24px;}
}
.au-main{font-family:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;}
.au-main h1, .au-main h2, .au-main h3{font-weight:500;letter-spacing:-0.005em;}
.au-main .page-hero h1{font-size:clamp(38px,5.2vw,64px);line-height:1.08;font-weight:500;}
.au-main .section-head h2{font-size:clamp(30px,3.5vw,46px);line-height:1.12;font-weight:500;}
.au-main .transform h2, .au-main .cta-final h2{font-size:clamp(32px,4vw,52px);line-height:1.12;font-weight:500;}
.au-main .expertise-block h3{font-size:32px;font-weight:500;}
.au-main .quote{font-size:25px;font-weight:500;}
.au-main .eyebrow{font-weight:500;letter-spacing:.2em;}
.au-main :focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.au-main .media .kb{background-image:inherit;background-size:cover;background-position:center;}
.au-main .media.reveal{opacity:1;transform:none;clip-path:inset(12% 12% 12% 12% round 8px);
  transition:clip-path 1.4s cubic-bezier(.22,1,.36,1);}
.au-main .media.reveal.in{clip-path:inset(0 0 0 0 round 8px);}
@media (prefers-reduced-motion: reduce){
.au-main *, .au-main *::before, .au-main *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
.au-main .reveal{opacity:1;transform:none;}
.au-main .media.reveal{clip-path:none;}
}
.au-main .btn-ghost.btn-ghost-dark{border-color:rgba(255,255,255,0.55);color:var(--white);}
.au-main .btn-ghost.btn-ghost-dark:hover{border-color:var(--gold-soft);color:var(--gold-soft);}
.au-main .btn-primary, .au-main .btn-ghost{border-radius:999px;}
.au-main .xp-page-hero{padding:150px 0 70px;}
.au-main .xp-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;}
.au-main .xp-hero h1{font-size:clamp(38px,4.4vw,58px);line-height:1.08;margin-top:10px;}
.au-main .xp-hero .lead{max-width:560px;}
.au-main .xp-hero-ctas{margin-top:34px;}
.au-main .xp-hero-img{aspect-ratio:4/3;border-radius:6px;background-size:cover;background-position:center;background-color:var(--bg-alt);}
@media(max-width:960px){
.au-main .xp-hero{grid-template-columns:1fr;gap:28px;}
.au-main .xp-page-hero{padding-top:120px;}
}
.au-main .xp-hero-img{position:relative;overflow:hidden;clip-path:inset(0 0 0 100% round 6px);
  animation:xpUnveil 1.4s cubic-bezier(.77,0,.18,1) .25s forwards;}
.au-main .xp-hero-zoom{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.3);
  animation:xpZoomIn 2.2s cubic-bezier(.22,1,.36,1) .25s forwards, xpDrift 18s ease-in-out 2.5s infinite alternate;}
@keyframes xpUnveil{to{clip-path:inset(0 0 0 0 round 6px);}}
@keyframes xpZoomIn{to{transform:scale(1.04);}}
@keyframes xpDrift{from{transform:scale(1.04);}to{transform:scale(1.14) translate(-1.5%,-1%);}}
@media (prefers-reduced-motion: reduce){
.au-main .xp-hero-img{clip-path:none!important;animation:none!important;}
.au-main .xp-hero-zoom{animation:none!important;transform:none!important;}
}
.au-main #missions{scroll-margin-top:110px;}
.au-main .eyebrow{font-family:'IBM Plex Mono',ui-monospace,monospace;}
.au-main .eyebrow{font-size:11.5px;letter-spacing:.16em;font-weight:500;}
.au-main .cta-final h2 em{font-style:italic;}
.au-main .cover{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--navy-deep);color:var(--white);padding:170px 0 140px;}
.au-main .cover-media{position:absolute;inset:-2%;background-size:cover;background-position:center;transform:scale(1.18);
  animation:coverIn 2.6s cubic-bezier(.22,1,.36,1) forwards, coverDrift 22s ease-in-out 2.6s infinite alternate;}
@keyframes coverIn{to{transform:scale(1.04);}}
@keyframes coverDrift{from{transform:scale(1.04) translate(0,0);}to{transform:scale(1.14) translate(-1.5%,-1%);}}
.au-main .cover-tint{position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,41,67,.92) 0%,rgba(18,41,67,.72) 45%,rgba(18,41,67,.35) 100%),linear-gradient(0deg,rgba(18,41,67,.55),transparent 40%);}
.au-main .cover-inner{position:relative;z-index:2;width:100%;}
.au-main .cover-inner > *{max-width:760px;}
.au-main .cover h1{color:var(--white);font-size:clamp(46px,6.2vw,88px);line-height:1.02;font-weight:500;margin:16px 0 26px;}
.au-main .cover h1 em{color:var(--gold-soft);}
.au-main .cover .lead{color:rgba(255,255,255,.82);font-size:clamp(16px,1.3vw,19px);line-height:1.75;max-width:640px;}
.au-main .cover .hero-ctas{margin-top:36px;}
.au-main .cover .eyebrow{color:var(--gold-soft);}
.au-main .cover-in{opacity:0;transform:translateY(22px);animation:coverUp 1s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--d,0s);}
@keyframes coverUp{to{opacity:1;transform:none;}}
.au-main .cover-scroll{position:absolute;left:50%;bottom:34px;z-index:2;width:26px;height:42px;margin-left:-13px;border:1px solid rgba(255,255,255,.5);border-radius:14px;}
.au-main .cover-scroll span{position:absolute;left:50%;top:9px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:var(--white);animation:coverWheel 1.8s ease-in-out infinite;}
@keyframes coverWheel{0%{opacity:0;transform:translateY(0);}30%{opacity:1;}100%{opacity:0;transform:translateY(12px);}}
.au-main #missions{scroll-margin-top:90px;}
@media (prefers-reduced-motion: reduce){
.au-main .cover-media{animation:none;transform:none;}
.au-main .cover-in{animation:none;opacity:1;transform:none;}
.au-main .cover-scroll span{animation:none;}
}
@media(max-width:700px){
.au-main .cover{padding:130px 0 110px;}
}
.au-main .cover .btn-primary{background:var(--white);color:var(--navy-deep);}
.au-main .cover .btn-primary:hover{background:var(--gold-soft);color:var(--navy-deep);}

/* ---- Intégration WordPress / GeneratePress ---- */
body.au-page .site-content{display:block;}
body.au-page .content-area{width:100%;float:none;}
body.au-page #right-sidebar,body.au-page #left-sidebar,body.au-page .sidebar{display:none;}
body.au-page .grid-container,body.au-page .site-content,body.au-page .inside-article{max-width:none;padding:0;margin:0;}
body.au-page .site-main>*{margin-bottom:0;}
body.au-page .entry-header,body.au-page .page-header{display:none;}
.au-main{overflow-x:clip;}
.au-main .pc-sticky{top:var(--au-sticky-top,78px);}
.au-main a{text-decoration:none;}
.au-main img{max-width:100%;}
.au-main .au-empty{max-width:760px;margin:140px auto;padding:24px 28px;border:2px dashed var(--gold);background:#fff;color:var(--ink);font:15px/1.7 sans-serif;}
.au-main [hidden]{display:none !important;}
.au-main .form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.au-main .au-form-done{padding:18px 22px;border:1px solid var(--gold);background:var(--bg-alt);color:var(--ink);border-radius:4px;margin-top:8px;}
.au-main .pc-timeline{grid-template-columns:repeat(var(--pc-n,5),1fr);}
.au-main .au-prose p{color:var(--ink-dim);font-size:16.5px;line-height:1.85;margin:0 0 18px;}
.au-main .au-prose p:last-child{margin-bottom:0;}
@media(max-width:960px){.au-main .pc-sticky .pc-timeline{grid-template-columns:repeat(var(--pc-n,5),minmax(110px,1fr));}}
.au-main .au-form-error{color:#9b2c2c;font-size:14px;min-height:20px;margin:6px 0 10px;}
