@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-semibold.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-bold-italic.woff') format('woff');font-weight:700;font-style:italic;font-display:swap}
:root{--color-bg:#fff;--color-text:#3f4145;--color-primary:#172237;--color-accent:#c69a4b;--color-border:#d7d5cf;--color-muted:#595d64;--font-body:Cormorant,Georgia,serif;--font-display:Cormorant,Georgia,serif;--text-xs:clamp(.875rem,.84rem + .15vw,.95rem);--text-sm:clamp(1rem,.95rem + .2vw,1.125rem);--text-base:clamp(1.125rem,1.05rem + .3vw,1.25rem);--text-lg:clamp(1.375rem,1.1rem + .8vw,1.75rem);--text-xl:clamp(2rem,1.4rem + 1.5vw,2.75rem);--text-2xl:clamp(2.25rem,1.5rem + 2.3vw,3.5rem);--text-hero:clamp(2.8rem,1.6rem + 2.9vw,4.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:2px;--transition-interactive:160ms ease}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--space-6);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--color-text);background:var(--color-bg)}h1,h2,h3{color:var(--color-primary);line-height:1.12;text-wrap:balance}h1,h2{font-weight:700;font-style:italic}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg);font-weight:600}p,li{max-width:70ch;text-wrap:pretty}p+p{margin-top:var(--space-4)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}a,button,input,select,textarea{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive)}img{display:block;max-width:100%;height:auto}svg{display:block;width:20px;height:20px;flex:0 0 20px}ul,ol{padding-left:var(--space-6)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}::selection{background:#ede3cf;color:var(--color-primary)}[hidden]{display:none!important}.container{width:min(1232px,calc(100% - var(--space-20)));margin-inline:auto}.section{padding-block:var(--space-20)}.skip-link{position:fixed;top:-100px;left:var(--space-4);z-index:20;padding:var(--space-3);background:var(--color-primary);color:#fff}.skip-link:focus{top:var(--space-3)}.preview-strip{text-align:center;background:#f3f4f6;border-bottom:1px solid #e7e7e7;padding:var(--space-1) var(--space-4);font-size:var(--text-xs);color:var(--color-muted)}
.site-header{border-bottom:1px solid var(--color-border);background:#fff;position:relative;z-index:10}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-10);padding-block:var(--space-3)}.brand{display:block;flex:0 0 166px}.brand img{width:166px;height:auto}.site-header nav{display:flex;align-items:center;gap:var(--space-8);font-size:var(--text-sm);font-weight:600}.site-header nav>a:not(.button){padding-block:var(--space-3);border-bottom:1px solid transparent}.site-header nav>a:hover,.site-header nav>[aria-current=page]{color:var(--color-primary);border-bottom-color:var(--color-accent)}.menu-toggle{display:none}.nav-services{position:relative}.nav-services summary{cursor:pointer;list-style:none;padding-block:var(--space-3);display:flex;align-items:center;gap:var(--space-2);min-height:44px}.nav-services summary::after{content:'+';font-family:Georgia,serif;font-weight:400}.nav-services[open] summary::after{content:'−'}.nav-services summary::-webkit-details-marker{display:none}.nav-services .current{border-bottom:1px solid var(--color-accent)}.dropdown{position:absolute;top:100%;left:calc(-1 * var(--space-5));background:#fff;padding:var(--space-3);min-width:300px;box-shadow:0 12px 32px #17223718;border:1px solid var(--color-border)}.dropdown a{display:block;padding:var(--space-2) var(--space-3);min-height:44px}.dropdown a:hover{background:#f3f4f6}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-5);min-height:48px;padding:var(--space-3) var(--space-5);background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);font-size:var(--text-sm);font-weight:600;line-height:1.3;border-radius:var(--radius-sm);text-align:center}.button:hover{background:#2d3b50;border-color:#2d3b50}.button.small{min-height:44px;padding:var(--space-3) var(--space-4);gap:var(--space-3)}.button.outline{color:var(--color-primary);background:#fff;border-color:#a4a7ae}.button.outline:hover{background:#f3f4f6;border-color:var(--color-primary)}.button.light{background:#fff;color:var(--color-primary);border-color:#fff}.button.light:hover{background:#eae8e1}.text-link{display:inline-flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-accent);padding-block:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-primary);min-height:44px}.text-link:hover{border-color:var(--color-primary)}.eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-5)}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:var(--space-16);align-items:center;padding-block:var(--space-12) var(--space-16)}.hero h1{font-size:var(--text-hero);letter-spacing:-.025em;line-height:1.05}.hero-copy>p:not(.eyebrow){margin-top:var(--space-6);max-width:48ch}.hero-actions{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-8)}.hero .hero-location{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-8);padding-left:var(--space-5);border-left:2px solid var(--color-accent)}.hero-image img{width:100%;height:490px;object-fit:cover;object-position:58% 50%}.hero-image{align-self:stretch;padding-top:var(--space-2)}figcaption{font-size:var(--text-xs);line-height:1.25;color:var(--color-muted);margin-top:var(--space-2)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:end;margin-bottom:var(--space-10)}.section-heading>p{max-width:48ch}.section-heading>.text-link{justify-self:end}.section-heading h2{max-width:22ch}.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}.service-card{grid-column:span 2;padding:var(--space-8);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex;align-items:flex-start;flex-direction:column;min-height:300px;position:relative}.service-card:nth-last-child(-n+2){grid-column:span 3;min-height:260px}.service-card:hover{background:#f5f5f3}.service-card-top{display:flex;justify-content:space-between;width:100%;align-items:center;margin-bottom:var(--space-8)}.service-number{font-size:var(--text-sm);color:#76571f;font-weight:600;letter-spacing:.05em}.service-card h3{font-style:italic;font-weight:700;font-size:var(--text-lg);max-width:24ch}.service-card p{margin-block:var(--space-4) var(--space-6)}.card-link{font-size:var(--text-sm);border-bottom:1px solid var(--color-accent);margin-top:auto;color:var(--color-primary)}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:center}.about-image img{width:100%;height:420px;object-fit:cover}.about-copy p:not(.eyebrow){margin-top:var(--space-5)}.about-copy .button{margin-top:var(--space-8)}.method-home{border-top:1px solid var(--color-border)}.method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-12);list-style:none;padding:0}.method-steps li{padding-top:var(--space-6);border-top:1px solid var(--color-accent)}.method-steps li>span{font-size:var(--text-sm);color:#76571f;font-weight:600}.method-steps h3{margin-block:var(--space-4)}.contact-band{background:var(--color-primary);color:#fff;margin-top:var(--space-10);padding-block:var(--space-16)}.contact-band-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-12)}.contact-band h2{color:#fff}.contact-band p:not(.eyebrow){margin-top:var(--space-4);max-width:48ch}.contact-band .eyebrow{color:#d7dbe1}.contact-band .button{flex-shrink:0}.site-footer{border-top:4px solid var(--color-accent);padding-top:var(--space-16)}.footer-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:var(--space-16)}.footer-brand img{width:210px}.site-footer h2{font-size:var(--text-lg);margin-bottom:var(--space-5)}.site-footer a{font-size:var(--text-sm);display:block;min-height:36px}.site-footer a:hover{text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:4px}.site-footer p{font-size:var(--text-sm);margin-top:var(--space-4)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);padding-block:var(--space-6);margin-top:var(--space-12);border-top:1px solid var(--color-border)}.footer-bottom p{font-size:var(--text-xs);margin:0}.footer-bottom>div{display:flex;gap:var(--space-6);align-items:center}.footer-bottom a{font-size:var(--text-xs)}
.page-intro{padding-block:var(--space-10) var(--space-16)}.breadcrumb{font-size:var(--text-sm);color:var(--color-muted);display:inline-block;margin-bottom:var(--space-10);border-bottom:1px solid var(--color-border)}.page-intro h1{max-width:25ch;font-size:var(--text-2xl)}.intro-copy{max-width:65ch;margin-top:var(--space-6);font-size:var(--text-lg)}.compact-top{padding-top:0}.service-overview{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:center}.service-overview .audience{font-size:var(--text-lg);margin-bottom:var(--space-8)}.service-image img{width:100%;height:300px;object-fit:cover}.mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-12);margin-top:var(--space-10)}.mission-grid article{border-top:1px solid var(--color-accent);padding-top:var(--space-6)}.mission-grid h3{margin-block:var(--space-4)}.scope-section{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-20);border-top:1px solid var(--color-border)}.scope-section h2{margin-bottom:var(--space-5)}.scope-section h2:not(:first-child){margin-top:var(--space-10)}.scope-section aside{padding:var(--space-8);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);align-self:start}.scope-section aside h3{margin-bottom:var(--space-5)}.scope-section .text-link{margin-top:var(--space-6)}.related{padding-block:var(--space-10) var(--space-16);border-top:1px solid var(--color-border)}.related h2{margin-bottom:var(--space-8);font-size:var(--text-lg)}.related>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-10)}.related a{display:flex;gap:var(--space-4);justify-content:space-between;padding-block:var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.story-section{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-20);align-items:start}.story-text h2{margin-block:var(--space-5)}.story-text h2:not(:first-child){margin-top:var(--space-10)}.story-image img{height:440px;object-fit:cover}.name-story{border-top:1px solid var(--color-border);margin-top:var(--space-20)}.name-story>div{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-top:var(--space-10)}.name-story h3{margin-bottom:var(--space-4)}.official-signature{font-size:var(--text-lg);font-style:italic;font-weight:700;color:#76571f;margin-top:var(--space-12)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.2fr;gap:var(--space-20);padding-bottom:var(--space-20)}.contact-details h2{margin-bottom:var(--space-4)}.contact-details>h3{margin-top:var(--space-10);margin-bottom:var(--space-4)}.contact-address{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);border-bottom:1px solid var(--color-border);font-size:var(--text-lg);color:var(--color-primary);overflow-wrap:anywhere}.contact-note{margin-top:var(--space-10);padding-left:var(--space-6);border-left:2px solid var(--color-accent)}.contact-note h3{margin-bottom:var(--space-3)}.message-builder{border:1px solid var(--color-border);padding:var(--space-8)}.message-builder h2{font-size:var(--text-xl)}.form-disclosure{font-size:var(--text-sm);line-height:1.4;margin-block:var(--space-5);color:var(--color-muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-top:var(--space-8)}label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);font-weight:600}label>span{font-weight:400}input,select,textarea{border:1px solid #a7a8ac;border-radius:var(--radius-sm);background:#fff;padding:var(--space-3);font-size:var(--text-base);min-height:48px;width:100%;min-width:0;font-weight:400}textarea{resize:vertical}input:hover,select:hover,textarea:hover{border-color:var(--color-primary)}.full{grid-column:1/-1}#message-result{padding-top:var(--space-8);margin-top:var(--space-8);border-top:2px solid var(--color-accent)}#message-result h3{margin-bottom:var(--space-4)}#message-result>label{margin-top:var(--space-6)}.message-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}#copy-status{font-size:var(--text-sm);margin-top:var(--space-4)}.legal-copy{max-width:850px;padding-bottom:var(--space-20)}.legal-copy h2{font-size:var(--text-lg);margin-block:var(--space-10) var(--space-4)}.legal-copy li{margin-bottom:var(--space-3)}.legal-copy dl{margin-top:var(--space-6)}.legal-copy dl>div{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-6);padding-block:var(--space-4);border-bottom:1px solid var(--color-border)}.legal-copy dt{font-weight:600}.legal-copy>.button{margin-top:var(--space-10)}
@media(max-width:1100px){.container{width:calc(100% - var(--space-12))}.site-header nav{gap:var(--space-5)}.brand{flex-basis:140px}.brand img{width:140px}.hero{gap:var(--space-8)}.hero h1{font-size:var(--text-2xl)}.hero-image img{height:450px}.hero-actions{gap:var(--space-4)}.about-split,.scope-section,.contact-grid,.service-overview,.story-section{gap:var(--space-10)}.services-grid .service-card{padding:var(--space-6)}.footer-grid{gap:var(--space-8)}}
@media(max-width:850px){.header-inner{padding-block:var(--space-2)}.brand{flex-basis:120px}.brand img{width:120px}.menu-toggle{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);font-size:var(--text-sm);font-weight:600;min-height:44px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:var(--space-4) var(--space-6);box-shadow:0 12px 24px #17223718;max-height:calc(100dvh - 140px);overflow:auto}.site-header nav.is-open{display:flex}.site-header nav>a{padding:var(--space-3)}.nav-services summary{padding:var(--space-3)}.dropdown{position:static;min-width:0;box-shadow:none;border:0;border-left:1px solid var(--color-accent);margin:0 0 var(--space-4) var(--space-3)}.hero{gap:var(--space-6)}.hero-image img{height:440px}.section-heading{gap:var(--space-8)}.section-heading>.text-link{justify-self:start}.about-split{gap:var(--space-8)}.about-image img{height:400px}.contact-band-inner{align-items:flex-start;flex-direction:column;gap:var(--space-8)}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand img{width:160px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.contact-grid{grid-template-columns:1fr}.contact-details{max-width:600px}.message-builder{max-width:750px}}
@media(max-width:620px){.container{width:calc(100% - var(--space-8))}.preview-strip{font-size:var(--text-xs);line-height:1.3;padding-block:var(--space-2)}.hero{grid-template-columns:1fr;gap:var(--space-8);padding-block:var(--space-10) var(--space-6)}.hero h1{font-size:var(--text-hero)}.hero-copy>p:not(.eyebrow){margin-top:var(--space-5)}.hero-image img{height:320px}.hero-actions{align-items:flex-start;flex-direction:column}.hero .hero-location{margin-top:var(--space-5)}.section{padding-block:var(--space-12)}.section-heading{grid-template-columns:1fr;gap:var(--space-5);margin-bottom:var(--space-8)}.section-heading>.text-link{justify-self:start}.services-grid{grid-template-columns:1fr}.services-grid .service-card{grid-column:1;min-height:0;padding:var(--space-6)}.service-card-top{margin-bottom:var(--space-5)}.service-card p{margin-bottom:var(--space-5)}.about-split,.service-overview,.story-section{grid-template-columns:1fr;gap:var(--space-8)}.about-image img{height:280px}.about-copy h2{font-size:var(--text-xl)}.method-steps,.mission-grid{grid-template-columns:1fr;gap:var(--space-8)}.method-steps h3{margin-block:var(--space-3)}.contact-band{padding-block:var(--space-12)}.footer-grid{grid-template-columns:1fr;gap:var(--space-8)}.footer-brand{grid-column:auto}.footer-bottom>div{align-items:flex-start;gap:var(--space-3);flex-direction:column}.site-footer{padding-top:var(--space-10)}.eyebrow{letter-spacing:.07em;margin-bottom:var(--space-4)}.page-intro{padding-block:var(--space-6) var(--space-10)}.breadcrumb{margin-bottom:var(--space-8)}.intro-copy{font-size:var(--text-base)}.service-image img{height:250px}.scope-section{grid-template-columns:1fr;gap:var(--space-8)}.scope-section aside{padding:var(--space-6)}.related>div{grid-template-columns:1fr}.name-story{margin-top:var(--space-12)}.name-story>div{grid-template-columns:1fr;gap:var(--space-8);margin-top:var(--space-8)}.story-image img{height:300px}.message-builder{padding:var(--space-5)}.form-grid{grid-template-columns:1fr}.contact-grid{gap:var(--space-12)}.contact-address{font-size:var(--text-base)}.legal-copy dl>div{grid-template-columns:1fr;gap:var(--space-2)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Long-form personal story; scoped to preserve the other pages. */
.story-chapters{max-width:860px;padding-top:var(--space-16)}.story-chapters>section+section{margin-top:var(--space-16)}.story-chapters h2{margin-bottom:var(--space-6)}.story-chapters .story-closing{font-size:var(--text-lg);font-weight:700;font-style:italic;color:var(--color-primary);margin-top:var(--space-8)}.story-chapters .text-link{margin-top:var(--space-5)}
@media(max-width:620px){.story-chapters{padding-top:var(--space-10)}.story-chapters>section+section{margin-top:var(--space-10)}}
.name-story.name-story-top{margin-top:0;margin-bottom:var(--space-16);padding-block:var(--space-10);border-bottom:1px solid var(--color-border)}
@media(max-width:620px){.name-story.name-story-top{margin-bottom:var(--space-10);padding-block:var(--space-8)}}
.story-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:center;gap:var(--space-16)}
.story-intro .intro-copy{max-width:46ch}
.story-intro h2{font-size:var(--text-2xl);max-width:25ch}
.story-breadcrumb{padding-top:var(--space-8)}
.name-story.name-story-top.story-name-first{margin-bottom:0;padding-top:0;border-top:0}
.story-name-first>div{margin-top:var(--space-6)}
.story-name-first article h2{font-size:var(--text-lg);font-weight:600;font-style:normal;margin-bottom:var(--space-4)}
.story-name-first .official-signature{margin-top:var(--space-8)}
.story-portrait-oval{width:100%;max-width:350px;justify-self:end}
.portrait-oval{position:relative;isolation:isolate;aspect-ratio:4/5;border-radius:50%;overflow:hidden}
.portrait-oval img{display:block;width:100%;height:100%;object-fit:cover}
.story-portrait-oval figcaption{text-align:center;margin-top:var(--space-4);color:var(--color-primary)}
.story-section.story-section-text-only{display:block;max-width:860px}
@media(max-width:800px){.story-intro{grid-template-columns:1fr;gap:var(--space-8)}.story-portrait-oval{justify-self:center;max-width:280px}}

.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.field-help{display:block;font-size:var(--text-xs);font-weight:400;color:var(--color-text-muted);margin-top:var(--space-2)}
#contact-form button:disabled{cursor:wait;opacity:.7}
#form-status{padding-block:var(--space-3);overflow-wrap:anywhere}
#form-status[data-state="error"]{color:#8f2424}
#form-status[data-state="success"]{color:#245338;font-weight:600}
#contact-retry{margin-top:var(--space-3)}
#contact-mode{border-left:2px solid var(--color-accent);padding-left:var(--space-4)}
/* Lisibilité et logo : ajustement demandé le 9 novembre 2026. */
:root {
  --text-xs: clamp(1rem, .95rem + .15vw, 1.075rem);
  --text-sm: clamp(1.125rem, 1.05rem + .2vw, 1.25rem);
  --text-base: clamp(1.25rem, 1.17rem + .3vw, 1.4375rem);
  --text-lg: clamp(1.5rem, 1.25rem + .8vw, 2rem);
  --text-xl: clamp(2.2rem, 1.55rem + 1.5vw, 3rem);
  --text-2xl: clamp(2.5rem, 1.7rem + 2.3vw, 3.8rem);
  --text-hero: clamp(3.05rem, 1.85rem + 2.9vw, 4.85rem);
}
.brand { flex-basis: 240px; }
.brand img { width: 240px; }
.footer-brand img { width: 260px; max-width: 100%; }
@media (max-width: 1100px) {
  .header-inner { padding-block: var(--space-2); gap: var(--space-4); }
  .brand { flex-basis: 180px; }
  .brand img { width: 180px; }
  .menu-toggle {
    display: flex; align-items: center; gap: var(--space-3);
    padding: var(--space-3); font-size: var(--text-sm);
    font-weight: 600; min-height: 44px;
  }
  .site-header nav {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; flex-direction: column; align-items: stretch; gap: 0;
    padding: var(--space-4) var(--space-6); box-shadow: 0 12px 24px #17223718;
    max-height: calc(100dvh - 220px); overflow: auto;
  }
  .site-header nav.is-open { display: flex; }
  .site-header nav > a, .nav-services summary { padding: var(--space-3); }
  .dropdown {
    position: static; min-width: 0; box-shadow: none; border: 0;
    border-left: 1px solid var(--color-accent);
    margin: 0 0 var(--space-4) var(--space-3);
  }
}
@media (max-width: 850px) {
  .footer-brand img { width: 200px; }
}
