
:root{
 --cream:#f8f0df; --cream2:#fffaf0; --purple:#5f477d; --purple2:#8c72a7;
 --olive:#6d7135; --olive2:#8b8e4b; --gold:#c99828; --ink:#262125; --muted:#675f63;
 --deep:#1a1326; --shadow:0 18px 42px rgba(67,49,72,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:
 radial-gradient(circle at 10% 8%,rgba(201,152,40,.08),transparent 24%),
 linear-gradient(180deg,var(--cream2),var(--cream));font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.58}
a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(255,250,240,.94);backdrop-filter:blur(8px)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:18px}
.brand img{width:210px;display:block}
nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}nav a{font-weight:800;font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;font-weight:900}
.btn-purple{background:var(--purple);color:#fff}.btn-olive{background:var(--olive);color:#fff}.btn-light{background:#fff;color:var(--purple);box-shadow:var(--shadow)}
.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:Georgia,serif;line-height:1.08;margin-top:0}h1{font-size:clamp(42px,5.6vw,72px);color:var(--purple)}h2{font-size:clamp(30px,4vw,46px);color:var(--purple)}h3{font-size:22px;color:var(--purple)}p{color:var(--muted)}
.hero{padding:54px 0 68px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;left:-110px;bottom:-120px;width:420px;height:270px;border-radius:55% 45% 62% 38%;background:rgba(109,113,53,.08);transform:rotate(-12deg)}
.hero:after{content:"";position:absolute;right:-180px;top:-120px;width:520px;height:390px;border-radius:44% 56% 37% 63%;border:2px solid rgba(201,152,40,.25);transform:rotate(14deg)}
.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:center;position:relative;z-index:1}
.hero-copy p{font-size:18px;max-width:620px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.portrait-wrap{position:relative;padding:12px}
.portrait-wrap:before{content:"";position:absolute;inset:0;border-radius:58% 42% 53% 47% / 44% 53% 47% 56%;background:rgba(109,113,53,.22);transform:rotate(-3deg)}
.portrait-wrap img{position:relative;width:100%;height:520px;object-fit:cover;object-position:center 18%;display:block;border-radius:52% 48% 46% 54% / 40% 45% 55% 60%;border:4px solid rgba(201,152,40,.55);box-shadow:var(--shadow)}
.story{padding:10px 0 65px}
.story-shape{background:#fffaf2;border-radius:12% 6% 10% 8% / 18% 12% 16% 10%;padding:45px 50px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.story-shape:after{content:"";position:absolute;width:260px;height:180px;border-radius:50%;background:rgba(95,71,125,.06);right:-80px;bottom:-90px}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}
.highlight{font-weight:900;color:var(--purple);font-size:18px}
.services{padding:20px 0 75px}
.section-head{text-align:center;max-width:800px;margin:0 auto 34px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service{background:#fffaf3;padding:28px;box-shadow:0 12px 30px rgba(67,49,72,.09);display:flex;flex-direction:column;min-height:220px;position:relative;overflow:hidden}
.service:nth-child(1){border-radius:38px 20px 52px 26px}.service:nth-child(2){border-radius:20px 52px 28px 46px}.service:nth-child(3){border-radius:50px 24px 38px 18px}
.service:nth-child(4){border-radius:24px 44px 20px 52px}.service:nth-child(5){border-radius:42px 20px 48px 26px}.service:nth-child(6){border-radius:18px 48px 24px 42px}
.service:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:rgba(201,152,40,.07);right:-30px;top:-35px}
.service .ico{font-size:29px}.service p{flex:1}.service a{font-weight:900;color:var(--olive)}
.candidate{margin:0 auto 70px;background:var(--deep);color:#fff;padding:34px 38px;border-radius:11% 5% 12% 6% / 32% 24% 28% 22%;display:flex;align-items:center;justify-content:space-between;gap:30px}
.candidate h2{color:#fff;margin-bottom:8px}.candidate p{color:#eee7f4;margin:0}
.subhero{text-align:center;padding:58px 0 18px}.subhero p{max-width:800px;margin:auto;font-size:18px}
.journey{padding:25px 0 72px}
.photo-journey{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.photo-step{background:#fffaf3;box-shadow:var(--shadow);overflow:hidden;min-height:425px;display:flex;flex-direction:column}
.photo-step:nth-child(1){border-radius:42px 18px 48px 24px}
.photo-step:nth-child(2){border-radius:18px 46px 22px 42px}
.photo-step:nth-child(3){border-radius:48px 22px 40px 18px}
.photo-step:nth-child(4){border-radius:22px 50px 26px 44px}
.photo-step img{width:100%;height:205px;object-fit:cover;object-position:center top;display:block}
.photo-step .inside{padding:22px 22px 24px}
.num{font-weight:900;color:var(--gold);font-size:12px;letter-spacing:.14em;margin-bottom:7px}
.photo-step p{font-size:15.5px;margin-bottom:0}
.photo-step:first-child{background:#19161d}.photo-step:first-child h3,.photo-step:first-child p{color:#fff}
.bridge{margin-top:30px;background:#fffaf3;padding:34px 38px;border-radius:10% 5% 12% 7% / 24% 18% 22% 16%;box-shadow:var(--shadow)}
.partner{margin-top:18px;background:rgba(109,113,53,.1);padding:18px 22px;border-radius:32px 18px 36px 20px;border-left:4px solid var(--olive)}
.back{display:inline-block;margin-top:22px;font-weight:900;color:var(--purple)}
.contact{padding:55px 0 75px}.contact-card{background:#fffaf3;box-shadow:var(--shadow);padding:40px;border-radius:11% 5% 12% 7% / 25% 18% 22% 15%;display:grid;grid-template-columns:1fr 1fr;gap:35px}
footer{background:var(--deep);color:#ddd;text-align:center;padding:34px 0;border-radius:45% 45% 0 0 / 18px 18px 0 0}
footer a{color:#fff}
@media(max-width:900px){
 .hero-grid,.story-grid,.contact-card{grid-template-columns:1fr}
 .service-grid{grid-template-columns:1fr 1fr}.photo-journey{grid-template-columns:1fr 1fr}
 .portrait-wrap img{height:480px}nav a:not(.btn){display:none}
}
@media(max-width:620px){
 .service-grid,.photo-journey{grid-template-columns:1fr}.candidate{flex-direction:column;align-items:flex-start}
 .portrait-wrap img{height:420px}.story-shape{padding:32px 24px}.brand img{width:155px}
}

.footer-tresorpro{background:linear-gradient(135deg,#f5eddb,#eee5cf)!important;color:#332d37!important;padding:34px 0!important;border-radius:46% 46% 0 0/18px 18px 0 0!important;border-top:1px solid rgba(95,71,125,.12)}
.footer-inner{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:28px;align-items:center}.footer-tresorpro strong{font-family:Georgia,serif;color:#5f477d;font-size:19px}.footer-tresorpro span{color:#6b636b;font-size:14px}.footer-tresorpro a{color:#5f477d!important;font-weight:700}.footer-links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.footer-contact{text-align:right}
.legal-page{padding:55px 0 80px}.legal-sheet{max-width:940px;margin:auto;background:#fffaf3;padding:42px 46px;border-radius:42px 20px 48px 26px;box-shadow:0 18px 42px rgba(67,49,72,.11)}.legal-sheet h1{font-size:clamp(38px,5vw,58px)}.legal-sheet h2{font-size:27px;margin-top:34px}.legal-sheet p{color:#5f5860}.legal-note{background:rgba(109,113,53,.1);padding:18px 22px;border-radius:26px 14px 30px 18px;border-left:4px solid #6d7135}
@media(max-width:800px){.footer-inner{grid-template-columns:1fr;text-align:center}.footer-contact{text-align:center}.legal-sheet{padding:30px 23px}}

/* ===== VERSION 7 : identité TresorPro plus présente ===== */
body{
  background:
    radial-gradient(circle at 7% 5%,rgba(105,79,136,.15),transparent 23%),
    radial-gradient(circle at 92% 15%,rgba(116,116,59,.13),transparent 25%),
    linear-gradient(180deg,#fffaf1 0%,#f8f0df 48%,#fffaf4 100%) !important;
}
header{
  background:rgba(255,250,241,.94) !important;
  border-bottom:3px solid transparent;
  border-image:linear-gradient(90deg,#694f88,#d4a12d,#74743b) 1;
}
.hero{
  background:
    radial-gradient(ellipse at 18% 12%,rgba(105,79,136,.22),transparent 35%),
    radial-gradient(ellipse at 88% 80%,rgba(116,116,59,.18),transparent 34%),
    linear-gradient(135deg,#fffaf0,#f2e9f6 55%,#f1f0df) !important;
}
.hero h1{color:#60447e!important}
.hero .eyebrow{color:#74743b!important}
.story-wave,.story-shape{
  background:
    linear-gradient(145deg,rgba(255,255,255,.97),rgba(242,234,247,.92)) !important;
  border-left:6px solid #694f88;
  border-bottom:5px solid rgba(212,161,45,.65);
}
.services{
  background:
    radial-gradient(circle at 12% 50%,rgba(116,116,59,.10),transparent 25%),
    radial-gradient(circle at 88% 45%,rgba(105,79,136,.11),transparent 27%) !important;
}
.service:nth-child(1),.service:nth-child(4){
  background:linear-gradient(145deg,#f2eafa,#fffaf3)!important;
  border-top:4px solid #694f88;
}
.service:nth-child(2),.service:nth-child(5){
  background:linear-gradient(145deg,#f3f3df,#fffaf3)!important;
  border-top:4px solid #74743b;
}
.service:nth-child(3),.service:nth-child(6){
  background:linear-gradient(145deg,#fff4d8,#fffaf3)!important;
  border-top:4px solid #d4a12d;
}
.service h3{color:#60447e!important}
.service .ico{
  width:58px;height:58px;display:flex;align-items:center;justify-content:center;
  border-radius:50% 44% 54% 46%;
  background:linear-gradient(135deg,#694f88,#80659d);
  box-shadow:0 9px 20px rgba(105,79,136,.18);
}
.service:nth-child(2) .ico,.service:nth-child(5) .ico{
  background:linear-gradient(135deg,#74743b,#91904e);
}
.service:nth-child(3) .ico,.service:nth-child(6) .ico{
  background:linear-gradient(135deg,#c79222,#e1b84d);
}
.service a{color:#60447e!important}
.btn-purple{
  background:linear-gradient(135deg,#60447e,#80649d)!important;
  box-shadow:0 9px 22px rgba(96,68,126,.22);
}
.btn-olive{
  background:linear-gradient(135deg,#6d7135,#8a8d49)!important;
  box-shadow:0 9px 22px rgba(109,113,53,.2);
}
.candidate-strip,.candidate{
  background:
    radial-gradient(circle at 90% 10%,rgba(212,161,45,.26),transparent 25%),
    linear-gradient(120deg,#5d427b 0%,#765792 54%,#72753a 100%) !important;
  color:#fff!important;
  border:3px solid rgba(212,161,45,.7);
  box-shadow:0 18px 38px rgba(79,54,99,.23);
}
.candidate-strip h2,.candidate h2,
.candidate-strip p,.candidate p{color:#fff!important}
.candidate-strip .btn,.candidate .btn{
  background:#f3d57d!important;color:#51386d!important;
}
.subhero{
  background:
    radial-gradient(circle at 20% 30%,rgba(105,79,136,.18),transparent 27%),
    radial-gradient(circle at 83% 45%,rgba(116,116,59,.15),transparent 25%);
}
.photo-step:nth-child(1){border-bottom:5px solid #694f88}
.photo-step:nth-child(2){border-bottom:5px solid #74743b}
.photo-step:nth-child(3){border-bottom:5px solid #d4a12d}
.photo-step:nth-child(4){border-bottom:5px solid #694f88}
.bridge{
  background:
    linear-gradient(135deg,#f2eafa 0%,#fffaf3 52%,#eff0d9 100%)!important;
  border-top:4px solid #d4a12d;
}
.partner{
  background:linear-gradient(110deg,rgba(116,116,59,.15),rgba(212,161,45,.11))!important;
}
.footer-tresorpro{
  background:
    radial-gradient(circle at 8% 50%,rgba(212,161,45,.18),transparent 24%),
    linear-gradient(120deg,#eee4f4,#f7eedc 52%,#e8ead4)!important;
  border-top:4px solid #694f88!important;
}
.footer-tresorpro:before{
  content:"";display:block;width:150px;height:5px;border-radius:999px;
  background:linear-gradient(90deg,#694f88,#d4a12d,#74743b);
  margin:-20px auto 22px;
}
.legal-sheet{
  background:linear-gradient(145deg,#fffaf3,#f3ebf7)!important;
  border-top:5px solid #694f88;
}

/* ===== Offres d'emploi : accès mobile direct ===== */
.job-card{background:#fff;border:1px solid #ddd;border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 8px 22px rgba(67,49,72,.07)}
.job-card h2{margin-top:0}
.jobs-actions{justify-content:center}
@media(max-width:900px){nav .nav-jobs{display:inline-flex!important;color:#60447e;font-weight:900}.nav{gap:10px}.nav nav{gap:10px}}
@media(max-width:620px){.nav{align-items:center}.nav nav{justify-content:flex-end}.nav .brand img{width:125px}.nav nav .nav-jobs{font-size:13px}.nav nav .btn{padding:10px 14px;font-size:13px}.job-card{padding:17px}.job-card h2{font-size:24px}}
