@import url('https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
@import url('./tokens.css');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--brown);font-family:var(--sans);line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.container{width:var(--container);margin:auto}.skip{position:fixed;left:15px;top:-80px;z-index:999;background:#fff;padding:12px 18px;border-radius:12px}.skip:focus{top:15px}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--olive)}
.topbar{background:var(--navy-2);color:#f9f1df;font-size:.78rem}.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:38px}.topbar a{text-decoration:none}.header{position:sticky;top:0;z-index:50;background:rgba(51,65,87,.96);backdrop-filter:blur(14px);color:#fff;border-bottom:1px solid rgba(255,255,255,.09)}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain}.brand strong{display:block;font-family:var(--serif);font-size:1.42rem;line-height:1}.brand span span{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#dfc998}.menu{display:flex;gap:25px;align-items:center}.menu a{text-decoration:none;font-size:.88rem;font-weight:600}.menu a:hover{color:#efd79e}.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.25);color:white;padding:9px 12px;border-radius:12px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border-radius:999px;text-decoration:none;font-weight:700;font-size:.86rem;transition:.25s;border:1px solid transparent}.btn-primary{background:var(--sage);color:#fff;box-shadow:0 10px 24px rgba(39,48,36,.18)}.btn-primary:hover{transform:translateY(-2px);background:var(--olive)}.btn-light{background:#fff;color:var(--navy)}.btn-outline{border-color:rgba(51,65,87,.28);color:var(--navy);background:rgba(255,255,255,.35)}
.hero{position:relative;overflow:hidden;background:linear-gradient(155deg,var(--paper) 0 60%,#eadfce 60%);min-height:760px}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.75),transparent 32%),radial-gradient(circle at 82% 25%,rgba(255,255,255,.35),transparent 30%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px;padding:78px 0 98px}.hero-copy{position:relative;z-index:2}.hero-kicker{display:inline-flex;gap:9px;align-items:center;background:rgba(255,255,255,.65);border:1px solid rgba(104,112,82,.2);padding:8px 13px;border-radius:999px;color:var(--olive);font-size:.73rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.hero h1{font-family:var(--serif);font-size:clamp(4rem,7vw,7rem);line-height:.86;margin:25px 0 28px;font-weight:600;color:var(--navy)}.hero h1 .script{font-family:var(--script);font-weight:400;color:var(--olive);display:block;font-size:1.05em;margin-left:5%}.hero p{font-size:1.07rem;max-width:610px;color:#655d56}.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.hero-trust{display:flex;gap:24px;margin-top:40px;flex-wrap:wrap}.hero-trust span{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:var(--moss)}.hero-trust i{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:rgba(127,135,103,.18);font-style:normal}.hero-media{position:relative;min-height:610px}.hero-media:before{content:"";position:absolute;inset:1% -6% -4% 7%;border-radius:45% 55% 22% 78%/58% 30% 70% 42%;background:var(--sage);opacity:.28;transform:rotate(-4deg)}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% center;border-radius:48% 52% 17% 83%/61% 29% 71% 39%;box-shadow:var(--shadow);filter:saturate(.82) sepia(.05)}.hero-card{position:absolute;left:-36px;bottom:42px;z-index:3;background:rgba(255,253,249,.93);backdrop-filter:blur(10px);border-radius:22px;padding:19px 22px;box-shadow:var(--shadow-soft);width:230px;border:1px solid rgba(255,255,255,.6)}.hero-card strong{font-family:var(--serif);font-size:1.38rem;display:block;color:var(--navy)}.hero-card span{font-size:.74rem;color:var(--muted)}.leaf{position:absolute;color:var(--olive);opacity:.35;width:350px}.leaf-a{left:-105px;top:-10px;transform:rotate(8deg)}.leaf-b{right:-105px;bottom:-40px;transform:rotate(190deg)}
.section{padding:var(--section) 0}.section-head{text-align:center;max-width:790px;margin:0 auto 55px}.section-head h2,.split h2{font-family:var(--serif);font-size:clamp(2.9rem,5vw,5.1rem);line-height:.96;color:var(--navy);margin:12px 0 18px}.script-title{font-family:var(--script);font-weight:400;color:var(--olive);font-size:1.12em}.section-head p{color:var(--muted)}.brush{display:inline-block;position:relative}.brush:after{content:"";position:absolute;left:-4%;right:-4%;bottom:.12em;height:.34em;background:rgba(127,135,103,.24);transform:rotate(-1deg);border-radius:40% 60% 43% 57%;z-index:-1}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.value{background:rgba(255,253,249,.82);border:1px solid var(--line);border-radius:24px;padding:31px 24px;text-align:center;box-shadow:var(--shadow-soft)}.icon-round{width:58px;height:58px;margin:0 auto 16px;border-radius:50%;background:var(--sage);color:white;display:grid;place-items:center}.icon-round svg{width:29px;height:29px}.value h3{font-family:var(--serif);font-size:1.7rem;margin:0 0 6px;color:var(--navy)}.value p{font-size:.86rem;color:var(--muted);margin:0}
.services{background:linear-gradient(180deg,var(--paper),#f8f2e9)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{position:relative;background:var(--white);border:1px solid rgba(104,112,82,.22);border-radius:31px;overflow:hidden;box-shadow:var(--shadow-soft);transition:.3s}.card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.card-media{height:245px;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:.5s}.card:hover img{transform:scale(1.04)}.card-badge{position:absolute;top:220px;left:28px;width:64px;height:64px;border-radius:50%;background:var(--olive);color:#fff;display:grid;place-items:center;border:6px solid var(--white)}.card-badge svg{width:27px}.card:nth-child(2) .card-badge{background:var(--peach)}.card-body{padding:42px 30px 31px}.card h3{font-family:var(--serif);font-size:2rem;line-height:1;margin:0 0 13px;color:var(--navy)}.card p{color:var(--muted)}.card ul{list-style:none;padding:0;margin:20px 0}.card li{padding:5px 0;font-size:.88rem}.card li:before{content:"•";color:var(--sage);font-weight:800;margin-right:9px}.card-link{text-decoration:none;font-weight:800;color:var(--olive);font-size:.84rem}.card-link:after{content:" →"}
.manifesto{background:var(--navy);color:#f9f3e7;position:relative;overflow:hidden}.manifesto .leaf{color:#d8c18a;opacity:.13}.manifesto-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:center}.manifesto h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5.2rem);line-height:.94;margin:10px 0 25px;color:white}.manifesto p{color:rgba(255,255,255,.74)}.manifesto-list{display:grid;gap:14px}.manifesto-item{display:grid;grid-template-columns:56px 1fr;gap:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);padding:19px;border-radius:19px}.manifesto-item b{display:block;color:#fff}.manifesto-item span{font-size:.82rem;color:rgba(255,255,255,.65)}.manifesto-item i{width:50px;height:50px;border-radius:50%;background:rgba(216,193,138,.16);display:grid;place-items:center;font-style:normal;color:#efd79e;font-size:1.15rem}
.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:78px;align-items:center}.portrait{position:relative;padding:27px}.portrait:before{content:"";position:absolute;inset:0;background:rgba(127,135,103,.25);border-radius:55% 45% 46% 54%/50% 45% 55% 50%;transform:rotate(-5deg)}.portrait img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:52% 48% 42% 58%/55% 44% 56% 45%;box-shadow:var(--shadow);filter:saturate(.78)}.signature{font-family:var(--script);font-size:3.3rem;color:var(--olive);line-height:1}.quote-band{margin-top:70px;background:linear-gradient(110deg,var(--sage),var(--olive));border-radius:34px;padding:48px;color:white;text-align:center;position:relative;overflow:hidden}.quote-band:before{content:"✦";position:absolute;left:7%;top:12%;font-size:3rem;color:#efd79e;opacity:.5}.quote-band blockquote{font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:0}.quote-band span{display:block;margin-top:14px;font-family:var(--script);font-size:2rem}
.cta-wrap{padding-top:0}.cta{background:var(--paper);border:1px solid var(--line);border-radius:40px;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;box-shadow:var(--shadow-soft)}.cta-copy{padding:clamp(42px,7vw,78px)}.cta h2{font-family:var(--serif);font-size:clamp(2.8rem,5vw,4.7rem);line-height:.96;color:var(--navy);margin:10px 0 20px}.cta p{color:var(--muted)}.cta-image{background:url('../img/reference-flyer.jpg') center 12%/cover no-repeat;min-height:510px;position:relative}.cta-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 32%)}
.footer{background:var(--navy-2);color:#eee5d5;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:50px}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand img{width:70px}.footer h3{font-family:var(--serif);font-size:1.6rem;margin:0 0 13px;color:#fff}.footer a{text-decoration:none;color:#eee5d5}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:20px;font-size:.73rem;color:rgba(255,255,255,.55);display:flex;justify-content:space-between}
.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.menu{position:fixed;left:20px;right:20px;top:98px;background:var(--navy-2);padding:25px;border-radius:22px;display:none;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.menu.open{display:flex}.nav-toggle{display:block}.hero-grid,.manifesto-grid,.split,.cta{grid-template-columns:1fr}.hero-media{min-height:520px}.hero{min-height:auto}.values{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.card{display:grid;grid-template-columns:.75fr 1.25fr}.card-media{height:100%}.card-badge{top:28px;left:calc(38% - 32px)}.footer-grid{grid-template-columns:1fr 1fr}.cta-image{min-height:420px}}
@media(max-width:620px){:root{--container:min(100% - 26px,1240px)}.topbar{display:none}.nav{min-height:74px}.brand img{width:48px;height:48px}.brand strong{font-size:1.15rem}.brand span span{display:none}.hero-grid{padding:52px 0 72px;gap:35px}.hero h1{font-size:3.9rem}.hero-media{min-height:420px}.hero-card{left:10px;bottom:18px;width:195px}.values{grid-template-columns:1fr}.card{display:block}.card-media{height:225px}.card-badge{top:197px;left:25px}.manifesto-grid{gap:38px}.split{gap:38px}.quote-band{padding:36px 20px}.footer-grid{grid-template-columns:1fr}.copyright{display:block}.cta-copy{padding:38px 25px}.cta-image{min-height:330px}.hero-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

.page-hero{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--paper),#e8ddcd);padding:88px 0 78px}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-family:var(--serif);font-size:clamp(3.7rem,7vw,6.8rem);line-height:.9;color:var(--navy);margin:15px 0 22px}.page-hero p{max-width:720px;font-size:1.04rem;color:var(--muted)}.page-hero .leaf{opacity:.2}.breadcrumbs{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--olive)}.breadcrumbs a{text-decoration:none}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.panel{background:var(--white);border:1px solid var(--line);border-radius:30px;padding:clamp(28px,4vw,48px);box-shadow:var(--shadow-soft)}.panel h2,.rich h2{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4rem);line-height:1;color:var(--navy);margin:8px 0 18px}.panel h3,.rich h3{font-family:var(--serif);font-size:2rem;color:var(--navy);margin:28px 0 10px}.rich{max-width:860px;margin:auto}.rich p,.rich li,.panel p{color:var(--muted)}.feature-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:11px}.feature-list li{position:relative;padding-left:29px}.feature-list li:before{content:'✓';position:absolute;left:0;color:var(--olive);font-weight:800}.service-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center;padding:44px 0}.service-detail:nth-child(even){grid-template-columns:1.1fr .9fr}.service-detail:nth-child(even) .service-photo{order:2}.service-photo{min-height:420px;border-radius:35px;overflow:hidden;box-shadow:var(--shadow)}.service-photo img{width:100%;height:100%;object-fit:cover;min-height:420px;filter:saturate(.8)}.price{font-family:var(--serif);font-size:2.2rem;color:var(--olive);font-weight:700}.notice{background:#f2eadf;border-left:5px solid var(--sage);padding:18px 20px;border-radius:0 18px 18px 0;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow-soft)}.step b{font-family:var(--serif);font-size:1.6rem;color:var(--navy);display:block}.step i{font-style:normal;color:var(--olive);font-weight:800;font-size:.76rem}.faq{display:grid;gap:13px;max-width:900px;margin:auto}.faq details{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:19px 22px}.faq summary{cursor:pointer;font-weight:800;color:var(--navy)}.faq p{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}.contact-card{background:var(--navy);color:white;border-radius:32px;padding:44px}.contact-card h2{font-family:var(--serif);font-size:3.3rem;line-height:1;margin:0 0 22px}.contact-card a{color:white}.contact-lines{display:grid;gap:18px;margin:30px 0}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form .full{grid-column:1/-1}.form label{display:block;font-weight:700;font-size:.82rem;margin-bottom:7px}.form input,.form select,.form textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit;color:var(--brown)}.form textarea{min-height:150px;resize:vertical}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery article{background:var(--white);border-radius:25px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.gallery img{width:100%;height:250px;object-fit:cover}.gallery div{padding:23px}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.partner{background:var(--white);border:1px solid var(--line);padding:28px;border-radius:24px;text-align:center}.social-links{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.social-box{border-radius:30px;padding:48px;background:linear-gradient(140deg,var(--sage),var(--olive));color:white;text-decoration:none;min-height:250px;display:flex;flex-direction:column;justify-content:flex-end}.social-box:nth-child(2){background:linear-gradient(140deg,var(--navy),var(--navy-2))}.social-box h2{font-family:var(--serif);font-size:3rem;margin:0}.legal-nav{position:sticky;top:120px}.legal-nav a{display:block;padding:8px 0;text-decoration:none;color:var(--olive);font-weight:700}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.article-card{background:var(--white);border:1px solid var(--line);border-radius:26px;overflow:hidden}.article-card img{width:100%;height:220px;object-fit:cover}.article-card div{padding:25px}.article-card h3{font-family:var(--serif);font-size:1.8rem;color:var(--navy);margin:0 0 10px}.active{color:#efd79e!important}.shop-intro{background:var(--navy);color:white;border-radius:38px;padding:60px;display:grid;grid-template-columns:1fr .75fr;gap:45px;align-items:center}.shop-intro h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5rem);line-height:.95;margin:0 0 18px}.shop-intro p{color:rgba(255,255,255,.72)}
@media(max-width:900px){.content-grid,.service-detail,.service-detail:nth-child(even),.contact-grid,.shop-intro{grid-template-columns:1fr}.service-detail:nth-child(even) .service-photo{order:0}.steps{grid-template-columns:repeat(2,1fr)}.gallery,.partner-grid,.article-grid{grid-template-columns:repeat(2,1fr)}.legal-nav{position:static}}
@media(max-width:620px){.page-hero{padding:60px 0}.page-hero h1{font-size:3.7rem}.steps,.gallery,.partner-grid,.article-grid,.social-links,.form{grid-template-columns:1fr}.form .full{grid-column:auto}.shop-intro{padding:36px 25px}.service-photo,.service-photo img{min-height:300px}}


.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.consent label{font-size:.78rem;font-weight:500;display:flex;gap:.65rem;align-items:flex-start}.consent input{width:auto;margin-top:.2rem}.form-status{margin-top:14px;font-size:.86rem;min-height:1.4em}.form-status.is-success{color:#42633e}.form-status.is-error{color:#9b322b}.form-status.is-loading{color:var(--muted)}button[aria-busy=true]{opacity:.65;cursor:wait}.nav-toggle:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d8c18a;outline-offset:3px}.prose-table{width:100%;border-collapse:collapse}.prose-table th,.prose-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}@media print{.topbar,.header,.footer,.cta-wrap,.nav-toggle{display:none!important}.section,.page-hero{padding:24px 0}body{background:#fff;color:#000}}


.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.consent-field label{display:flex;gap:.65rem;align-items:flex-start;font-size:.88rem;line-height:1.5}
.consent-field input[type="checkbox"]{width:1.1rem;height:1.1rem;margin-top:.15rem;flex:0 0 auto}
.form-status{margin:.75rem 0 0;font-size:.9rem;min-height:1.5em}
.form-status.is-loading{color:var(--muted)}
.form-status.is-success{color:#315f42}
.form-status.is-error{color:#8b2f2f}
button[aria-busy="true"]{cursor:wait;opacity:.72}

/* Bannière de consentement RGPD */
[hidden]{display:none!important}.cookie-banner{position:fixed;inset:auto 18px 18px;z-index:1000;background:#fffdf9;color:var(--brown);border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 70px rgba(26,32,43,.28);padding:22px}.cookie-banner__content{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.cookie-banner h2,.cookie-modal h2{font-family:var(--serif);color:var(--navy);font-size:2rem;line-height:1;margin:0 0 8px}.cookie-banner p,.cookie-modal p{margin:0;color:var(--muted);font-size:.9rem}.cookie-banner__actions,.cookie-modal__actions{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto}.cookie-banner .btn{min-height:44px;padding:0 18px;cursor:pointer}.cookie-banner .btn-light{border-color:var(--line)}.cookie-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px}.cookie-modal__backdrop{position:absolute;inset:0;background:rgba(22,28,38,.62);backdrop-filter:blur(4px)}.cookie-modal__panel{position:relative;width:min(620px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;background:#fffdf9;border-radius:28px;padding:34px;box-shadow:0 30px 100px rgba(0,0,0,.35)}.cookie-modal__close{position:absolute;right:18px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:#f1eadf;color:var(--navy);font-size:1.7rem;cursor:pointer}.cookie-choice{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.cookie-choice div{display:grid;gap:3px}.cookie-choice strong{color:var(--navy)}.cookie-choice span{font-size:.82rem;color:var(--muted)}.cookie-choice input{width:22px;height:22px;accent-color:var(--olive)}.cookie-modal__actions{justify-content:flex-end;margin-top:24px}.cookie-modal-open{overflow:hidden}.footer-cookie-link{padding:0;border:0;background:none;color:#eee5d5;font:inherit;cursor:pointer;text-align:left}.footer-cookie-link:hover{text-decoration:underline}.footer-cookie-link:focus-visible{outline:3px solid #d8c18a;outline-offset:3px}@media(max-width:780px){.cookie-banner{inset:auto 10px 10px;padding:18px}.cookie-banner__content{align-items:stretch;flex-direction:column;gap:16px}.cookie-banner__actions{display:grid;grid-template-columns:1fr}.cookie-banner .btn{width:100%}.cookie-modal__panel{padding:30px 22px 24px}.cookie-modal__actions .btn{width:100%}}

.partner-logo-card{
  width:140px;
  height:90px;
  margin:0 auto 1.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(51,65,87,.12);
  border-radius:20px;
  box-shadow:0 10px 25px rgba(0,0,0,.07);
  transition:transform .25s ease, box-shadow .25s ease;
}
.partner-logo-card:hover,
.partner-logo-card:focus-within{
  transform:translateY(-3px);
  box-shadow:0 15px 34px rgba(0,0,0,.11);
}
.partner-logo-card a{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.partner-logo-card img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
.partner-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.6rem;
  margin-top:1rem;
}
.partner-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:40px;
  padding:.6rem .85rem;
  border:1px solid rgba(51,65,87,.16);
  border-radius:12px;
  background:#fff;
  color:#334157;
  font-size:.9rem;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  transition:transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.partner-social-link svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:currentColor;
}
.partner-social-link:hover,
.partner-social-link:focus-visible{
  transform:translateY(-2px);
  background:#334157;
  color:#fff;
  box-shadow:0 8px 18px rgba(51,65,87,.16);
}
.partner-social-link:focus-visible{
  outline:3px solid rgba(51,65,87,.28);
  outline-offset:2px;
}
@media (max-width:480px){
  .partner-links{flex-direction:column;align-items:stretch;}
  .partner-social-link{width:100%;}
}

/* Page Tarifs */
.tarifs-hero{background:linear-gradient(135deg,var(--navy-2),var(--navy));color:#fff;overflow:hidden}
.tarifs-hero:after{content:"";position:absolute;inset:auto -8% -75px 42%;height:170px;background:var(--cream);border-radius:50% 0 0 0;transform:rotate(-4deg)}
.tarifs-hero .container{position:relative;z-index:2}
.tarifs-hero .breadcrumbs,.tarifs-hero .breadcrumbs a,
.tarifs-hero p{color:rgba(255,255,255,.78)}
.tarifs-hero .eyebrow{color:#dfc998}
.tarifs-section{padding-top:80px}
.tarifs-layout{display:grid;grid-template-columns:1.04fr .96fr;gap:24px;align-items:start}
.tarif-panel{position:relative;background:#fffdf9;border:1px solid rgba(176,143,102,.22);border-radius:30px;padding:30px;box-shadow:var(--shadow-soft);overflow:hidden}
.tarif-panel:before{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(131,144,90,.12);border-radius:50%;right:-92px;top:-95px}
.tarif-panel__head{display:flex;gap:16px;align-items:center;padding-bottom:18px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.tarif-panel__head h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.55rem);line-height:1;color:var(--navy);margin:3px 0 0;text-transform:uppercase;letter-spacing:.02em}
.tarif-icon{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:var(--terracotta);color:#fff;font-size:1.6rem}
.tarif-petsitting .tarif-icon{background:var(--olive)}
.tarif-aroma .tarif-icon{background:#9b8a49}
.tarif-aroma-human 
.tarif-icon{background:var(--terracotta)}
.tarif-list{display:grid}
.tarif-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:14px 0;border-bottom:1px dotted rgba(98,77,63,.25)}
.tarif-row:last-child{border-bottom:0}
.tarif-row h3{margin:0;color:var(--navy);font-size:1rem}
.tarif-row p{margin:3px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}
.tarif-row strong{font-family:var(--serif);font-size:1.5rem;color:var(--navy);white-space:nowrap}
.tarif-note{margin:18px 0 0;padding:15px 18px;border-radius:18px;background:#f6efe5;color:var(--muted);font-size:.82rem}
.tarif-intro{text-align:center;color:var(--muted);font-family:var(--serif);font-style:italic}
.visit-formulas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.visit-card{display:flex;flex-direction:column;min-height:390px;border:1px solid var(--line);border-radius:19px;overflow:hidden;background:#fff;padding:0 14px 18px}
.visit-card h3{margin:0 -14px 14px;padding:11px 7px;text-align:center;text-transform:uppercase;font-size:.82rem;letter-spacing:.04em;color:#fff;background:var(--olive)}
.visit-card--serenity h3,
#formule-serenite-title{
    background:#EFC8CF;
    color:#7A4652;
    padding:10px 22px;
}
.visit-card--premium h3{background:var(--navy)}
.visit-card b{text-align:center;color:var(--navy);font-size:.82rem;text-transform:uppercase}
.visit-card ul{padding-left:18px;margin:13px 0;flex:1;color:var(--muted);font-size:.75rem;line-height:1.5}
.visit-card li::marker{color:var(--olive)}
.visit-card strong{font-family:var(--serif);font-size:2rem;text-align:center;color:var(--olive)}
.visit-card--serenity strong{color:var(--terracotta)}
.visit-card--premium strong{color:var(--navy)}
.tarif-aroma,.tarif-aroma-human{margin-top:0}
.tarif-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:28px;border:1px solid var(--line);background:#fffdf9;border-radius:28px}
.tarif-values-grid article{text-align:center;padding:12px;border-right:1px solid var(--line)}
.tarif-values-grid article:last-child{border-right:0}
.tarif-values-grid span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;border:1px solid #cbb98c;border-radius:50%;color:var(--olive);font-size:1.35rem}
.tarif-values-grid h3{font-family:var(--serif);color:var(--navy);font-size:1.15rem;text-transform:uppercase;margin:0}
.tarif-values-grid p{color:var(--muted);font-size:.8rem;margin:4px 0}
.tarifs-cta{margin-top:28px;padding:40px;border-radius:30px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}
.tarifs-cta h2{font-family:var(--serif);font-size:clamp(2.3rem,4vw,4rem);line-height:1;margin:8px 0 12px}
.tarifs-cta p{max-width:730px;color:rgba(255,255,255,.72)}
.tarifs-cta .eyebrow{color:#dfc998}
.tarifs-legal{text-align:center;color:var(--muted);font-size:.78rem;margin:22px auto 0;max-width:900px}@media(max-width:1000px){
	.tarifs-layout{grid-template-columns:1fr}
	.visit-card{min-height:0}
	.tarif-values-grid{grid-template-columns:repeat(2,1fr)}
	.tarif-values-grid article:nth-child(2){border-right:0}
	.tarif-values-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
	.tarifs-cta{align-items:flex-start;flex-direction:column}}@media(max-width:650px){
		.tarif-panel{padding:22px 17px;border-radius:23px}
		.tarif-panel__head{align-items:flex-start}
		.tarif-panel__head h2{font-size:1.7rem}
		.tarif-icon{width:48px;height:48px;flex-basis:48px}
		.visit-formulas{grid-template-columns:1fr}
		.visit-card{min-height:0}
		.tarif-values-grid{grid-template-columns:1fr;padding:18px}
		.tarif-values-grid article,
		.tarif-values-grid article:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}
		.tarif-values-grid article:last-child{border-bottom:0}
		.tarifs-cta{padding:30px 23px}
		.tarif-row{gap:10px}
		.tarif-row strong{font-size:1.28rem}}@media print{
			.tarifs-layout{grid-template-columns:1fr 1fr}
			.tarif-panel{break-inside:avoid;box-shadow:none}
			.tarifs-cta{display:none}
			.visit-card{min-height:0}}

/* Correctif d’affichage de la formule Sérénité */
.visit-card--serenity{
  position:relative;
  z-index:1;
  background:#fffaf7;
  color:var(--navy);
}
.visit-card--serenity > *{
  position:relative;
  z-index:2;
  opacity:1!important;
  visibility:visible!important;
}
.visit-card--serenity .visit-card__duration{
  display:block;
  color:var(--navy)!important;
}
.visit-card--serenity .visit-card__features{
  display:block;
  color:var(--muted)!important;
}
.visit-card--serenity .visit-card__features li{
  display:list-item;
  color:inherit;
}
.visit-card--serenity .visit-card__features li::marker{
  color:var(--terracotta);
}
.visit-card--serenity .visit-card__price{
  display:block;
  color:var(--terracotta)!important;
}

/* Harmonisation typographique — page Tarifs
   Une police éditoriale pour les grands titres, une police sans-serif pour tous les contenus. */
.tarifs-hero,
.tarifs-section,
.tarifs-values{
  font-family:var(--sans);
}
.tarifs-hero h1,
.tarif-panel__head h2,
.tarifs-cta h2{
  font-family:var(--serif);
  font-weight:600;
}
.tarifs-hero .script-title,
.tarifs-cta .script-title{
  font-family:var(--script);
  font-weight:400;
}
.tarif-row h3,
.tarif-row p,
.tarif-row strong,
.tarif-note,
.tarif-intro,
.visit-card h3,
.visit-card b,
.visit-card ul,
.visit-card li,
.visit-card strong,
.tarif-values-grid h3,
.tarif-values-grid p,
.tarifs-cta p,
.tarifs-legal{
  font-family:var(--sans);
}
.tarif-row h3,
.visit-card h3,
.tarif-values-grid h3{
  font-weight:700;
}
.tarif-row strong,
.visit-card strong{
  font-weight:800;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
}
.tarif-intro{
  font-style:normal;
  font-weight:500;
}


.tarif-icon--image{
  width:84px;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 84px;
  overflow:hidden;
  border-radius:50%;
}
.tarif-icon--image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
@media (max-width:640px){
  .tarif-icon--image{
    width:72px;
    height:72px;
    flex-basis:72px;
  }
}
/* ==========================================================
   Finitions visuelles — Page Tarifs (édition Signature)
   ========================================================== */
.tarifs-section{padding-top:96px;padding-bottom:96px}
.tarifs-layout{gap:32px}
.tarif-panel{
  border-radius:32px;
  padding:34px;
  box-shadow:0 18px 48px rgba(51,65,87,.09);
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease;
}
.tarif-panel:hover{
  transform:translateY(-4px);
  border-color:rgba(131,144,90,.34);
  box-shadow:0 26px 64px rgba(51,65,87,.13);
}
.tarif-panel__head{gap:20px;padding-bottom:22px;margin-bottom:14px}
.tarif-panel__head h2{letter-spacing:.025em}
.tarif-icon--image{
  width:94px;
  height:94px;
  flex:0 0 94px;
  filter:drop-shadow(0 8px 18px rgba(51,65,87,.12));
  transition:transform .32s ease,filter .32s ease;
}
.tarif-panel:hover .tarif-icon--image{
  transform:scale(1.035) rotate(-1deg);
  filter:drop-shadow(0 12px 24px rgba(51,65,87,.17));
}
.tarif-row{padding:17px 0;transition:background-color .2s ease,padding-left .2s ease,padding-right .2s ease}
.tarif-row:hover{background:rgba(246,239,229,.58);padding-left:10px;padding-right:10px;border-radius:14px}
.tarif-row h3{font-size:1.02rem;line-height:1.35}
.tarif-row p{font-size:.84rem}
.tarif-row strong{
  min-width:72px;
  padding:7px 12px;
  border:1px solid rgba(127,135,103,.22);
  border-radius:999px;
  background:rgba(127,135,103,.09);
  color:var(--olive);
  line-height:1;
  text-align:center;
}
.tarif-note{margin-top:22px;padding:17px 20px;border:1px solid rgba(176,143,102,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.tarif-intro{margin:18px auto 0;max-width:520px;font-size:.92rem}
.visit-formulas{gap:16px;margin-top:24px}
.visit-card{
  min-height:400px;
  border-radius:22px;
  box-shadow:0 10px 26px rgba(51,65,87,.07);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.visit-card:hover{
  transform:translateY(-6px);
  border-color:rgba(131,144,90,.34);
  box-shadow:0 20px 42px rgba(51,65,87,.13);
}
.visit-card h3{padding-top:13px;padding-bottom:13px;font-size:.86rem}
.visit-card b{font-size:.85rem;letter-spacing:.08em}
.visit-card ul{font-size:.78rem;line-height:1.6}
.visit-card strong,
.visit-card__price{
  align-self:center;
  min-width:88px;
  margin-top:8px;
  padding:9px 16px;
  border-radius:999px;
  background:rgba(127,135,103,.11);
  line-height:1;
}
.visit-card--serenity{
  background:linear-gradient(180deg,#fffaf9 0%,#f9e6e9 100%);
  border-color:#e7bdc5;
}
.visit-card--serenity h3,
#formule-serenite-title{
  margin-left:-14px;
  margin-right:-14px;
  padding:13px 10px;
  border-radius:0;
  background:linear-gradient(135deg,#e9bac3,#d99aa7);
  color:#fff;
  box-shadow:0 6px 16px rgba(201,120,134,.2);
}
.visit-card--serenity .visit-card__price{background:rgba(201,120,134,.14)}
.visit-card--premium{border-color:rgba(51,65,87,.2)}
.tarif-values-grid{
  gap:0;
  padding:30px;
  border-radius:30px;
  box-shadow:0 16px 42px rgba(51,65,87,.08);
}
.tarif-values-grid article{padding:18px 16px;transition:transform .25s ease,background-color .25s ease}
.tarif-values-grid article:hover{transform:translateY(-3px);background:rgba(246,239,229,.55);border-radius:18px}
.tarif-values-grid span{
  width:54px;
  height:54px;
  margin-bottom:13px;
  background:rgba(127,135,103,.08);
  box-shadow:0 7px 18px rgba(51,65,87,.06);
}
.tarifs-cta{
  margin-top:34px;
  padding:46px;
  box-shadow:0 22px 54px rgba(30,40,55,.22);
}
.tarifs-cta .btn{box-shadow:0 12px 28px rgba(0,0,0,.18)}
.tarifs-legal{margin-top:26px}

@media (max-width:1000px){
  .tarifs-section{padding-top:78px;padding-bottom:78px}
  .tarifs-layout{gap:26px}
  .visit-card{min-height:0}
}
@media (max-width:650px){
  .tarifs-section{padding-top:58px;padding-bottom:58px}
  .tarif-panel{padding:24px 18px;border-radius:25px}
  .tarif-panel:hover{transform:none}
  .tarif-icon--image{width:74px;height:74px;flex-basis:74px}
  .tarif-panel__head{gap:14px}
  .tarif-row:hover{padding-left:0;padding-right:0;background:transparent}
  .tarif-row strong{min-width:64px;padding:7px 10px}
  .visit-formulas{gap:14px}
  .visit-card:hover{transform:none}
  .tarifs-cta{padding:32px 24px}
}
@media (prefers-reduced-motion:reduce){
  .tarif-panel,.tarif-icon--image,.tarif-row,.visit-card,.tarif-values-grid article{transition:none!important}
  .tarif-panel:hover,.visit-card:hover,.tarif-values-grid article:hover{transform:none!important}
}

/* ==========================================================
   Système typographique global — harmonisation 2026-08-02
   Cormorant Garamond : titres éditoriaux
   Manrope : navigation, textes, boutons, formulaires et données
   Allura : accents manuscrits uniquement
   ========================================================== */
html{
  font-size:16px;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body,
button,
input,
select,
textarea{
  font-family:var(--sans);
}
body{
  font-size:1rem;
  font-weight:400;
  line-height:1.65;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
p,
li,
dd,
dt,
figcaption,
address,
label,
input,
select,
textarea{
  font-family:var(--sans);
}
p,
li{
  line-height:1.65;
}
h1,
h2,
h3,
h4,
h5,
h6,
blockquote{
  font-family:var(--serif);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.015em;
  text-wrap:balance;
}
h1{font-size:clamp(3.35rem,6vw,6.4rem)}
h2{font-size:clamp(2.45rem,4.5vw,4.8rem)}
h3{font-size:clamp(1.45rem,2.3vw,2rem)}
h4{font-size:clamp(1.2rem,1.8vw,1.55rem)}
h5{font-size:1.08rem}
h6{font-size:1rem}
.script,
.script-title,
.signature,
.quote-band > span{
  font-family:var(--script);
  font-weight:400;
  letter-spacing:0;
}
.eyebrow,
.hero-kicker,
.brand span span,
.menu,
.btn,
.nav-toggle,
.topbar,
.card-link,
.form label,
.footer,
.breadcrumbs,
.tarif-row,
.visit-card,
.tarif-note,
.tarifs-legal,
.cookie-banner,
.cookie-modal{
  font-family:var(--sans);
}
.eyebrow,
.hero-kicker{
  font-weight:700;
  line-height:1.35;
  letter-spacing:.16em;
}
.menu a,
.btn,
.nav-toggle,
.card-link,
.footer-cookie-link{
  font-weight:700;
  letter-spacing:.005em;
}
.brand strong{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:-.01em;
}
.page-hero h1,
.hero h1,
.section-head h2,
.split h2,
.manifesto h2,
.cta h2,
.contact-card h2,
.shop-intro h2,
.tarif-panel__head h2,
.tarifs-cta h2{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:-.02em;
}
.value h3,
.card h3,
.article-card h3,
.partner h3,
.gallery h3,
.tarif-values-grid h3{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:-.01em;
}
.tarif-row h3,
.visit-card h3{
  font-family:var(--sans);
  font-weight:700;
  letter-spacing:.01em;
}
.tarif-row strong,
.visit-card strong,
.visit-card__price{
  font-family:var(--sans);
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.form input,
.form select,
.form textarea{
  font-size:1rem;
  line-height:1.5;
  font-weight:400;
}
small,
.form-status,
.tarifs-legal{
  font-family:var(--sans);
  line-height:1.55;
}
strong,
b{
  font-weight:700;
}
@media(max-width:620px){
  body{font-size:.975rem}
  .page-hero h1{font-size:clamp(3rem,15vw,4rem)}
  .brand strong{font-size:1.25rem}
}


.visually-hidden{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
    border:0 !important;
}

.tarifs-title-logo{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:420px;
    margin:0 auto 2.5rem;
}

.tarifs-title-logo img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}

@media (max-width:768px){
    .tarifs-title-logo{
        max-width:300px;
        margin-bottom:2rem;
    }
}

@media (max-width:480px){
    .tarifs-title-logo{
        max-width:260px;
    }
}

.visually-hidden{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
    border:0 !important;
}

.tarifs-title-logo{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:420px;
    margin:0 auto 2.5rem;
}

.tarifs-title-logo img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}

@media (max-width:768px){
    .tarifs-title-logo{
        max-width:300px;
        margin-bottom:2rem;
    }
}

@media (max-width:480px){
    .tarifs-title-logo{
        max-width:260px;
    }
}

/* Hero Tarifs : suppression de la courbe décorative */
.tarifs-hero{
    padding:52px 0 44px;
}

.tarifs-hero::after{
    display:none !important;
    content:none !important;
}

@media (max-width:768px){
    .tarifs-hero{
        padding:42px 0 36px;
    }
}