/* Template Penser à soi – UNYCK Communication */
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/open-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/open-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/open-sans-latin-700-normal.woff2) format("woff2")}

:root{--teal:#403054;--teal-d:#2c2140;--teal-l:#f3eff8;--lav:#9a8bbf;--text:#6a6a6a;--title:#222;--line:#e7eded;--dark:#2b2f30;--header-h:96px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{margin:0;font:400 15px/1.8 Poppins,system-ui,sans-serif;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--teal-d)}
h1,h2,h3,h4{color:var(--title);line-height:1.25;margin:0 0 .6em;font-weight:700}
h1{font-size:clamp(30px,4vw,44px)}h2{font-size:clamp(24px,2.8vw,32px)}h3{font-size:21px}
p{margin:0 0 1.1em}
.ps-wrap{width:min(1140px,100% - 40px);margin-inline:auto}
.mod-custom{display:contents}
.ps-btn{display:inline-block;font:700 12px "Open Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#fff;background:var(--teal);padding:13px 28px;border-radius:30px;transition:background .25s,transform .25s}
.ps-btn:hover{background:var(--teal-d);color:#fff;transform:translateY(-2px)}
.ps-btn-dark{background:var(--dark)}.ps-btn-dark:hover{background:#000}
.ps-btn-light{background:#fff;color:var(--teal-d)}.ps-btn-light:hover{background:var(--teal-l);color:var(--teal-d)}

/* En-tête */
.ps-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);background:#fff;border-bottom:2px solid transparent;transition:box-shadow .3s,border-color .3s}
.ps-header.is-scrolled{box-shadow:0 6px 24px rgba(0,0,0,.06);border-bottom-color:var(--lav)}
.ps-header-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ps-logo img{display:block;height:80px;width:auto}
.ps-nav ul{list-style:none;margin:0;padding:0}
.ps-nav > ul,.ps-nav > .mod-menu{display:flex;gap:2px}
.ps-nav li{position:relative}
.ps-nav a,.ps-nav .mod-menu__heading,.ps-nav .nav-header{display:block;padding:10px 12px;font:700 12px "Open Sans",sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--title);text-decoration:none;cursor:pointer;white-space:nowrap;transition:color .2s}
.ps-nav li:hover > a,.ps-nav li:hover > span,.ps-nav li.active > a,.ps-nav li.active > span,.ps-nav li.current > a{color:var(--teal)}
.ps-nav li.parent > a::after,.ps-nav li.parent > span::after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px)}
.ps-nav li ul{position:absolute;top:100%;left:0;min-width:240px;background:#fff;border-top:2px solid var(--teal);box-shadow:0 14px 30px rgba(0,0,0,.1);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:5}
.ps-nav li ul ul{top:-10px;left:100%}
.ps-nav li:hover > ul,.ps-nav li:focus-within > ul{opacity:1;visibility:visible;transform:none}
.ps-nav li ul a,.ps-nav li ul span{text-transform:none;letter-spacing:0;font:500 14px Poppins,sans-serif;padding:8px 20px}
.ps-nav li ul li.parent > a::after,.ps-nav li ul li.parent > span::after{transform:rotate(-45deg);float:right;margin-top:10px}
.ps-burger{display:none;background:none;border:0;padding:10px;cursor:pointer}
.ps-burger span{display:block;width:24px;height:2px;background:var(--title);margin:5px 0;transition:.3s}
main{padding-top:var(--header-h)}

/* Diaporama */
.ps-hero{position:relative;height:calc(100vh - var(--header-h));height:calc(100svh - var(--header-h));min-height:440px;max-height:820px;overflow:hidden;background:#403054;color:#fff}
.ps-hero p{margin:0}
.ps-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.6s ease,transform 8s ease}
.ps-hero img.is-on{opacity:1;transform:none}
.ps-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.4))}
.ps-hero-text{position:absolute;z-index:2;right:max(20px,calc((100% - 1140px)/2));bottom:16%;display:grid;text-align:right}
.ps-hero-line{grid-area:1/1;opacity:0;transform:translateY(20px);transition:opacity .9s,transform .9s}
.ps-hero-line.is-on{opacity:1;transform:none}
.ps-hero-line strong,.ps-hero-line b{display:block;font-size:clamp(38px,6vw,72px);font-weight:700;line-height:1.05;text-shadow:0 3px 18px rgba(0,0,0,.35)}
.ps-hero-line span,.ps-hero-line em{display:block;font-style:normal;font-size:clamp(15px,1.6vw,20px);font-weight:500;text-shadow:0 2px 10px rgba(0,0,0,.4);margin-top:6px}

