@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-garamond-latin-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(fonts/source-sans-3-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(fonts/source-sans-3-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(fonts/source-sans-3-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{--navy:#1B2A41;--green:#1F4D3A;--ivory:#F7F5EF;--sand:#EFEBE1;--rule:#D9D4C7;--text:#3A4556;--muted:#5A6372;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Source Sans 3","Helvetica Neue",Arial,sans-serif;--pad:8%}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--navy);font-family:var(--sans);font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--green)}a:hover{color:#163A2B}
a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--navy);margin:0;line-height:1.2}
p{margin:0;color:var(--text)}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
section{padding:96px var(--pad)}
.head{display:flex;flex-direction:column;gap:16px;max-width:780px;margin-bottom:48px}
.head h2{font-size:clamp(34px,4.5vw,52px);line-height:1.1}
.btn{display:inline-block;text-decoration:none;padding:16px 28px;font-weight:600;border-radius:2px}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{color:#fff;background:#14203a}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{color:#fff;background:#163A2B}
.btn-line{border:1px solid var(--navy);color:var(--navy);padding:15px 28px}
/* header */
.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:28px var(--pad);border-bottom:1px solid var(--rule)}
.brand{text-decoration:none;display:inline-flex;flex-direction:column;gap:6px}
.brand span{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:.18em;color:var(--navy)}
.brand i{display:block;height:1px;background:var(--green)}
.site-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:28px;font-weight:600;font-size:16px}
.site-header nav a{text-decoration:none;color:var(--navy)}
.site-header nav a.btn{color:#fff;padding:12px 22px}
/* hero */
.hero{padding:120px var(--pad) 104px;display:flex;flex-direction:column;gap:32px}
.hero h1{max-width:1000px;font-size:clamp(42px,6vw,72px);line-height:1.05}
.hero h1 em{color:var(--green)}
.hero p{max-width:740px;font-size:21px}
.hero p strong{font-weight:600;color:var(--navy)}
.actions{display:flex;flex-wrap:wrap;gap:16px;padding-top:8px}
/* situations */
#situations{border-top:1px solid var(--rule)}
.grid-lines{display:flex;flex-wrap:wrap;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.grid-lines>div{flex:1 1 320px;background:var(--ivory);padding:32px 30px;display:flex;flex-direction:column;gap:12px}
.grid-lines h3{font-size:28px}
/* approche */
.approche{background:var(--navy)}
.approche .eyebrow{color:#B9D3C5}
.approche .head{max-width:840px}
.approche .head h2{color:var(--ivory);font-size:clamp(30px,3.8vw,48px);line-height:1.15}
.pillars{display:flex;flex-wrap:wrap;gap:48px}
.pillars>div{flex:1 1 260px;display:flex;flex-direction:column;gap:14px;border-top:1px solid #5A6B85;padding-top:24px}
.pillars .num{font-family:var(--serif);font-size:24px;color:#B9D3C5}
.pillars h3{font-size:30px;color:var(--ivory)}
.pillars p{color:#D8DDE5}
/* offres */
.offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.offer{background:#fff;border:1px solid var(--rule);border-top:2px solid var(--green);padding:36px 36px 28px;display:flex;flex-direction:column;gap:20px}
.offer-title{display:flex;gap:18px;align-items:baseline}
.offer-title .num{font-family:var(--serif);font-size:34px;color:var(--green)}
.offer-title h3{font-size:32px}
.offer-title small{display:block;font-size:16px;font-style:italic;color:var(--muted);margin-top:4px}
.offer ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;color:var(--text)}
.offer .fmt{border-top:1px solid var(--rule);padding-top:16px;font-size:15px;font-weight:600;color:var(--navy);margin-top:auto}
/* démarche */
.demarche{background:var(--sand)}
.steps{display:flex;flex-wrap:wrap;gap:32px;list-style:none;margin:0;padding:0}
.steps li{flex:1 1 220px;display:flex;flex-direction:column;gap:14px}
.steps .dot{width:48px;height:48px;border:1px solid var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:22px;font-weight:600;color:var(--green);background:#fff}
.steps h3{font-size:28px}
/* expériences */
.about{display:flex;flex-wrap:wrap;gap:64px;align-items:center;margin-bottom:56px}
.about img{flex:0 1 340px;width:340px;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--rule)}
.about>div{flex:1 1 420px;display:flex;flex-direction:column;gap:20px}
.about h2{font-size:clamp(36px,4.5vw,52px);line-height:1.1}
.about p{font-size:19px}
.exp-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;border-top:1px solid var(--rule);padding-top:40px;margin-bottom:40px}
.exp-head em{font-size:15px;color:var(--muted)}
.exps{display:flex;flex-wrap:wrap;gap:40px}
.exps>div{flex:1 1 280px;display:flex;flex-direction:column;gap:12px}
.exps i{display:block;width:32px;height:2px;background:var(--green)}
.exps h3{font-size:28px}
/* contact */
.contact{background:var(--navy);display:flex;flex-wrap:wrap;gap:64px;align-items:flex-start;padding:112px var(--pad)}
.contact .eyebrow{color:#B9D3C5}
.contact>div:first-child{flex:1 1 420px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.contact h2{color:var(--ivory);font-size:clamp(38px,4.8vw,56px);line-height:1.1}
.contact p{color:#D8DDE5;font-size:19px}
.coords{flex:1 1 360px;display:flex;flex-direction:column;border-top:1px solid #5A6B85}
.coords a{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:24px 0;border-bottom:1px solid #5A6B85;text-decoration:none;color:var(--ivory);font-size:19px}
.coords a span:first-child{color:#B9C2CF}.coords a span:last-child{font-weight:600}
.coords a:hover span:last-child{text-decoration:underline}
/* footer */
.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:32px var(--pad);background:#141F31;color:#D8DDE5;font-size:15px}
.site-footer .wm{font-family:var(--serif);font-size:20px;letter-spacing:.18em;color:var(--ivory)}
.site-footer a{color:#D8DDE5}
/* mentions */
.legal{max-width:900px;display:flex;flex-direction:column;gap:32px}
.legal h1{font-size:clamp(38px,5vw,56px)}
.legal h2{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.legal div{display:flex;flex-direction:column;gap:10px}
.legal p{font-size:16px;line-height:1.7}
@media (max-width:900px){.offers{grid-template-columns:1fr}}
@media (max-width:700px){section,.hero{padding-top:64px;padding-bottom:64px}.site-header nav{gap:16px 20px}.offer{padding:28px 24px 22px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
