/* HAUT POINT V5.7 — Design tokens / layout / components / responsive. One source of truth. */
:root{--paper:#faf9f6;--white:#fff;--ink:#252126;--muted:#635b60;--wine:#713747;--wine-dark:#371521;--line:#e5dedf;--blush:#f3e9e9;--width:1120px;--radius:14px;--shadow:0 12px 35px rgba(41,23,30,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd7895;outline-offset:3px}.wrap{width:min(var(--width),calc(100% - 52px));margin-inline:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.038em}h1{font-size:clamp(2.8rem,5.4vw,5.25rem);font-weight:660}h2{font-size:clamp(2rem,3.6vw,3.4rem);font-weight:650}h3{font-size:1.3rem}p{color:var(--muted)}.eyebrow,.num{font-size:.72rem;letter-spacing:.13em;font-weight:750;color:var(--wine);text-transform:uppercase}.lead{font-size:clamp(1.05rem,1.5vw,1.22rem);max-width:740px}.small-note{font-size:.84rem}.section{padding:90px 0}.section-head{max-width:750px;margin-bottom:32px}.section-head p{max-width:650px}.section-head h2{margin:10px 0 18px}.nav-shell{position:sticky;top:0;z-index:40;background:rgba(250,249,246,.98);border-bottom:1px solid var(--line)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}.nav>a{display:flex;align-items:center;flex-shrink:0}.logo{display:block;width:164px;max-height:55px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:24px}.nav-links a,.mobile-links a{text-decoration:none;font-size:.85rem;font-weight:650}.nav-links a:hover,.mobile-links a:hover{color:var(--wine)}.nav-cta{color:var(--wine)!important}.mobile-nav{display:none}.hero{position:relative;overflow:hidden;padding:118px 0 104px;min-height:575px}.hero .wrap{position:relative;z-index:2}.hero h1{max-width:800px;margin:18px 0 22px}.hero h1 em{font-style:normal;color:var(--wine)}.hero:after{content:"";position:absolute;right:-170px;top:45px;width:min(52vw,660px);aspect-ratio:1;border:2px solid rgba(115,51,78,.17);border-radius:50%;box-shadow:0 0 0 50px rgba(115,51,78,.045),0 0 0 105px rgba(115,51,78,.025);pointer-events:none}.hero-service{display:grid;gap:6px;margin-bottom:26px}.hero-service strong{color:var(--ink);font-size:clamp(1.08rem,1.65vw,1.34rem);letter-spacing:-.015em}.hero-service span{color:var(--muted)}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:47px;padding:12px 21px;border:1px solid var(--wine);border-radius:8px;background:var(--wine);color:#fff!important;text-decoration:none;font-size:.92rem;font-weight:700;line-height:1.3;cursor:pointer}.btn:hover{background:var(--wine-dark)}.btn.alt{background:transparent;color:var(--wine)!important}.btn.alt:hover{background:var(--blush)}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.pill{padding:5px 12px;border:1px solid var(--line);border-radius:100px;color:var(--muted);font-size:.8rem}.grid,.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service,.post{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:31px;box-shadow:var(--shadow)}.service h3,.post h3{margin:12px 0}.service p,.post p{margin-bottom:0}.interventions{margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}.interventions h3{margin-bottom:20px}.intervention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.intervention-grid strong{font-size:1.02rem}.intervention-grid p{margin-top:8px}.text-link,.read{display:inline-block;color:var(--wine);font-weight:700;text-decoration:none}.text-link{margin-top:10px}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.post{text-decoration:none;display:flex;flex-direction:column;transition:transform .15s ease,border-color .15s ease}.post:hover{transform:translateY(-3px);border-color:#cbaebc}.post .read{margin-top:auto;padding-top:18px}.post-contact{background:var(--blush)}.contact-question{background:var(--blush)}.question-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,6vw,90px);align-items:start}.question-layout h2{margin:14px 0 22px}.question-layout p{max-width:490px}.problem-form{display:grid;gap:9px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.problem-form label{font-weight:700;font-size:.87rem;margin-top:6px}.problem-form input,.problem-form textarea,.problem-form select{display:block;width:100%;padding:11px 12px;border:1px solid #cfc5c8;border-radius:7px;background:#fff;color:var(--ink)}.problem-form textarea{resize:vertical;min-height:115px}.problem-form button{margin-top:12px}.problem-form .small-note{margin:7px 0 0}.form-feedback{padding:12px 14px;background:#f7f2f2;border-left:3px solid var(--wine);color:var(--ink)}.dark{background:var(--wine);color:#fff}.dark .eyebrow{color:#f0cedc}.dark p{color:#f5e8ed}.dark h2{margin:14px 0 16px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:44px}.step{padding-top:20px;border-top:1px solid rgba(255,255,255,.45)}.step strong{font-size:1.04rem}.step p{margin:10px 0 0}.contact{display:grid;grid-template-columns:1.15fr .85fr;gap:60px}.contact-links{padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.contact-links>a{display:block;color:var(--wine);font-size:clamp(1rem,2vw,1.35rem);font-weight:700;text-decoration:none;overflow-wrap:anywhere;margin:13px 0}.contact-links .actions{margin-bottom:0}.contact-links .actions .btn{font-size:.83rem}.article-hero{padding-top:75px;padding-bottom:45px}.article-hero h1{font-size:clamp(2.3rem,4.2vw,4.3rem);max-width:930px;margin:15px 0 20px}.article-hero .lead{max-width:800px}.back{font-size:.88rem;text-decoration:none;color:var(--wine);font-weight:700}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:65px;padding-bottom:85px}.article-body{min-width:0;font-size:1.05rem}.article-body h2{font-size:1.7rem;margin:42px 0 16px}.article-body h3{font-size:1.25rem;margin:27px 0 13px}.article-body p,.article-body li{color:#494147}.article-body ul{padding-left:25px}.article-body li{margin:7px 0}.inline-cta{background:var(--blush);padding:26px;border-radius:var(--radius);margin:32px 0}.inline-cta h3{margin-top:0}.inline-cta p{margin-bottom:18px}.aside{position:sticky;top:112px;align-self:start;background:#fff;border:1px solid var(--line);padding:24px;border-radius:var(--radius)}.aside h3{margin:12px 0}.aside .btn{width:100%;font-size:.88rem}.aside a.simple{color:var(--wine)}.legal{max-width:850px;padding-top:70px;padding-bottom:100px}.legal h1{font-size:clamp(2.4rem,5vw,4.3rem);margin:16px 0 32px}.legal h2{font-size:1.5rem;margin:34px 0 10px}.legal p{margin-bottom:13px}footer{border-top:1px solid var(--line);padding:24px 0;font-size:.81rem;color:var(--muted)}footer .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}footer a{text-decoration:none;color:var(--wine)}
@media(max-width:950px){.nav-links{gap:13px}.nav-links a{font-size:.78rem}.logo{width:140px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{gap:28px;grid-template-columns:minmax(0,1fr) 230px}.hero:after{right:-270px;opacity:.7}}
@media(max-width:720px){.wrap{width:min(var(--width),calc(100% - 34px))}.nav{min-height:72px}.logo{width:145px}.nav-links{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{list-style:none;cursor:pointer;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-weight:700;font-size:.85rem}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-links{position:absolute;right:0;top:calc(100% + 10px);width:min(290px,calc(100vw - 34px));padding:12px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;display:grid;gap:2px}.mobile-links a{display:block;padding:10px;border-radius:6px}.mobile-links a:hover{background:var(--blush)}.hero{padding:76px 0 75px;min-height:0}.hero:after{width:380px;right:-270px;top:20px;opacity:.55}.hero h1{font-size:clamp(2.5rem,9vw,3.8rem)}.section{padding:62px 0}.grid,.post-grid,.intervention-grid,.steps,.question-layout,.contact,.article-layout{grid-template-columns:1fr}.service,.post{padding:24px}.intervention-grid,.steps{gap:20px}.question-layout{gap:18px}.problem-form{padding:22px}.article-hero{padding-top:46px;padding-bottom:22px}.article-layout{padding-bottom:60px}.aside{position:static}.contact{gap:22px}.contact-links{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.post{transition:none}}

/* V5.8 — About page and reusable editorial blocks */
.about-hero{padding:96px 0 100px;overflow:hidden}.about-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:center}.about-hero h1{margin:20px 0 24px;max-width:800px}.about-hero h1 em{font-style:normal;color:var(--wine)}.about-mark{min-height:330px;display:grid;place-items:center;border:2px solid rgba(115,51,78,.19);border-radius:50%;box-shadow:0 0 0 30px rgba(115,51,78,.035),0 0 0 65px rgba(115,51,78,.025);color:var(--wine)}.about-mark span{font-size:clamp(1.35rem,2.6vw,2.15rem);font-weight:650;line-height:1.4;letter-spacing:-.03em}.about-mark strong{color:var(--ink)}.about-columns{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,7vw,100px)}.about-columns h2{margin:16px 0 0}.about-prose{font-size:1.08rem}.about-prose p{margin-bottom:22px}.about-prose strong{color:var(--ink)}.about-facts{background:var(--blush);padding:60px 0}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:22px 0 18px}.fact-grid>div{display:flex;flex-direction:column;border-top:1px solid #d6bfc9;padding-top:16px}.fact-grid strong{font-size:clamp(2rem,3.5vw,3rem);color:var(--wine);line-height:1.1}.fact-grid span{margin-top:10px;color:var(--muted)}.about-commitment .about-prose strong{color:#fff}.about-quote{font-size:clamp(1.4rem,2.3vw,2rem);font-weight:650;line-height:1.35;color:#fff!important;letter-spacing:-.025em;margin:34px 0}.about-end{display:flex;align-items:center;justify-content:space-between;gap:40px}.about-end p{max-width:660px}.about-end .btn{flex-shrink:0}.home-about{background:#fff}.home-about-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(30px,7vw,100px)}.home-about h2{margin:14px 0 22px}.home-about-note{border-left:3px solid var(--wine);padding:24px 0 24px 30px;display:flex;flex-direction:column;gap:25px}.home-about-note span{font-size:clamp(1.35rem,2.5vw,2.1rem);line-height:1.4;font-weight:650;letter-spacing:-.03em}.home-about-note small{color:var(--muted)}.nav-links a[aria-current="page"],.mobile-links a[aria-current="page"]{color:var(--wine)}
@media(max-width:950px){.nav-links{gap:12px}.nav-links a{font-size:.75rem}}
@media(max-width:720px){.about-hero{padding:62px 0 70px}.about-hero-grid,.about-columns,.home-about-grid,.fact-grid{grid-template-columns:1fr}.about-mark{min-height:230px;width:230px;margin:15px auto 0}.about-columns{gap:22px}.about-end{align-items:flex-start;flex-direction:column;gap:15px}.home-about-note{padding-left:22px}.fact-grid{gap:20px}}

/* V5.9 — service-first home sections. Additive components for future expansion. */
.need-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}.need-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.need-card h3{font-size:clamp(1.4rem,2vw,1.85rem);margin:16px 0 14px}.need-card p{flex:1}.need-method{padding-top:16px;border-top:1px solid var(--line);font-size:.87rem;color:var(--wine);font-weight:650}.tech-context{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;margin-top:34px;padding:28px 30px;background:#f4f0ed;border-radius:var(--radius)}.tech-context h3{margin:10px 0 0;font-size:1.35rem}.tech-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tech-pair strong{font-size:.94rem}.tech-pair p{font-size:.88rem;margin:7px 0 0}.about-intro{display:grid;grid-template-columns:1.5fr .5fr;gap:60px;align-items:center;margin-bottom:46px}.about-intro h2{margin:14px 0 20px}.about-intro p{max-width:690px}.about-key{border-left:3px solid var(--wine);padding:14px 0 14px 24px;display:flex;flex-direction:column;gap:8px}.about-key strong{color:var(--wine);font-size:clamp(2rem,3.5vw,3rem);line-height:1.1}.about-key span{font-size:.9rem;color:var(--muted)}.career-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.career-step{position:relative;padding:27px 22px 0 0;border-top:2px solid #d8b9c6}.career-step:before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;background:var(--wine);border:3px solid var(--paper);border-radius:50%}.career-step span{display:block;font-size:.68rem;letter-spacing:.1em;font-weight:750;color:var(--wine);margin-bottom:10px}.career-step strong{display:block;font-size:1.06rem}.career-step p{font-size:.9rem;margin-top:8px}.method-strip{background:var(--wine);padding:52px 0;color:#fff}.method-inner{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.method-strip .eyebrow{color:#efd1dc}.method-strip h2{font-size:clamp(1.7rem,3vw,2.7rem);margin:10px 0 0}.method-strip p{color:#f5e8ed;margin:0;font-size:1.04rem}.home-question .question-layout>div{position:sticky;top:120px}
@media(max-width:950px){.need-grid{gap:12px}.need-card{padding:22px}.tech-context{grid-template-columns:1fr}.about-intro{gap:28px}}
@media(max-width:720px){.need-grid,.tech-context,.tech-pair,.about-intro,.method-inner{grid-template-columns:1fr}.career-timeline{grid-template-columns:1fr;gap:0}.career-step{border-top:0;border-left:2px solid #d8b9c6;padding:0 0 27px 24px}.career-step:before{top:3px;left:-7px}.about-key{max-width:280px}.home-question .question-layout>div{position:static}.method-strip{padding:44px 0}}

/* V5.10 — blocs de preuves lisibles d'un coup d'œil, extensibles sans modifier la grille */
.about-compact-head{max-width:800px}.about-compact-head p{max-width:630px}.about-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:30px 0 52px}.proof-card{min-height:154px;padding:24px 20px;border:1px solid var(--line);background:#f7f2f0;border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;gap:18px}.proof-card strong{font-size:clamp(1.35rem,2.1vw,2rem);line-height:1.13;letter-spacing:-.035em;color:var(--wine)}.proof-card span{font-size:.83rem;color:var(--muted)}.career-step p{max-width:220px}.home-about .career-timeline{margin-top:0}
@media(max-width:760px){.about-proof{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:38px}.proof-card{min-height:135px;padding:18px 14px}}

/* V5.13 — Palette de la carte de visite : bordeaux profond, cuivre, prune. */
:root{--brand-ink:#1b080e;--brand-copper:#a56b50;--brand-violet:#554269;--brand-gradient:radial-gradient(ellipse at 4% 45%,rgba(178,120,82,.85),transparent 46%),radial-gradient(ellipse at 29% 110%,rgba(99,76,136,.78),transparent 55%),linear-gradient(118deg,#642e2d 0%,#35131b 48%,#19070e 100%)}
.method-strip,.dark{background-color:var(--brand-ink);background-image:var(--brand-gradient);color:#fff}
.method-strip .eyebrow,.dark .eyebrow{color:#f4d7c9}
.method-strip p,.dark p{color:#f8ebed}
.btn{background:#713747;border-color:#713747}
.btn:hover{background:#371521}
.hero:after{border-color:rgba(113,55,71,.22);box-shadow:0 0 0 50px rgba(165,107,80,.055),0 0 0 105px rgba(85,66,105,.035)}

/* V5.15 — Retour au cercle fin d'origine, teinte carte de visite. */
.hero::before { content:none; }
.hero::after {
  content:""; position:absolute; pointer-events:none;
  right:-170px; top:45px; transform:none;
  width:min(52vw,660px); aspect-ratio:1; border-radius:50%;
  border:2px solid transparent;
  background:
    linear-gradient(135deg,rgba(165,107,80,.025),rgba(85,66,105,.035)) padding-box,
    conic-gradient(from 210deg,rgba(165,107,80,.30),rgba(100,46,45,.20),rgba(85,66,105,.32),rgba(165,107,80,.30)) border-box;
  box-shadow:0 0 0 50px rgba(165,107,80,.038),0 0 0 105px rgba(85,66,105,.023);
}
@media(max-width:950px){.hero::after{right:-270px;opacity:.7}}
@media(max-width:720px){.hero::after{width:380px;right:-270px;top:20px;opacity:.55}}

/* Champ anti-spam invisible aux visiteurs */
.hp-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* V5.17 — raffinement léger, sans librairie ni animation */
.hero::after{right:-155px;top:30px;width:min(53vw,675px);border:1px solid transparent;background:linear-gradient(140deg,rgba(250,249,246,.25),rgba(113,55,71,.035)) padding-box,conic-gradient(from 235deg,rgba(113,55,71,.1),rgba(165,107,80,.35),rgba(85,66,105,.12),rgba(113,55,71,.1)) border-box;box-shadow:0 0 0 42px rgba(113,55,71,.035),0 0 0 88px rgba(113,55,71,.018),0 0 0 145px rgba(165,107,80,.018)}
.pac-showcase{margin-top:46px;padding:34px;border:1px solid var(--line);border-radius:22px;background:#f7f2f1;display:grid;grid-template-columns:.78fr 1.22fr;gap:35px;align-items:stretch}
.pac-intro{padding:18px 8px}.pac-intro h3{font-size:clamp(1.5rem,2.4vw,2.2rem);margin:18px 0}.pac-intro p{max-width:300px}.pac-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pac-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:26px 22px;min-width:0}.pac-card h3{font-size:1.45rem;margin:14px 0}.pac-card p{margin-bottom:22px}.pac-card .eyebrow{font-size:.62rem}.pac-symbol{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid #e8d8dd;border-radius:50%;color:var(--wine)}.pac-detail{display:block;padding-top:14px;border-top:1px solid var(--line);font-size:.78rem;color:var(--wine);font-weight:650}
.contact-finale{background:var(--brand-gradient);color:#fff;padding:72px 0 36px}.contact-finale .eyebrow{color:#efc9d3}.contact-finale h2{font-size:clamp(2.6rem,5vw,4.5rem);margin:12px 0 18px}.contact-finale p{color:#f4e5e9;max-width:540px}.contact-finale-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-finale-actions{display:flex;gap:12px;flex-wrap:wrap}.contact-finale .btn{border-color:#fff;background:#fff;color:#4a202e!important}.contact-finale .btn.contact-mail{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.65)}.contact-finale .btn:hover{opacity:.88}.contact-finale-bottom{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;border-top:1px solid rgba(255,255,255,.25);margin-top:60px;padding-top:20px;color:#f2e1e5;font-size:.84rem}.contact-finale-bottom span:first-child{max-width:680px}.contact-finale-bottom strong{color:#fff}
@media(max-width:950px){.pac-showcase{grid-template-columns:1fr}.pac-intro p{max-width:650px}.contact-finale-top{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.hero::after{width:380px;right:-270px;top:20px;opacity:.5}.pac-showcase{padding:22px;margin-top:32px;gap:12px}.pac-cards{grid-template-columns:1fr}.pac-intro{padding:6px}.pac-card{padding:22px}.contact-finale{padding:58px 0 30px}.contact-finale-bottom{flex-direction:column;margin-top:40px}.contact-finale-actions{width:100%}.contact-finale-actions .btn{flex:1}}