/* Accueil */
.ps-home > .mod-custom > *{width:min(1140px,100% - 40px);margin-inline:auto}
.ps-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,70px);align-items:center;padding:clamp(60px,8vw,100px) 0}
.ps-intro img{width:100%;border-radius:4px;box-shadow:0 20px 40px rgba(0,0,0,.12)}
.ps-intro p:has(img){margin:0}
.ps-kicker{font:700 12px "Open Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lav);margin-bottom:.4em}
.ps-lead{font-size:18px;color:var(--title);font-weight:500}
.ps-cards{list-style:none;margin:0 auto!important;padding:0 0 clamp(60px,8vw,100px)!important;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ps-cards > li{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.ps-cards > li:hover{box-shadow:0 18px 40px rgba(0,0,0,.08);transform:translateY(-4px)}
.ps-cards img{width:100%;aspect-ratio:6/5;object-fit:cover;display:block}
.ps-cards p:has(img){margin:0}
.ps-cards h3{margin:22px 24px 8px}
.ps-cards p{margin:0 24px 18px}
.ps-cards p:last-child{margin-top:auto;padding-bottom:24px}
.ps-infos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,60px);padding:clamp(60px,8vw,90px) 0;border-top:1px solid var(--line)}
.ps-acc{border:1px solid var(--line);margin-bottom:-1px}
.ps-acc > h3{margin:0;font-size:15px;font-weight:600;color:var(--title);padding:16px 50px 16px 22px;cursor:pointer;position:relative;user-select:none;border-left:3px solid transparent}
.ps-acc > h3::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--lav);transition:transform .3s}
.ps-acc.is-open > h3{border-left-color:var(--teal);color:var(--teal-d)}
.ps-acc.is-open > h3::after{transform:translateY(-50%) rotate(45deg)}
.ps-acc > div{padding:0 22px;max-height:0;overflow:hidden;transition:max-height .4s,padding .4s}
.ps-acc.is-open > div{padding:6px 22px 18px}
.ps-price{width:100%;border-collapse:collapse;margin:0 0 1em}
.ps-price td{padding:6px 0;border-bottom:1px dashed var(--line)}
.ps-price td:last-child{text-align:right;font-weight:600;color:var(--title)}

