:root{--navy:#17173e;--blue:#17173e;--pale:#f8f7f3;--line:#dde2e8}
body{background:#f8f7f3;color:var(--navy)}
.site-header{background:rgba(255,255,255,.98)}
.header-inner{min-height:76px}
.brand{width:150px;height:65px;overflow:hidden;justify-content:center}
.brand img{width:150px;max-width:none;height:auto;flex:none}
.footer{background:var(--navy);color:#fff;border:0;padding:.9rem 0}
.footer-inner{min-height:48px}
.footer-brand{display:block;width:102px;height:48px;overflow:hidden}
.footer-brand img{width:102px;max-width:none;filter:brightness(0) invert(1)}
.footer small{color:#e4e8f0}
.footer nav a{font-size:.85rem}
.hero,.hero.compact{min-height:300px;background-image:linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,.32) 42%,rgba(255,255,255,0) 72%),url('assets/hero-approved.png');background-position:center 48%}
.hero .shell{padding-block:2.2rem}
.hero h1,.hero.compact h1{font-size:clamp(2.5rem,4vw,4.15rem);text-transform:uppercase;margin-bottom:.8rem}
.hero p{font-size:1rem;line-height:1.38;max-width:490px;margin-bottom:0}
.hero .eyebrow{margin-bottom:.35rem}
.mockup-home-continuum{background:url('assets/hero-approved.png') center center/cover no-repeat}
.mockup-home-continuum>.hero{background:linear-gradient(90deg,rgba(255,255,255,.76),rgba(255,255,255,.30) 45%,rgba(255,255,255,0) 72%)}
.mockup-home-continuum>.home-expertises{background:linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.90) 70%,rgba(250,249,247,.48) 100%)}
.mockup-home-continuum>.about-band{background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.68) 45%,rgba(255,255,255,.04) 80%)}
.section{padding:3.5rem 0;background:transparent}
.section.soft{background:#f5f3ee}
.section-heading{margin-bottom:1.4rem}
.section-heading h2{text-transform:uppercase;font-size:clamp(1.55rem,2.5vw,2.5rem)}
.page-expertises,.page-equipe,.page-references,.page-contact{background:#f8f7f3}
.page-expertises .service-row,.page-equipe .section,.page-references .references-section,.page-contact .section{background:#f8f7f3}
.expertise-card h3{text-transform:uppercase}
.expertise-card p{max-width:210px}
.home-expertises .expertise-grid{max-width:1020px;margin:auto}
.home-expertises{padding-block:2rem 2.6rem}
.home-expertises .expertise-card{min-height:195px}
.home-expertises .expertise-card .num{font-size:2.5rem}
.home-expertises .expertise-card p{font-size:.91rem}
.about-band{min-height:250px}
.about-band h2{text-transform:uppercase;font-size:clamp(1.7rem,2.6vw,2.7rem);margin-bottom:.3rem}
.about-band p{font-size:1rem}
.home-references{background:#f8f7f3}
.home-carousel{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:.8rem;align-items:center}
.home-carousel-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.home-ref-card{background:#fff;border-radius:7px;overflow:hidden;border:1px solid var(--line);box-shadow:0 3px 14px rgba(10,28,64,.04)}
.home-ref-photo{height:180px;background-repeat:no-repeat;background-size:380% auto;background-position:16% 42%}
.home-ref-text{padding:1rem 1.1rem;min-height:155px}
.home-ref-text .eyebrow{font-size:.7rem}
.home-ref-text h3{font-size:1rem;margin:.2rem 0}
.home-ref-text p{font-size:.83rem;line-height:1.35;margin:0}
.carousel-arrow{width:36px;height:36px;border:1px solid var(--navy);background:#fff;color:var(--navy);border-radius:50%;font-size:1.2rem;cursor:pointer}
.carousel-arrow:hover{background:var(--navy);color:#fff}
.home-more{text-align:right;margin:1.2rem 0 0}
.trust{padding:1.5rem 0 1rem;background:#fff}
.trust .eyebrow{margin-bottom:.7rem}
.cta-band{min-height:230px;background-image:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.05)),url('assets/cta-approved.png');background-position:center 58%}
.cta-panel{background:rgba(255,255,255,.68);box-shadow:0 2px 20px rgba(10,28,64,.12)}
.cta-panel h2{text-transform:uppercase}
.service-row{grid-template-columns:1fr 1fr 1fr;padding:2.5rem 0}
.service-row .service-visual{align-self:center}
.service-title h2{font-size:1.65rem}
.service-quote{display:flex;align-items:center;gap:.75rem;padding-top:.7rem;border-top:1px solid var(--line)}
.quote-arrow{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;font-size:1.25rem}
.experience-list article{display:flex;align-items:flex-start;gap:1.2rem;border-top:1px solid #d5deeb}
.experience-list h3:after{content:'';display:block;width:36px;height:3px;background:var(--orange);margin:.6rem 0}
.founder>.eyebrow:before,.founder .years:before{background:var(--orange)}
.portrait{box-shadow:0 6px 24px rgba(8,41,90,.08)}
.references-section .filter-row{justify-content:center;margin-top:0}
.reference-rows{display:block}
.contact-line{display:flex;align-items:flex-start;gap:.7rem}
.contact-line svg{width:25px;height:25px;flex:none;fill:none;stroke:var(--navy);stroke-width:2}
.linkedin-link{margin-top:.65rem}
.linkedin-link svg{width:22px;height:22px;flex:none}
.map-frame{position:relative;width:100%;height:350px;margin-top:1.2rem;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#e8edf2 url('assets/mockup-contact.png') no-repeat 9% 79%/327% 341%}
.map-frame iframe{border:0;width:100%;height:100%;opacity:0;pointer-events:none}
.map-frame.map-loaded iframe{opacity:1;pointer-events:auto}
.map-fallback{position:absolute;right:1rem;bottom:1rem;background:var(--navy);color:#fff;padding:.55rem .85rem;border-radius:4px;font-size:.85rem;font-weight:700;box-shadow:0 2px 9px #0003}
.map-fallback:hover{background:var(--orange);color:#fff}
.contact-form{background:#f0f5f9}
.contact-form h2{margin-bottom:1rem}
.form-note{min-height:2em}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
@media(max-width:1000px){.home-carousel-items{grid-template-columns:repeat(2,minmax(0,1fr))}.home-ref-card:nth-child(3){display:none}.service-row{grid-template-columns:1fr 1fr}.service-details{grid-column:1/-1}}
@media(max-width:700px){.header-inner{min-height:68px}.brand{width:120px;height:56px}.brand img{width:120px}.site-nav{top:68px}.hero,.hero.compact{min-height:285px;background-image:linear-gradient(180deg,rgba(255,255,255,.91),rgba(255,255,255,.67) 57%,rgba(255,255,255,.08)),url('assets/hero-approved.png');background-position:66% center}.hero .shell{padding-top:1.2rem;padding-bottom:2rem}.mockup-home-continuum>.hero{background-image:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.64) 60%,rgba(255,255,255,.04)),url('assets/hero-approved.png');background-position:66% center}.hero h1,.hero.compact h1{font-size:clamp(2rem,8vw,3rem)}.hero p{font-size:.91rem;max-width:320px}.home-expertises .expertise-card{min-height:112px;padding:.9rem 0}.home-carousel{grid-template-columns:30px minmax(0,1fr) 30px;gap:.35rem}.home-carousel-items{grid-template-columns:1fr}.home-ref-card:nth-child(2){display:none}.home-ref-photo{height:185px}.carousel-arrow{width:29px;height:29px}.home-ref-text{min-height:130px}.service-row{display:block}.service-visual{margin:1rem 0}.mockup-experience-icon{width:75px;height:78px}.contact-layout{display:block}.contact-form{margin-top:2rem}.map-frame{height:280px}.footer-inner{align-items:center;text-align:center}.footer nav{justify-content:center}.footer-brand{height:44px}.footer-brand img{width:95px}}
@media(max-width:700px){.mockup-home-continuum{background-position:66% center}.mockup-home-continuum>.hero{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.64) 60%,rgba(255,255,255,.04))}.mockup-home-continuum>.home-expertises{background:rgba(250,249,247,.88)}.mockup-home-continuum>.about-band{background:rgba(255,255,255,.78)}}

/* The supplied logo has generous transparent margins. Keep the complete image
   visible in the header and footer instead of clipping those margins. */
.brand,.footer-brand{overflow:visible}
.brand{width:120px}
.brand img{width:120px}
.brand img,.footer-brand img{object-fit:contain}
.footer-brand{height:auto;flex:none}

/* Founder portrait and copy follow the side-by-side validated layout. */
.page-equipe .about-layout{
  width:min(100% - 3rem,1120px);
  grid-template-columns:minmax(0,450px) minmax(0,1fr);
  gap:clamp(2rem,4vw,3rem);
  align-items:start;
}
.page-equipe .mockup-julien-portrait{align-self:start}
.page-equipe .founder{min-width:0}

@media(max-width:1000px){
  .page-equipe .about-layout{grid-template-columns:minmax(0,45%) minmax(0,1fr);gap:2rem}
}

@media(max-width:700px){
  .brand,.brand img{width:108px}
  .page-equipe .about-layout{
    width:min(100% - 2rem,600px);
    grid-template-columns:minmax(0,40%) minmax(0,1fr);
    gap:1rem;
  }
  .page-equipe .founder>.eyebrow{font-size:.66rem;gap:.35rem}
  .page-equipe .founder>.eyebrow:before{width:20px}
  .page-equipe .founder h2{font-size:clamp(1rem,4.5vw,1.5rem);white-space:nowrap}
  .page-equipe .founder .lead{font-size:.79rem;line-height:1.25}
  .page-equipe .years{font-size:2rem;margin:.7rem 0}
  .page-equipe .years span{font-size:.62rem;line-height:1.2}
  .page-equipe .experience-list{gap:.2rem}
  .page-equipe .experience-list article{gap:.45rem;padding:.7rem 0}
  .page-equipe .mockup-experience-icon{width:46px;height:48px}
  .page-equipe .experience-list h3{font-size:.68rem;line-height:1.2}
  .page-equipe .experience-list h3:after{width:24px;height:2px;margin:.35rem 0}
  .page-equipe .experience-list p{font-size:.68rem;line-height:1.3}
}