/* Bandeau titre */
.ps-band{position:relative;background:var(--teal) center/cover;padding:clamp(50px,7vw,80px) 0;color:#fff}
.ps-band::before{content:"";position:absolute;inset:0;background:rgba(52,38,70,.62)}
.ps-band .ps-wrap{position:relative}
.ps-band-title{font-size:clamp(28px,3.6vw,42px);font-weight:700;line-height:1.15;margin:0;color:#fff}
.ps-band-sub{margin:.5em 0 0;font-size:14px;opacity:.9}

/* Pages */
.ps-page{padding:clamp(50px,7vw,80px) 0}
.ps-page .com-content-article,.ps-page .item-page{max-width:900px;margin-inline:auto}
.ps-page .page-header{display:none}
.ps-page .article-info,.ps-page .pagenavigation{display:none}
.ps-page h2{color:var(--teal-d)}
.ps-photo{float:right;width:min(40%,360px);margin:0 0 20px 34px;border-radius:6px;box-shadow:0 14px 30px rgba(0,0,0,.1)}
.ps-page p:has(> .ps-photo){margin:0}
.ps-list{list-style:none;margin:10px 0 0!important;padding:0!important;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ps-list > li{border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:box-shadow .3s,transform .3s}
.ps-list > li:hover{box-shadow:0 14px 34px rgba(0,0,0,.08);transform:translateY(-3px)}
.ps-list img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ps-list p:has(img){margin:0}
.ps-list h3{font-size:18px;margin:20px 22px 8px}
.ps-list p{margin:0 22px 16px;font-size:14px}
.ps-list p:last-child{margin-top:auto;padding-bottom:22px}
.ps-list .ps-btn{padding:10px 20px;font-size:11px}
.ps-page .com-content-article:has(.ps-list),.ps-page .item-page:has(.ps-list){max-width:none}
.img-missing{display:none!important}
.ps-list li:has(.img-missing) h3{margin-top:24px}

/* Contact */
.ps-page .contact{max-width:900px;margin-inline:auto}
.ps-page .contact h3{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-top:1.6em}
.ps-page .contact address,.ps-page .contact dl{font-style:normal;margin:0 0 1em}
.ps-page .contact dd,.ps-page .contact dt{margin:0}
.ps-page .contact-misc{background:var(--teal-l);padding:16px 22px;border-left:3px solid var(--teal);margin:20px 0}
.ps-page form .control-group{margin-bottom:16px}
.ps-page form label{display:block;font-size:13px;font-weight:600;color:var(--title);margin-bottom:6px}
.ps-page form input[type=text],.ps-page form input[type=email],.ps-page form textarea{width:100%;font:inherit;padding:12px 14px;border:1px solid #d6dede;border-radius:4px;background:#fff}
.ps-page form input:focus,.ps-page form textarea:focus{outline:0;border-color:var(--teal)}
.ps-page form .btn,.ps-page form button[type=submit]{font:700 12px "Open Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;background:var(--teal);color:#fff;border:0;padding:14px 32px;border-radius:30px;cursor:pointer}
.ps-page fieldset{border:0;padding:0;margin:0}
.ps-page legend{font-size:20px;font-weight:700;color:var(--title);margin-bottom:16px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.form-check{display:flex;gap:8px;align-items:flex-start}

/* Bandeaux bas */
.ps-cta{background:var(--teal);color:#fff;padding:44px 0}
.ps-cta-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ps-cta p{margin:0}
.ps-cta-title,.ps-map-title{font-size:clamp(22px,2.6vw,28px);font-weight:700;margin:0 0 4px!important;color:#fff}
.ps-cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.ps-map{padding:40px 0;border-bottom:3px solid var(--lav)}
.ps-map p{margin:0}
.ps-map-title{color:var(--teal-d)}

/* Pied de page */
.ps-footer{background:#f7f5fa;font-size:14px}
.ps-footer-in{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:40px;padding:50px 0}
.ps-footer img{height:120px;width:auto;margin-bottom:12px}
.ps-footer-title{font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.06em;font-size:13px;margin-bottom:12px}
.ps-footer a{color:var(--title);text-decoration:none}
.ps-footer a:hover{color:var(--teal)}
.ps-footer-nav ul{list-style:none;margin:0;padding:0;columns:2;gap:20px}
.ps-footer-nav ul ul{display:none}
.ps-footer-nav li{margin-bottom:6px;break-inside:avoid}
.ps-social a{color:var(--teal);margin-right:14px;font-weight:600}
.ps-copy{border-top:1px solid var(--line);padding:16px 0;font-size:13px}
.ps-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;background:var(--teal);opacity:0;pointer-events:none;transition:.3s;z-index:40}
.ps-top::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-left:2px solid #fff;border-top:2px solid #fff;transform:translate(-50%,-25%) rotate(45deg)}
.ps-top.is-on{opacity:1;pointer-events:auto}

.js .ps-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}
.js .ps-reveal.is-in{opacity:1;transform:none}

@media (max-width:1060px){
	.ps-burger{display:block;z-index:3}
	.ps-nav{position:fixed;inset:var(--header-h) 0 0;background:#fff;overflow:auto;transform:translateX(100%);transition:transform .35s;padding:10px 0 40px}
	.nav-open .ps-nav{transform:none}
	.ps-nav > ul,.ps-nav > .mod-menu{flex-direction:column}
	.ps-nav li{border-bottom:1px solid var(--line)}
	.ps-nav a,.ps-nav .mod-menu__heading,.ps-nav .nav-header{padding:14px 24px;font-size:13px}
	.ps-nav li ul,.ps-nav li ul ul{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:0 0 6px 16px;min-width:0}
	.ps-nav li ul li{border:0}
	.ps-nav li.parent > a::after,.ps-nav li.parent > span::after{display:none}
	.nav-open .ps-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
	.nav-open .ps-burger span:nth-child(2){opacity:0}
	.nav-open .ps-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media (max-width:860px){
	.ps-intro,.ps-infos{grid-template-columns:1fr}
	.ps-cards,.ps-list{grid-template-columns:1fr 1fr}
	.ps-footer-in{grid-template-columns:1fr}
	.ps-photo{float:none;width:100%;margin:0 0 20px}
}
@media (max-width:560px){.ps-cards,.ps-list{grid-template-columns:1fr}.ps-hero-text{left:20px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
