/*
Theme Name: Liberia Laser
Theme URI: https://liberialaser.fr
Author: Yohann Deprez
Description: Thème WordPress sur mesure pour Liberia Laser.
Version: 1.0.0
Text Domain: liberia-laser
Requires at least: 6.5
Requires PHP: 8.1
*/

@font-face { font-family: "Lato"; src: url("assets/fonts/lato-regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Lato"; src: url("assets/fonts/lato-bold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("assets/fonts/montserrat-medium.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("assets/fonts/montserrat-semibold.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("assets/fonts/montserrat-bold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  --liberia-ink: #084257;
  --liberia-green: #76a386;
  --liberia-mist: #f4f7f8;
  --liberia-white: #ffffff;
  --liberia-text: #263238;
  --liberia-radius: 18px;
  --liberia-width: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--liberia-text);
  background: var(--liberia-white);
  font-family: Lato, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--liberia-ink); text-underline-offset: 3px; }
a:hover { color: var(--liberia-green); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid rgba(118,163,134,.55); outline-offset: 4px; }
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .75em;
  color: var(--liberia-ink);
  font-family: Montserrat, system-ui, sans-serif;
  line-height: 1.15;
}
h1 { font-size: clamp(2.4rem, 6vw, 5rem); }
h2 { font-size: clamp(1.8rem, 4vw, 3rem); }
.site-shell { width: min(calc(100% - 40px), var(--liberia-width)); margin-inline: auto; }
.serenity-banner{position:relative;z-index:22;display:flex;align-items:center;min-height:38px;overflow:hidden;color:#fff;background:var(--liberia-ink);font-family:Montserrat,sans-serif;font-size:.7rem;letter-spacing:.025em}
.serenity-banner::after{content:"";position:absolute;inset:0 0 0 auto;z-index:1;width:190px;background:linear-gradient(90deg,transparent,var(--liberia-ink) 32%);pointer-events:none}
.serenity-banner-track{display:flex;width:max-content;animation:serenity-scroll 38s linear infinite;will-change:transform}.serenity-banner-group{display:flex;align-items:center;min-width:max-content}.serenity-banner-group>span{display:flex;align-items:center;gap:18px;min-width:max-content;padding-right:64px;white-space:nowrap}.serenity-banner-group>span+span::before{content:"✦";margin-right:2px;color:#76a386;font-size:.72rem}
.serenity-banner-track strong{text-transform:uppercase;letter-spacing:.12em}.serenity-banner-track i{padding:2px 9px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#d9ebe0;font-style:normal;text-transform:uppercase}.serenity-banner-track em{color:rgba(255,255,255,.72);font-family:Lato,sans-serif;font-style:normal}
.serenity-open{position:absolute;right:18px;z-index:2;min-height:28px;padding:4px 12px;border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;background:var(--liberia-ink);font:700 .65rem Montserrat,sans-serif;white-space:nowrap}.serenity-open:hover{background:#fff;color:var(--liberia-ink)}
@keyframes serenity-scroll{to{transform:translateX(-50%)}}
.serenity-modal[hidden]{display:none}.serenity-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px}.serenity-modal-backdrop{position:absolute;inset:0;background:rgba(3,30,40,.78);backdrop-filter:blur(8px)}
.serenity-dialog{position:relative;width:min(900px,100%);max-height:min(880px,calc(100vh - 48px));overflow:auto;border-radius:24px;background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.3);outline:0}.serenity-dialog-heading{padding:42px 52px 34px;color:#fff;background:linear-gradient(130deg,#084257,#0d5c6d 68%,#76a386)}.serenity-dialog-heading span{display:inline-block;margin-bottom:14px;padding:5px 11px;border:1px solid rgba(255,255,255,.34);border-radius:999px;font:700 .68rem Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase}.serenity-dialog-heading h2{max-width:710px;margin:0 0 12px;color:#fff;font-size:clamp(1.65rem,3vw,2.35rem)}.serenity-dialog-heading p{max-width:700px;margin:0;color:rgba(255,255,255,.8);line-height:1.55}
.serenity-close{position:absolute;top:18px;right:18px;z-index:2;width:38px;min-height:38px;padding:0;border:1px solid rgba(255,255,255,.38);border-radius:50%;color:#fff;background:rgba(8,66,87,.3);font:300 1.55rem/1 Lato,sans-serif}.serenity-close:hover{background:#fff;color:var(--liberia-ink)}
.serenity-conditions{padding:42px 52px 50px}.serenity-conditions section+section{margin-top:30px;padding-top:30px;border-top:1px solid rgba(8,66,87,.1)}.serenity-conditions h3{display:flex;align-items:center;gap:13px;margin:0 0 12px;font-size:1.03rem}.serenity-conditions h3 b{display:grid;flex:0 0 31px;height:31px;place-items:center;border-radius:50%;color:#fff;background:var(--liberia-green);font-size:.72rem}.serenity-conditions p{margin:0;color:#405158;font-size:.94rem;line-height:1.65}.serenity-conditions p+p,.serenity-conditions ul+p{margin-top:12px}.serenity-conditions ul{margin:12px 0;padding-left:20px}.serenity-conditions li{padding-left:4px;color:#405158;font-size:.94rem}.serenity-modal-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){.serenity-banner-track{animation:none}}
.site-header { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid rgba(8,66,87,.1); box-shadow: 0 8px 25px rgba(8,66,87,.06); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.header-inner, .footer-inner { width: 100%; max-width: none; padding-inline: clamp(24px, 4vw, 72px); }
.site-branding { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.site-title { color: var(--liberia-ink); font-family: Montserrat, sans-serif; font-size: 1.15rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.custom-logo { display: block; max-height: 58px; width: auto; }
.primary-navigation ul { display: flex; align-items: center; gap: 22px; margin: 0; padding: 0; list-style: none; }
.primary-navigation a { font-weight: 700; text-decoration: none; }
.primary-navigation .menu-item { position: relative; }
.primary-navigation .sub-menu { position: absolute; top: calc(100% + 18px); left: -18px; display: block; min-width: 310px; padding: 12px; visibility: hidden; opacity: 0; transform: translateY(-6px); border: 1px solid rgba(8,66,87,.1); border-radius: 14px; background: #fff; box-shadow: 0 18px 50px rgba(8,66,87,.14); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.primary-navigation .sub-menu::before { content: ""; position: absolute; inset: -20px 0 auto; height: 20px; }
.primary-navigation .sub-menu li + li { margin-top: 2px; }
.primary-navigation .sub-menu a { display: block; padding: 9px 12px; border-radius: 8px; }
.primary-navigation .sub-menu a:hover { background: var(--liberia-mist); }
.primary-navigation .menu-item:hover > .sub-menu,
.primary-navigation .menu-item:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.primary-navigation > ul > li:last-child > a { padding: 11px 18px; border-radius: 999px; color: #fff; background: var(--liberia-green); }
.menu-toggle { display: none; border: 0; background: transparent; color: var(--liberia-ink); font: inherit; font-weight: 700; }
.site-main { min-height: 65vh; }
.entry { padding: clamp(56px, 8vw, 110px) 0; }
.entry-header, .entry-content { width: min(calc(100% - 40px), 860px); margin-inline: auto; }
.entry-content > * + * { margin-top: 1.4em; }
.entry-content .alignwide { width: min(1180px, calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.entry-content .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.launch-screen { min-height: calc(100vh - 82px); display: grid; place-items: center; padding: 60px 0; background: radial-gradient(circle at 80% 10%, rgba(118,163,134,.2), transparent 32%), linear-gradient(145deg, #fff 0%, var(--liberia-mist) 100%); }
.launch-card { max-width: 850px; }
.eyebrow { margin-bottom: 20px; color: var(--liberia-green); font-family: Montserrat, sans-serif; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.launch-card p { max-width: 680px; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.button, .wp-block-button__link, button, input[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 24px; border: 0; border-radius: 999px; color: #fff; background: var(--liberia-ink); font-weight: 700; text-decoration: none; cursor: pointer; }
.button:hover, .wp-block-button__link:hover { color: #fff; background: var(--liberia-green); }
.site-footer { padding: 0; color: rgba(255,255,255,.72); background: var(--liberia-ink); font-size: .82rem; }
.footer-main { padding: clamp(64px, 7vw, 96px) 0 clamp(52px, 6vw, 78px); }
.footer-inner { display: grid; grid-template-columns: 1.3fr .75fr 1fr .9fr; gap: clamp(36px, 5vw, 82px); }
.site-footer a { color: rgba(255,255,255,.78); text-decoration: none; transition: color .2s ease; }
.site-footer a:hover { color: #fff; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.footer-brand { max-width: 310px; }
.footer-logo { display: inline-block; width: min(100%, 265px); margin-bottom: 22px; }
.footer-logo img { display: block; width: 100%; height: auto; }
.footer-brand > p { max-width: 290px; margin: 0; line-height: 1.65; }
.footer-socials { display: flex; gap: 9px; margin-top: 25px; }
.social-link { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; font-family: Montserrat, sans-serif; font-size: .7rem; font-weight: 700; text-transform: lowercase; cursor: default; }
.footer-column h2 { margin: 3px 0 22px; color: #fff; font-size: .77rem; letter-spacing: .14em; text-transform: uppercase; }
.footer-column li + li { margin-top: 10px; }
.footer-column a { line-height: 1.45; }
.footer-contact p { margin: 0 0 23px; line-height: 1.65; }
.footer-contact strong { color: #fff; font-family: Montserrat, sans-serif; font-weight: 600; }
.footer-contact-list{display:grid;gap:14px;margin:0 0 25px;padding:0;list-style:none}.footer-contact-list li{display:grid;gap:2px}.footer-contact-list small{color:rgba(255,255,255,.48);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase}.footer-contact-list a,.footer-contact-list span,.footer-contact-list strong{color:rgba(255,255,255,.84);font-size:.8rem;text-decoration:none}.footer-contact-list a:hover{color:#fff}
.footer-booking-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 5px; border-bottom: 1px solid rgba(183,208,193,.55); color: #fff !important; font-family: Montserrat, sans-serif; font-weight: 600; }
.footer-booking-link span { color: #b7d0c1; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); }
.footer-bottom-inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; width: 100%; padding: 20px clamp(24px, 4vw, 72px); color: rgba(255,255,255,.52); font-size: .72rem; }
.footer-bottom p { margin: 0; }
.footer-legal ul { display: flex; align-items: center; gap: 22px; }
.footer-legal a { color: rgba(255,255,255,.55); }
.footer-credit { text-align: right; }
.footer-credit a { color: #fff; font-weight: 700; }
.site-footer,.site-footer h2,.site-footer p,.site-footer a,.site-footer span,.site-footer strong,.site-footer small,.site-footer li,.footer-bottom-inner,.footer-legal a,.footer-contact-list small,.footer-contact-list a,.footer-contact-list span,.footer-contact-list strong,.footer-booking-link span{color:#fff}
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Hero intérieur compact */
.page-hero { position: relative; isolation: isolate; min-height: 285px; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background-color: var(--liberia-ink); background-image: radial-gradient(circle at 82% 22%, rgba(183,208,193,.28), transparent 27%), linear-gradient(118deg, #083f53 0%, #0b5365 62%, #6f9e83 150%); background-image: linear-gradient(100deg, rgba(4,43,58,.92), rgba(8,66,87,.75)), var(--page-hero-image), radial-gradient(circle at 82% 22%, rgba(183,208,193,.28), transparent 27%), linear-gradient(118deg, #083f53 0%, #0b5365 62%, #6f9e83 150%); background-position: center; background-size: cover; }
.page-hero::before { content: ""; position: absolute; z-index: -1; width: 330px; height: 330px; right: 7%; top: -190px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018); }
.page-hero::after { content: ""; position: absolute; z-index: -1; width: 180px; height: 1px; right: 11%; bottom: 64px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); }
.page-hero-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(4,43,58,.18), transparent 70%); }
.page-hero-inner { width: 100%; padding-top: 58px; padding-bottom: 52px; }
.page-hero h1 { max-width: 980px; margin: 15px 0 0; color: #fff; font-size: clamp(2.15rem, 4.2vw, 4rem); letter-spacing: -.035em; }
.breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: rgba(255,255,255,.65); font-size: .74rem; letter-spacing: .03em; }
.breadcrumb a { color: rgba(255,255,255,.8); text-decoration: none; }
.breadcrumb a:hover { color: #fff; }
.breadcrumb > span[aria-hidden] { color: rgba(183,208,193,.75); }
.page:not(.home) .entry, .single .entry { padding-top: clamp(54px, 6vw, 82px); }
.article-date, .post-card-date { color: var(--liberia-green); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* Variations graphiques utilisées tant qu’aucune image mise en avant n’est définie. */
.page-hero-la-methode { background-image: radial-gradient(circle at 78% 15%, rgba(183,208,193,.34), transparent 30%), linear-gradient(120deg, #073f52, #1e6a72 70%, #7daa92); }
.page-hero-prestations { background-image: radial-gradient(circle at 82% 30%, rgba(255,255,255,.16), transparent 27%), linear-gradient(120deg, #084257, #537f72); }
.page-hero-arret-du-tabac, .page-hero-arret-du-cannabis, .page-hero-arret-cigarette-electronique { background-image: radial-gradient(circle at 80% 18%, rgba(183,208,193,.3), transparent 26%), linear-gradient(118deg, #07394d, #0b5667 66%, #82a994); }
.page-hero-gestion-du-stress, .page-hero-perte-de-poids { background-image: radial-gradient(circle at 84% 22%, rgba(255,255,255,.2), transparent 24%), linear-gradient(120deg, #315d62, #739b84); }
.page-hero-tarifs, .page-hero-faq, .page-hero-blog { background-image: radial-gradient(circle at 75% 0%, rgba(118,163,134,.28), transparent 30%), linear-gradient(120deg, #084257, #174f61); }
.page-hero-avis-clients, .page-hero-a-propos { background-image: radial-gradient(circle at 84% 18%, rgba(255,255,255,.18), transparent 28%), linear-gradient(120deg, #173f4d, #6a927c); }
.page-hero-prendre-rendez-vous-contact { background-image: radial-gradient(circle at 82% 15%, rgba(255,255,255,.18), transparent 28%), linear-gradient(120deg, #073a4e, #2c716f 68%, #84aa93); }
.page-hero-mentions-legales, .page-hero-politique-de-confidentialite, .page-hero-conditions-generales-de-vente { min-height: 235px; background-image: linear-gradient(120deg, #153d4c, #315b61); }

/* Quatre pistes de hero compact pour la FAQ, accessibles avec ?hero-test=1 à 4. */
.page-hero-faq.hero-test-1,.page-hero-faq.hero-test-2,.page-hero-faq.hero-test-3,.page-hero-faq.hero-test-4{width:min(1140px,calc(100% - 48px));margin:24px auto 0;border-radius:20px}
.page-hero-faq.hero-test-1{min-height:250px;background-image:linear-gradient(90deg,rgba(4,43,58,.9) 0%,rgba(8,66,87,.66) 54%,rgba(8,66,87,.28) 100%),url('assets/images/editorial/hero-faq-generated-v2.jpg');background-position:center;background-size:cover}.page-hero-faq.hero-test-1 .page-hero-inner{padding-top:48px;padding-bottom:42px}.page-hero-faq.hero-test-1::before{display:none}
.page-hero-faq.hero-test-2{min-height:245px;color:#084257;background:#f5f8f6}.page-hero-faq.hero-test-2::before{content:"";position:absolute;z-index:-1;inset:0 0 0 57%;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#f5f8f6 0%,rgba(245,248,246,.1) 28%),url('assets/images/editorial/hero-faq.png') center/cover}.page-hero-faq.hero-test-2::after{display:none}.page-hero-faq.hero-test-2 .page-hero-overlay{display:none}.page-hero-faq.hero-test-2 .page-hero-inner{padding-top:46px;padding-bottom:42px}.page-hero-faq.hero-test-2 h1{max-width:54%;color:#084257}.page-hero-faq.hero-test-2 .breadcrumb{color:#71837f}.page-hero-faq.hero-test-2 .breadcrumb a{color:#55706b}
.page-hero-faq.hero-test-3{min-height:205px;align-items:center;color:#084257;border-top:1px solid #edf2ef;border-bottom:1px solid #dfe9e4;background:#fff}.page-hero-faq.hero-test-3::before{width:220px;height:220px;right:10%;top:-125px;border-color:rgba(118,163,134,.22);box-shadow:0 0 0 42px rgba(118,163,134,.035),0 0 0 84px rgba(118,163,134,.022)}.page-hero-faq.hero-test-3::after{right:auto;left:50%;bottom:32px;width:70px;background:#76a386;transform:translateX(-50%)}.page-hero-faq.hero-test-3 .page-hero-overlay{display:none}.page-hero-faq.hero-test-3 .page-hero-inner{padding-top:34px;padding-bottom:42px;text-align:center}.page-hero-faq.hero-test-3 h1{margin:12px auto 0;color:#084257;font-size:clamp(2.1rem,3.8vw,3.5rem)}.page-hero-faq.hero-test-3 .breadcrumb{justify-content:center;color:#82918e}.page-hero-faq.hero-test-3 .breadcrumb a{color:#5f7772}
.page-hero-faq.hero-test-4{min-height:250px;color:#084257;background:linear-gradient(110deg,#eaf3ee 0%,#f7faf8 64%,#dcebe2 100%)}.page-hero-faq.hero-test-4::before{inset:24px 6% 24px auto;width:31%;height:auto;border:0;border-radius:18px;box-shadow:0 12px 35px rgba(8,66,87,.12);background:linear-gradient(rgba(8,66,87,.12),rgba(8,66,87,.12)),url('assets/images/editorial/hero-faq.png') center/cover}.page-hero-faq.hero-test-4::after{display:none}.page-hero-faq.hero-test-4 .page-hero-overlay{display:none}.page-hero-faq.hero-test-4 .page-hero-inner{padding-top:48px;padding-bottom:44px}.page-hero-faq.hero-test-4 h1{max-width:60%;color:#084257}.page-hero-faq.hero-test-4 .breadcrumb{color:#70857e}.page-hero-faq.hero-test-4 .breadcrumb a{color:#4d6f65}
@media(max-width:700px){.page-hero-faq.hero-test-1,.page-hero-faq.hero-test-2,.page-hero-faq.hero-test-3,.page-hero-faq.hero-test-4{width:calc(100% - 24px);min-height:190px;margin-top:12px;border-radius:14px}.page-hero-faq.hero-test-2::before{inset:0 0 0 68%;opacity:.55}.page-hero-faq.hero-test-2 h1,.page-hero-faq.hero-test-4 h1{max-width:78%}.page-hero-faq.hero-test-4::before{right:18px;width:28%;opacity:.5}.page-hero-faq.hero-test-3 .page-hero-inner{padding-top:28px;padding-bottom:38px}}

/* Fond pleine largeur, contenu du hero limité à 1140 px. */
.page-hero-faq.hero-test-1,.page-hero-faq.hero-test-2,.page-hero-faq.hero-test-3,.page-hero-faq.hero-test-4{width:100%;margin:0;border-radius:0}
.page-hero-faq.hero-test-1 .page-hero-inner,.page-hero-faq.hero-test-2 .page-hero-inner,.page-hero-faq.hero-test-3 .page-hero-inner,.page-hero-faq.hero-test-4 .page-hero-inner{width:min(calc(100% - 40px),1140px);margin-inline:auto}
@media(max-width:700px){.page-hero-faq.hero-test-1,.page-hero-faq.hero-test-2,.page-hero-faq.hero-test-3,.page-hero-faq.hero-test-4{width:100%;margin:0;border-radius:0}.page-hero-faq.hero-test-1 .page-hero-inner,.page-hero-faq.hero-test-2 .page-hero-inner,.page-hero-faq.hero-test-3 .page-hero-inner,.page-hero-faq.hero-test-4 .page-hero-inner{width:min(calc(100% - 30px),1140px)}}

/* Hero intérieur définitif : fond pleine largeur, filtre et contenu à 1140 px. */
.page-hero{width:100%;min-height:250px;margin:0;border-radius:0;align-items:flex-end;background-position:center;background-size:cover}
.page-hero::before,.page-hero::after{display:none}
.page-hero .page-hero-overlay{display:block;background:linear-gradient(90deg,rgba(4,43,58,.9) 0%,rgba(8,66,87,.66) 54%,rgba(8,66,87,.3) 100%)}
.page-hero .page-hero-inner{width:min(calc(100% - 40px),1140px);margin-inline:auto;padding-top:48px;padding-bottom:42px}
.page-hero h1{max-width:900px;margin-top:13px;color:#fff;font-size:clamp(2.15rem,4vw,3.75rem)}
.page-hero .breadcrumb{color:rgba(255,255,255,.68)}.page-hero .breadcrumb a{color:rgba(255,255,255,.84)}
.page-hero{background-image:url('assets/images/editorial/hero-faq-generated-v2.jpg')}
.page-hero-la-methode{background-image:url('assets/images/editorial/hero-methode.jpg')}
.page-hero-prestations{background-image:url('assets/images/editorial/hero-accueil.jpg')}
.page-hero-arret-du-tabac{background-image:url('assets/images/editorial/hero-arret-tabac.jpg')}
.page-hero-arret-du-cannabis{background-image:url('assets/images/editorial/hero-arret-cannabis.jpg')}
.page-hero-arret-cigarette-electronique{background-image:url('assets/images/editorial/hero-arret-vape.jpg')}
.page-hero-gestion-du-stress{background-image:url('assets/images/editorial/hero-stress.jpg')}
.page-hero-perte-de-poids{background-image:url('assets/images/editorial/hero-perte-poids.jpg')}
.page-hero-tarifs{background-image:url('assets/images/editorial/hero-tarifs.jpg')}
.page-hero-avis-clients{background-image:url('assets/images/editorial/hero-avis.jpg')}
.page-hero-a-propos{background-image:url('assets/images/editorial/hero-a-propos.jpg')}
.page-hero-prendre-rendez-vous-contact{background-image:url('assets/images/editorial/hero-contact.jpg')}
.page-hero-faq{background-image:url('assets/images/editorial/hero-faq-generated-v2.jpg')}
.page-hero-blog{background-image:url('assets/images/editorial/hero-faq.jpg')}
.page-hero-mentions-legales,.page-hero-politique-de-confidentialite,.page-hero-conditions-generales-de-vente{min-height:220px;background-image:url('assets/images/editorial/hero-faq-generated-v2.jpg')}
@media(max-width:700px){.page-hero{min-height:190px}.page-hero .page-hero-inner{width:min(calc(100% - 30px),1140px);padding-top:34px;padding-bottom:34px}.page-hero h1{font-size:clamp(2rem,10vw,2.7rem)}}

.booking-intro{text-align:center}.booking-intro h2{max-width:820px;margin-right:auto;margin-left:auto}.booking-intro>p{max-width:780px;margin-right:auto;margin-left:auto}

.faq-page-grid.faq-grid{grid-template-columns:minmax(300px,370px) minmax(0,1fr);align-items:start;gap:clamp(54px,7vw,92px);padding-bottom:clamp(72px,8vw,110px)}
.faq-page-grid .faq-intro{top:128px;padding:38px;border:1px solid rgba(8,66,87,.09);border-radius:22px;background:linear-gradient(145deg,#f7faf8,#eef5f1);box-shadow:0 18px 55px rgba(8,66,87,.07)}
.faq-page-grid .faq-intro h2{margin-bottom:18px;font-size:clamp(2rem,3.3vw,3rem)}
.faq-page-grid .faq-intro>p:not(.eyebrow){margin:0 0 28px;line-height:1.65}
.faq-page-grid .faq-intro .button{min-height:48px;padding-inline:22px;font-size:.82rem}
.faq-page-list{display:grid;gap:10px;margin:0;padding:16px;border:1px solid rgba(8,66,87,.07);border-radius:22px;background:#f5f8f6}
.faq-page-list details,.faq-page-list details:first-child{position:relative;overflow:hidden;border:1px solid rgba(8,66,87,.1);border-radius:13px;background:#fff;box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}
.faq-page-list details::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:transparent;transition:background .2s ease}
.faq-page-list details:hover{border-color:rgba(118,163,134,.42);transform:none}
.faq-page-list details[open]{border-color:rgba(118,163,134,.5);box-shadow:0 10px 28px rgba(8,66,87,.07)}
.faq-page-list details[open]::before{background:var(--liberia-green)}
.faq-page-list.accordion-list summary{min-height:70px;padding:18px 20px 18px 24px;font-size:clamp(.92rem,1.25vw,1.01rem);font-weight:600;line-height:1.4}
.faq-page-list.accordion-list summary span{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border:1px solid rgba(8,66,87,.14);border-radius:50%;color:var(--liberia-ink);background:#f5f8f6;font-family:Lato,sans-serif;font-size:1.18rem;font-weight:400;line-height:1;transition:transform .2s ease,color .2s ease,border-color .2s ease,background .2s ease}
.faq-page-list.accordion-list details[open] summary span{color:#fff;border-color:var(--liberia-green);background:var(--liberia-green);transform:rotate(45deg)}
.faq-page-list.accordion-list details p{max-width:650px;margin:0;padding:0 68px 22px 24px;color:#5b6d73;font-size:.98rem;line-height:1.72}
.faq-final-cta.final-cta{margin-top:0;padding:clamp(58px,6vw,76px) 0;background-image:linear-gradient(90deg,rgba(4,43,58,.96) 0%,rgba(8,66,87,.9) 48%,rgba(8,66,87,.68) 100%),url('assets/images/about-liberte.jpg');background-position:center 43%;background-size:cover}
.faq-final-cta .cta-inner{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;gap:clamp(50px,8vw,100px)}
.faq-final-cta .eyebrow{margin:0 0 15px}
.faq-final-cta .cta-inner h2{font-size:clamp(2.25rem,4vw,3.55rem);line-height:1.08}
.faq-final-cta .cta-inner>div:last-child>p{max-width:500px;margin:0 0 24px;line-height:1.65}
.faq-final-cta .button-light{min-width:178px}
body.page-id-19 .entry{padding-bottom:0}
@media(max-width:860px){.faq-page-grid.faq-grid{grid-template-columns:1fr;gap:32px}.faq-page-grid .faq-intro{position:static;padding:30px}.faq-page-grid .faq-intro h2{max-width:620px}.faq-page-list details p{padding-right:64px}.faq-final-cta .cta-inner{grid-template-columns:1fr;gap:30px}.faq-final-cta .cta-inner>div:last-child>p{margin-bottom:22px}}
@media(max-width:600px){.faq-page-grid.faq-grid{gap:24px;padding-bottom:68px}.faq-page-grid .faq-intro{padding:25px 22px;border-radius:17px}.faq-page-list{gap:8px;padding:9px;border-radius:16px}.faq-page-list.accordion-list summary{min-height:64px;gap:15px;padding:16px 14px 16px 18px;font-size:.88rem}.faq-page-list.accordion-list summary span{flex-basis:29px;width:29px;height:29px}.faq-page-list.accordion-list details p{padding:0 18px 19px;font-size:.93rem;line-height:1.65}.faq-final-cta.final-cta{padding:58px 0}}

.services-page-intro{max-width:900px;padding-bottom:54px;text-align:center}.services-page-intro .eyebrow{justify-content:center}.services-page-intro .eyebrow>span{display:none}.services-page-intro h2{margin-right:auto;margin-left:auto}.services-page-intro>p:last-child{max-width:760px;margin:0 auto;color:#65767c}
.services-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:clamp(80px,9vw,125px)}
body.page-id-10 .entry{padding-bottom:0}
body.page-id-10 .entry-content{width:100%;max-width:none}
body.page-id-10 .entry-content>*+*{margin-top:0}
.service-visual-card{position:relative;isolation:isolate;display:flex;min-height:355px;padding:34px;align-items:flex-end;overflow:hidden;border-radius:20px;color:#fff;background-image:linear-gradient(180deg,rgba(4,43,58,.08) 15%,rgba(4,43,58,.88) 100%),var(--service-image);background-position:center;background-size:cover;box-shadow:0 18px 50px rgba(8,66,87,.12);text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}
.service-visual-card::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,rgba(4,43,58,.48),transparent 68%);transition:background .3s ease}.service-visual-card:hover{color:#fff;transform:translateY(-5px);box-shadow:0 26px 65px rgba(8,66,87,.2)}.service-visual-card:hover::before{background:linear-gradient(110deg,rgba(4,43,58,.62),rgba(8,66,87,.08) 78%)}
.service-visual-number{position:absolute;top:28px;right:30px;color:rgba(255,255,255,.64);font:600 .75rem/1 Montserrat,sans-serif;letter-spacing:.12em}.service-visual-content{display:flex;flex-direction:column;align-items:flex-start}.service-visual-content small{margin-bottom:9px;color:#c4ded0;font:600 .7rem/1.2 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase}.service-visual-content strong{max-width:530px;color:#fff;font:600 clamp(1.65rem,3vw,2.5rem)/1.12 Montserrat,sans-serif}.service-visual-content>span{margin-top:20px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.55);color:#fff;font-size:.82rem}.services-final-cta{margin-top:0}
@media(max-width:760px){.services-page-intro{padding-bottom:36px}.services-visual-grid{grid-template-columns:1fr;gap:18px}.service-visual-card{min-height:290px;padding:26px;border-radius:16px}.service-visual-number{top:22px;right:24px}}

/* Paiement WooCommerce simplifié pour les rendez-vous et cartes cadeaux. */
body.woocommerce-checkout .entry-content>.woocommerce{width:min(calc(100% - 40px),1040px);margin:0 auto;padding-bottom:clamp(70px,8vw,110px)}
body.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);gap:34px;align-items:start}
body.woocommerce-checkout form.checkout .col2-set,body.woocommerce-checkout form.checkout #order_review_heading,body.woocommerce-checkout form.checkout #order_review{float:none;width:auto}
body.woocommerce-checkout .col-1{float:none!important;width:100%!important}
body.woocommerce-checkout .col-2{display:none!important}
body.woocommerce-checkout .woocommerce-billing-fields,body.woocommerce-checkout #order_review{padding:30px;border:1px solid #dce7e1;border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(8,66,87,.07)}
body.woocommerce-checkout .woocommerce-billing-fields h3,body.woocommerce-checkout #order_review_heading{margin:0 0 24px;font-size:1.35rem}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:17px}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row{float:none;width:auto;margin:0}
body.woocommerce-checkout .form-row label{margin-bottom:7px;color:#084257;font:600 .76rem/1.3 Montserrat,sans-serif}
body.woocommerce-checkout .form-row input.input-text{min-height:50px;padding:12px 14px;border:1px solid #cadad2;border-radius:10px;background:#fff;color:#084257}
body.woocommerce-checkout .form-row input.input-text:focus{border-color:#76a386;box-shadow:0 0 0 3px rgba(118,163,134,.15);outline:0}
body.woocommerce-checkout #order_review_heading{grid-column:2;margin:0;padding:0 4px}
body.woocommerce-checkout #order_review{grid-column:2}
body.woocommerce-checkout #payment{border-radius:12px;background:#f2f7f4}
body.woocommerce-checkout #payment div.payment_box{background:#fff}
body.woocommerce-checkout #place_order{width:100%;min-height:52px;border-radius:999px;background:#084257;font:600 .85rem/1 Montserrat,sans-serif}
body.woocommerce-checkout #place_order:hover{background:#76a386}
body.woocommerce-checkout .woocommerce-checkout-review-order-table{border-collapse:separate;border:0;border-spacing:0;margin-bottom:22px}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,body.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:14px 8px;border-color:#e2ebe6}
@media(max-width:820px){body.woocommerce-checkout form.checkout{grid-template-columns:1fr}body.woocommerce-checkout form.checkout #order_review_heading,body.woocommerce-checkout form.checkout #order_review{grid-column:1}body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}}

.blog-listing { padding-top: 72px; }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.blog-intro-section{padding:clamp(68px,8vw,102px) 0 0}.blog-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:clamp(50px,8vw,110px)}.blog-intro h2{max-width:700px;margin:0;font-size:clamp(2.2rem,4vw,3.6rem);letter-spacing:-.04em}.blog-intro-grid>p{max-width:520px;margin:0;color:#627379;font-size:1.06rem}
.blog-listing{padding:clamp(48px,6vw,76px) 0 clamp(85px,9vw,125px)}
.post-card { overflow: hidden; border: 1px solid rgba(8,66,87,.09); border-radius: 20px; background: #fff; box-shadow: 0 16px 45px rgba(8,66,87,.07);transition:transform .25s ease,box-shadow .25s ease }
.post-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(8,66,87,.13)}
.post-card-image { position:relative;display:block;aspect-ratio: 16 / 10; overflow: hidden; }
.post-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.post-card:hover .post-card-image img { transform: scale(1.035); }
.post-card-category{position:absolute;left:18px;bottom:16px;padding:7px 11px;border-radius:999px;color:#084257;background:rgba(255,255,255,.92);font:600 .66rem/1 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.post-card-content { padding: 27px 28px 30px; }
.post-card h2 { min-height:3.1em;margin-bottom:14px;font-size:1.25rem;line-height:1.3 }
.post-card h2 a { text-decoration: none; }
.post-card-content>p:not(.post-card-date){margin:0 0 20px;color:#68777c;font-size:.94rem;line-height:1.6}.post-card-date{margin:0 0 12px;font-size:.69rem}.text-link{font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:700;text-decoration:none}.text-link span{color:#76a386}
.empty-state { grid-column: 1 / -1; padding: 60px; border-radius: 18px; text-align: center; background: var(--liberia-mist); }

/* Article de blog */
.article-hero{position:relative;isolation:isolate;min-height:clamp(480px,58vw,680px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#084257 var(--article-image) center/cover no-repeat}.article-hero-overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(3,35,48,.94) 0%,rgba(4,43,58,.78) 46%,rgba(4,43,58,.28) 100%),linear-gradient(0deg,rgba(3,35,48,.48),transparent 55%)}.article-hero-inner{padding-top:90px;padding-bottom:clamp(62px,8vw,100px)}.article-hero .breadcrumb{margin-bottom:42px}.article-kicker{margin:0 0 16px;color:#bad4c5;font:700 .73rem/1.2 Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase}.article-hero h1{max-width:920px;margin:0 0 24px;color:#fff;font-size:clamp(2.4rem,5.4vw,5rem);letter-spacing:-.045em}.article-meta{display:flex;flex-wrap:wrap;gap:12px 26px;color:rgba(255,255,255,.72);font-size:.82rem}.article-meta span+span{position:relative}.article-meta span+span::before{content:"";position:absolute;left:-14px;top:50%;width:3px;height:3px;border-radius:50%;background:#bad4c5}
.single-article{padding:clamp(70px,8vw,110px) 0}.article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(280px,340px);justify-content:space-between;gap:clamp(60px,8vw,110px)}.article-content{color:#405158;font-size:1.06rem;line-height:1.82}.article-content>p:first-child{color:#263f48;font-size:1.22rem;line-height:1.7}.article-content h2{margin:2.1em 0 .7em;font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.025em}.article-content h3{margin:1.8em 0 .65em;font-size:1.25rem}.article-content ul{margin:24px 0;padding-left:22px}.article-content li+li{margin-top:9px}.article-content .article-callout{margin:36px 0;padding:27px 30px;border-left:4px solid #76a386;border-radius:0 14px 14px 0;background:#f2f7f4;color:#315059}.article-content .article-callout strong{display:block;margin-bottom:7px;color:#084257;font-family:Montserrat,sans-serif}.article-sidebar{position:relative}.article-sidebar-card{position:sticky;top:120px;padding:32px;border:1px solid rgba(8,66,87,.09);border-radius:20px;background:linear-gradient(145deg,#f7faf8,#edf5f1);box-shadow:0 18px 55px rgba(8,66,87,.07)}.article-sidebar-card h2{font-size:1.55rem}.article-sidebar-card>p:not(.eyebrow){color:#617278;font-size:.94rem}.article-sidebar-card .button{width:100%;margin-top:10px;font-size:.76rem}
.article-related{padding:clamp(70px,8vw,105px) 0;background:#f4f7f5}.article-related h2{margin-bottom:38px}.related-posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.related-post{display:grid;grid-template-columns:190px 1fr;overflow:hidden;border-radius:17px;color:#084257;background:#fff;box-shadow:0 12px 38px rgba(8,66,87,.06);text-decoration:none}.related-post-image{min-height:180px}.related-post-image img{width:100%;height:100%;object-fit:cover}.related-post-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:24px}.related-post-copy small{margin-bottom:8px;color:#76a386;font-size:.7rem;text-transform:uppercase}.related-post-copy strong{font:600 1rem/1.35 Montserrat,sans-serif}.related-post-copy>span{margin-top:16px;font-size:.76rem;font-weight:700}
@media(max-width:900px){.blog-intro-grid,.article-layout{grid-template-columns:1fr}.article-layout{gap:48px}.article-sidebar-card{position:static}.article-sidebar-card .button{width:auto}.related-post{grid-template-columns:150px 1fr}}
@media(max-width:700px){.blog-intro-grid{gap:22px}.blog-listing .posts-grid{grid-template-columns:1fr}.post-card h2{min-height:0}.article-hero{min-height:500px}.article-hero .breadcrumb{margin-bottom:30px}.article-layout{gap:38px}.article-content{font-size:1rem}.related-posts-grid{grid-template-columns:1fr}.related-post{grid-template-columns:120px 1fr}.related-post-image{min-height:155px}.related-post-copy{padding:18px}.article-sidebar-card{padding:25px}}

/* Avis clients */
.reviews-intro-section{padding:clamp(70px,8vw,105px) 0 clamp(45px,6vw,72px)}.reviews-intro{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:clamp(55px,8vw,110px)}.reviews-intro h2{max-width:720px;margin:0;font-size:clamp(2.2rem,4vw,3.6rem);letter-spacing:-.04em}.reviews-intro>p{max-width:520px;margin:0;color:#627379;font-size:1.05rem}.reviews-section{padding-bottom:clamp(85px,9vw,125px)}.reviews-demo-label{margin:0 0 25px;padding:12px 16px;border-radius:10px;color:#617278;background:#f3f7f5;font-size:.77rem}.reviews-masonry{columns:3;column-gap:22px}.review-card{display:inline-block;width:100%;margin:0 0 22px;padding:27px;break-inside:avoid;border:1px solid rgba(8,66,87,.1);border-radius:18px;background:#fff;box-shadow:0 13px 38px rgba(8,66,87,.065)}.review-card-top{display:flex;align-items:center;gap:13px}.review-avatar{display:grid;flex:0 0 43px;height:43px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#76a386,#477968);font:600 .9rem/1 Montserrat,sans-serif}.review-card h3{margin:0 0 3px;font-size:.92rem}.review-card-top p{margin:0;color:#7a898d;font-size:.76rem}.review-rating{display:flex;align-items:center;gap:9px;margin:20px 0 15px}.review-rating>span{color:#d6a847;font-size:1rem;letter-spacing:.08em}.review-rating small{color:#76858a;font-size:.7rem}.review-card blockquote{margin:0;color:#4f6066;font-size:.95rem;line-height:1.7}.review-form-section{padding:clamp(75px,9vw,120px) 0;color:#fff;background:linear-gradient(125deg,#084257,#0b5264 65%,#537f72 145%)}.review-form-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(500px,1.2fr);align-items:start;gap:clamp(60px,9vw,125px)}.review-form-copy{position:sticky;top:120px}.review-form-copy h2{max-width:530px;color:#fff;font-size:clamp(2.25rem,4vw,3.6rem);letter-spacing:-.04em}.review-form-copy>p:not(.eyebrow){max-width:500px;color:rgba(255,255,255,.75)}.review-moderation-note{display:flex;max-width:490px;margin-top:34px;padding-top:24px;flex-direction:column;border-top:1px solid rgba(255,255,255,.18)}.review-moderation-note strong{font-family:Montserrat,sans-serif;font-size:.85rem}.review-moderation-note span{margin-top:6px;color:rgba(255,255,255,.62);font-size:.8rem}.review-form-card{padding:clamp(28px,4vw,42px);border-radius:22px;color:#263238;background:#fff;box-shadow:0 26px 70px rgba(3,35,48,.25)}.review-form{display:grid;gap:20px}.review-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.review-form label,.rating-field legend{color:#084257;font:600 .75rem/1.4 Montserrat,sans-serif}.review-form label>span,.rating-field legend>span{color:#76a386}.review-form input[type=text],.review-form input[type=email],.review-form textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #cedbd5;border-radius:10px;color:#263238;background:#fff;font:400 .95rem/1.45 Lato,sans-serif}.review-form textarea{resize:vertical}.review-form input:focus,.review-form textarea:focus{border-color:#76a386;outline:3px solid rgba(118,163,134,.14)}.rating-field{margin:0;padding:0;border:0}.rating-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.rating-options input{position:absolute;opacity:0}.rating-options label span{display:block;padding:9px 12px;border:1px solid #d6e2dc;border-radius:9px;color:#52666c;background:#fff;cursor:pointer}.rating-options input:checked+span{color:#fff;border-color:#76a386;background:#76a386}.review-consent{display:flex!important;align-items:flex-start;gap:10px;color:#627379!important;font-family:Lato,sans-serif!important;font-weight:400!important}.review-consent input{margin-top:5px}.review-form button{justify-content:space-between;width:100%;margin-top:2px;padding-inline:22px;background:#084257}.review-form button:hover{background:#76a386}.review-success{display:flex;margin-bottom:24px;padding:16px 18px;flex-direction:column;border:1px solid #cfe3d7;border-radius:12px;color:#315c48;background:#eff8f2}.review-success span{margin-top:3px;font-size:.85rem}
@media(max-width:900px){.reviews-intro,.review-form-layout{grid-template-columns:1fr}.reviews-intro{gap:24px}.reviews-masonry{columns:2}.review-form-layout{gap:42px}.review-form-copy{position:static}.review-form-card{max-width:680px}}
@media(max-width:600px){.reviews-masonry{columns:1}.review-card{margin-bottom:14px;padding:23px}.review-form-row{grid-template-columns:1fr}.review-form-card{padding:24px 20px;border-radius:17px}.rating-options{gap:6px}.rating-options label span{padding:8px 10px}}

/* Page À propos */
.about-page-intro{padding:clamp(78px,9vw,125px) 0}.about-page-intro-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);align-items:center;gap:clamp(70px,10vw,140px)}.about-page-copy h2{max-width:650px;font-size:clamp(2.4rem,4.5vw,4rem);letter-spacing:-.045em}.about-page-lead{color:#36515b;font-size:1.18rem;line-height:1.7}.about-page-copy>p:not(.eyebrow):not(.about-page-lead){max-width:620px;color:#627278}.about-page-copy .button{margin-top:20px}.about-page-photos{position:relative;min-height:610px}.about-page-photo{position:absolute;margin:0;overflow:hidden;border:7px solid #fff;background:#e7efea;box-shadow:0 28px 75px rgba(8,66,87,.17)}.about-page-photo img{width:100%;height:100%;object-fit:cover}.about-page-photo-main{inset:0 50px 35px 0;border-radius:210px 210px 30px 30px}.about-page-photo-main img{object-position:center 45%}.about-page-photo-small{z-index:2;right:0;bottom:0;width:43%;height:270px;border-radius:22px 22px 110px 22px;transform:rotate(2deg)}.about-page-photo-label{position:absolute;z-index:3;top:76px;left:-34px;display:flex;padding:18px 22px;flex-direction:column;border-radius:15px;color:#084257;background:#fff;box-shadow:0 18px 45px rgba(8,66,87,.15)}.about-page-photo-label strong{font-family:Montserrat,sans-serif}.about-page-photo-label span{margin-top:2px;color:#718086;font-size:.76rem}
.about-manifesto{position:relative;isolation:isolate;padding:clamp(80px,9vw,120px) 0;color:#fff;background-color:#084257;background-image:linear-gradient(90deg,rgba(4,43,58,.97) 0%,rgba(8,66,87,.92) 50%,rgba(8,66,87,.68) 100%),url('assets/images/about-liberte.jpg');background-position:center 42%;background-size:cover}.about-manifesto-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);align-items:center;gap:clamp(70px,10vw,145px)}.about-manifesto-copy h2{max-width:750px;margin-bottom:24px;color:#fff;font-size:clamp(2.3rem,4vw,3.7rem);letter-spacing:-.045em}.about-manifesto-copy>p:last-child{max-width:680px;margin:0;color:rgba(255,255,255,.72);font-size:1.02rem}.about-manifesto-points{border-top:1px solid rgba(255,255,255,.2)}.about-manifesto-points>div{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.2)}.about-manifesto-points>div>span{display:grid;width:35px;height:35px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:#c2d9cc;font:600 .63rem/1 Montserrat,sans-serif}.about-manifesto-points p,.about-manifesto-points strong,.about-manifesto-points small{display:block;margin:0}.about-manifesto-points strong{color:#fff;font:600 .88rem/1.4 Montserrat,sans-serif}.about-manifesto-points small{margin-top:4px;color:rgba(255,255,255,.62);font-size:.78rem;line-height:1.45}
.about-values-section{padding:clamp(82px,9vw,125px) 0}.about-section-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:60px;margin-bottom:48px}.about-section-heading h2{max-width:700px;margin:0;font-size:clamp(2.3rem,4vw,3.6rem);letter-spacing:-.04em}.about-section-heading>p{max-width:430px;margin:0;color:#68777c}.about-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.about-values-grid article{position:relative;min-height:300px;padding:28px;border:1px solid rgba(8,66,87,.09);border-radius:18px;background:#fff;box-shadow:0 14px 42px rgba(8,66,87,.055)}.about-values-grid article>span{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:#eef5f1;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:1.25rem}.about-values-grid article>small{position:absolute;top:29px;right:28px;color:#9aaba6;font:600 .7rem/1 Montserrat,sans-serif}.about-values-grid h3{margin:38px 0 13px;font-size:1.08rem}.about-values-grid p{margin:0;color:#68777c;font-size:.9rem;line-height:1.65}
.about-journey-section{padding:clamp(80px,9vw,125px) 0;background:#f4f7f5}.about-journey-grid{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(75px,10vw,145px)}.about-journey-photo{height:620px;overflow:hidden;border-radius:220px 220px 28px 28px;box-shadow:0 25px 70px rgba(8,66,87,.15)}.about-journey-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.about-journey-copy h2{font-size:clamp(2.3rem,4vw,3.65rem);letter-spacing:-.04em}.about-journey-list{margin:38px 0 0;padding:0;list-style:none}.about-journey-list li{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:23px 0;border-top:1px solid rgba(8,66,87,.11)}.about-journey-list li:last-child{border-bottom:1px solid rgba(8,66,87,.11)}.about-journey-list>li>span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;color:#fff;background:#76a386;font:600 .7rem/1 Montserrat,sans-serif}.about-journey-list h3{margin:1px 0 7px;font-size:1rem}.about-journey-list p{margin:0;color:#69797e;font-size:.9rem;line-height:1.6}
.about-location-section{padding:clamp(65px,7vw,90px) 0}.about-location-card{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:clamp(34px,5vw,58px);border:1px solid rgba(8,66,87,.09);border-radius:22px;background:linear-gradient(120deg,#f5f9f6,#edf5f1)}.about-location-card h2{max-width:720px;margin-bottom:14px;font-size:clamp(1.9rem,3vw,2.8rem)}.about-location-card p:last-child{max-width:760px;margin:0;color:#66777c}.about-location-card .button{flex:0 0 auto}.about-final-cta{margin-top:0}
@media(max-width:1000px){.about-page-intro-grid,.about-journey-grid{grid-template-columns:1fr;gap:55px}.about-page-copy{max-width:760px}.about-page-photos{min-height:580px;max-width:650px}.about-manifesto-grid{grid-template-columns:1fr;gap:48px}.about-manifesto-copy{max-width:850px}.about-manifesto-points{max-width:680px}.about-values-grid{grid-template-columns:repeat(2,1fr)}.about-journey-photo{width:min(100%,610px);height:560px}.about-location-card{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.about-page-intro{padding:65px 0 78px}.about-page-intro-grid{gap:42px}.about-page-photos{min-height:455px}.about-page-photo{border-width:5px}.about-page-photo-main{inset:0 30px 28px 0;border-radius:150px 150px 22px 22px}.about-page-photo-small{width:45%;height:205px;border-radius:16px 16px 75px 16px}.about-page-photo-label{top:35px;left:-5px;padding:14px 17px}.about-manifesto-grid{gap:28px}.about-section-heading{grid-template-columns:1fr;gap:20px}.about-values-grid{grid-template-columns:1fr}.about-values-grid article{min-height:0}.about-journey-photo{height:440px}.about-location-card{padding:28px 22px}.about-location-card .button{width:100%}}

/* Page Tarifs */
.pricing-intro-section{padding:clamp(75px,8vw,110px) 0 clamp(48px,6vw,72px)}.pricing-intro{max-width:900px;text-align:center}.pricing-intro .eyebrow{justify-content:center}.pricing-intro .eyebrow>span{display:none}.pricing-intro h2{font-size:clamp(2.3rem,4vw,3.7rem);letter-spacing:-.04em}.pricing-intro>p:last-child{max-width:760px;margin:0 auto;color:#64757a;font-size:1.06rem}
.pricing-cards-section{padding-bottom:clamp(85px,9vw,125px)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pricing-card{display:flex;min-height:555px;padding:29px;flex-direction:column;border:1px solid rgba(8,66,87,.1);border-radius:20px;background:#fff;box-shadow:0 15px 45px rgba(8,66,87,.065);transition:transform .25s ease,box-shadow .25s ease}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 23px 60px rgba(8,66,87,.12)}.pricing-card-featured{border-color:rgba(118,163,134,.5);background:linear-gradient(155deg,#fff,#f4f9f6)}.pricing-card-program{background:linear-gradient(155deg,#fff,#f7f9f8)}.pricing-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.pricing-emoji{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:#edf5f1;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:1.25rem}.pricing-tag{padding:7px 10px;border-radius:999px;color:#517063;background:#eef5f1;font:600 .64rem/1 Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase}.pricing-category{margin:30px 0 7px;color:#76a386;font:700 .68rem/1.3 Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase}.pricing-card h2{min-height:2.3em;margin:0 0 18px;font-size:1.5rem}.pricing-price{display:flex;align-items:flex-end;gap:10px;padding-bottom:22px;border-bottom:1px solid rgba(8,66,87,.1)}.pricing-price strong{color:#084257;font:600 2.35rem/1 Montserrat,sans-serif;letter-spacing:-.04em}.pricing-price span{padding-bottom:3px;color:#718086;font-size:.76rem}.pricing-card ul{margin:22px 0;padding:0;list-style:none}.pricing-card li{position:relative;padding-left:22px;color:#5f7075;font-size:.88rem;line-height:1.55}.pricing-card li+li{margin-top:9px}.pricing-card li::before{content:"✓";position:absolute;left:0;color:#76a386;font-weight:700}.pricing-deposit{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding:14px 16px;border-radius:11px;background:#f3f7f5}.pricing-deposit span{color:#66777c;font-size:.76rem}.pricing-deposit strong{color:#084257;font:600 .92rem/1 Montserrat,sans-serif}.pricing-card .button{width:100%;margin-top:15px;font-size:.78rem}
.pricing-payment-section{padding:clamp(78px,9vw,120px) 0;color:#fff;background:linear-gradient(120deg,#084257,#0b5264 68%,#537f72 145%)}.pricing-payment-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(70px,10vw,145px)}.pricing-payment-copy h2{color:#fff;font-size:clamp(2.25rem,4vw,3.6rem);letter-spacing:-.04em}.pricing-payment-copy>p:last-child{max-width:520px;color:rgba(255,255,255,.7)}.pricing-payment-steps{margin:0;padding:0;list-style:none}.pricing-payment-steps li{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:22px 0;border-top:1px solid rgba(255,255,255,.16)}.pricing-payment-steps li:last-child{border-bottom:1px solid rgba(255,255,255,.16)}.pricing-payment-steps>li>span{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#bed6c8;font:600 .68rem/1 Montserrat,sans-serif}.pricing-payment-steps strong,.pricing-payment-steps small{display:block}.pricing-payment-steps strong{color:#fff;font:600 .95rem/1.4 Montserrat,sans-serif}.pricing-payment-steps small{margin-top:5px;color:rgba(255,255,255,.62);font-size:.82rem}
.pricing-gift-section{padding:clamp(80px,9vw,125px) 0}.pricing-gift-card{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;overflow:hidden;border-radius:24px;background:#f1f6f3;box-shadow:0 18px 55px rgba(8,66,87,.07)}.pricing-gift-visual{position:relative;isolation:isolate;display:flex;min-height:430px;padding:45px;align-items:flex-end;overflow:hidden;color:#fff;background:linear-gradient(145deg,#76a386,#084257)}.pricing-gift-visual::before{content:"";position:absolute;z-index:-1;width:390px;height:390px;top:-130px;right:-140px;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018)}.pricing-gift-visual>span{position:absolute;top:45px;left:45px;font-size:3rem}.pricing-gift-visual small,.pricing-gift-visual strong{display:block}.pricing-gift-visual small{margin-bottom:8px;color:#c8ded1;font:600 .7rem/1.3 Montserrat,sans-serif;letter-spacing:.15em;text-transform:uppercase}.pricing-gift-visual strong{max-width:420px;font:600 clamp(2rem,3vw,3rem)/1.15 Montserrat,sans-serif}.pricing-gift-copy{padding:clamp(40px,7vw,85px)}.pricing-gift-copy h2{font-size:clamp(2.1rem,3.6vw,3.3rem);letter-spacing:-.04em}.pricing-gift-copy>p:not(.eyebrow){max-width:620px;color:#64757a}.pricing-gift-copy .button{margin-top:16px}
.pricing-info-section{padding:0 0 clamp(80px,9vw,120px)}.pricing-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pricing-info-grid>div{padding:28px;border:1px solid rgba(8,66,87,.09);border-radius:17px}.pricing-info-grid>div>span{font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:1.35rem}.pricing-info-grid h3{margin:22px 0 10px;font-size:1rem}.pricing-info-grid p{margin:0;color:#68777c;font-size:.86rem;line-height:1.6}.pricing-final-cta{margin-top:0}
@media(max-width:1000px){.pricing-grid{grid-template-columns:repeat(2,1fr)}.pricing-payment-grid{grid-template-columns:1fr;gap:48px}.pricing-gift-card{grid-template-columns:1fr}.pricing-gift-visual{min-height:330px}.pricing-info-grid{grid-template-columns:1fr}}
@media(max-width:650px){.pricing-grid{grid-template-columns:1fr}.pricing-card{min-height:0;padding:24px}.pricing-card h2{min-height:0}.pricing-gift-visual{min-height:290px;padding:30px}.pricing-gift-visual>span{top:30px;left:30px}.pricing-gift-copy{padding:35px 25px}.pricing-info-grid>div{padding:24px}}

/* Page La méthode */
.method-page-intro{padding:clamp(78px,9vw,125px) 0}.method-page-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(470px,.95fr);align-items:center;gap:clamp(70px,9vw,130px)}.method-page-copy h2{max-width:690px;font-size:clamp(2.4rem,4.5vw,4rem);letter-spacing:-.045em}.method-page-lead{color:#36515b;font-size:1.17rem;line-height:1.7}.method-page-copy>p:not(.eyebrow):not(.method-page-lead){max-width:650px;color:#63747a}.method-quick-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:34px}.method-quick-facts>div{padding:16px;border:1px solid rgba(8,66,87,.09);border-radius:13px;background:#f7faf8}.method-quick-facts span,.method-quick-facts strong,.method-quick-facts small{display:block}.method-quick-facts>div>span{margin-bottom:10px;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif}.method-quick-facts strong{color:#084257;font:600 .77rem/1.35 Montserrat,sans-serif}.method-quick-facts small{margin-top:3px;color:#748389;font-size:.68rem}.method-technology-photo{position:relative;height:610px;margin:0;overflow:hidden;border-radius:210px 210px 30px 30px;background:#e7efea;box-shadow:0 28px 75px rgba(8,66,87,.17)}.method-technology-photo img{width:100%;height:100%;object-fit:cover;object-position:65% center}.method-technology-photo figcaption{position:absolute;right:22px;bottom:22px;left:22px;padding:19px 22px;border-radius:14px;color:#fff;background:rgba(4,43,58,.85);backdrop-filter:blur(10px)}.method-technology-photo figcaption strong,.method-technology-photo figcaption span{display:block}.method-technology-photo figcaption strong{font:600 .85rem/1.4 Montserrat,sans-serif}.method-technology-photo figcaption span{margin-top:3px;color:rgba(255,255,255,.68);font-size:.76rem}
.method-origins-section{padding:clamp(80px,9vw,125px) 0;background:#f4f7f5}.method-origins-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);align-items:center;gap:clamp(60px,8vw,120px)}.method-origins-visual{margin:0;overflow:hidden;border:1px solid rgba(8,66,87,.1);border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(8,66,87,.12)}.method-origins-visual img{display:block;width:100%;height:auto}.method-origins-copy h2{max-width:720px;font-size:clamp(2.25rem,4vw,3.55rem);letter-spacing:-.04em}.method-origins-copy>p:not(.eyebrow){color:#607177;line-height:1.75}.method-origins-note{margin:30px 0;padding:23px 25px;border-left:3px solid #76a386;background:#fff}.method-origins-note strong{display:block;margin-bottom:7px;color:#084257;font-family:Montserrat,sans-serif;font-size:.86rem}.method-origins-note p{margin:0;color:#66777c;font-size:.86rem;line-height:1.65}.method-origins-copy .text-link{display:inline-flex;max-width:620px;align-items:center;gap:9px;font-size:.84rem}
.method-principles-section{padding:clamp(80px,9vw,120px) 0;color:#fff;background:linear-gradient(120deg,#084257,#0b5264 68%,#537f72 145%)}.method-section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:70px;margin-bottom:50px}.method-section-heading h2{max-width:770px;margin:0;color:#fff;font-size:clamp(2.25rem,4vw,3.6rem);letter-spacing:-.04em}.method-section-heading>p{max-width:470px;margin:0;color:rgba(255,255,255,.67)}.method-principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.method-principles-grid article{min-height:285px;padding:31px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.055)}.method-principles-grid article>span{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#c2d9cc;font:600 .68rem/1 Montserrat,sans-serif}.method-principles-grid h3{margin:46px 0 13px;color:#fff;font-size:1.35rem}.method-principles-grid p{margin:0;color:rgba(255,255,255,.67);font-size:.92rem;line-height:1.65}
.method-session-section{padding:clamp(85px,9vw,130px) 0}.method-session-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(70px,10vw,145px)}.method-session-sticky{position:sticky;top:120px}.method-session-sticky h2{font-size:clamp(2.3rem,4vw,3.6rem);letter-spacing:-.04em}.method-session-sticky>p:not(.eyebrow){color:#65767c}.method-session-sticky .button{margin-top:20px}.method-session-timeline{margin:0;padding:0;list-style:none}.method-session-timeline li{display:grid;grid-template-columns:58px 1fr;gap:25px;padding:0 0 42px;position:relative}.method-session-timeline li::before{content:"";position:absolute;top:52px;bottom:0;left:25px;width:1px;background:#d9e6df}.method-session-timeline li:last-child{padding-bottom:0}.method-session-timeline li:last-child::before{display:none}.method-session-timeline>li>span{display:grid;z-index:1;width:50px;height:50px;place-items:center;border-radius:50%;color:#fff;background:#76a386;font:600 .72rem/1 Montserrat,sans-serif;box-shadow:0 0 0 8px #fff}.method-session-timeline small{color:#76a386;font:700 .65rem/1.3 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase}.method-session-timeline h3{margin:7px 0 10px;font-size:1.2rem}.method-session-timeline p{max-width:700px;margin:0;color:#65767c;font-size:.94rem;line-height:1.68}
.method-experience-section{padding:0 0 clamp(85px,9vw,125px)}.method-experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.method-experience-card{padding:clamp(30px,4vw,48px);border:1px solid rgba(8,66,87,.09);border-radius:20px;background:#f4f8f5}.method-experience-card>span{font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:1.65rem}.method-experience-card h2{margin:25px 0 13px;font-size:clamp(1.45rem,2.5vw,2rem)}.method-experience-card p{margin:0;color:#65767c;line-height:1.7}
.method-medical-section{padding:clamp(75px,8vw,110px) 0;background:#f4f7f5}.method-medical-card{display:grid;grid-template-columns:90px 1fr;gap:35px;padding:clamp(32px,5vw,58px);border:1px solid rgba(8,66,87,.1);border-radius:22px;background:#fff}.method-medical-icon{display:grid;width:72px;height:72px;place-items:center;border-radius:18px;background:#eef5f1;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:1.65rem}.method-medical-card h2{max-width:900px;font-size:clamp(1.9rem,3.4vw,3rem);letter-spacing:-.035em}.method-medical-card>div:last-child>p:not(.eyebrow){max-width:950px;color:#5f7076}.method-medical-card>div:last-child>p:last-child{margin-bottom:0;padding-top:16px;border-top:1px solid rgba(8,66,87,.1);color:#8a524c;font-weight:700}
.method-faq-section{padding:clamp(80px,9vw,125px) 0}.method-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;align-items:start;gap:clamp(70px,10vw,145px)}.method-faq-grid>div:first-child{position:sticky;top:120px}.method-faq-grid>div:first-child h2{font-size:clamp(2.2rem,3.8vw,3.4rem);letter-spacing:-.04em}.method-faq-list{border-top:1px solid rgba(8,66,87,.14)}.method-final-cta{margin-top:0}
@media(max-width:1000px){.method-page-intro-grid,.method-origins-grid,.method-session-grid{grid-template-columns:1fr;gap:55px}.method-page-copy{max-width:780px}.method-origins-visual{max-width:760px}.method-technology-photo{width:min(100%,680px);height:560px}.method-section-heading,.method-faq-grid{grid-template-columns:1fr;gap:28px}.method-session-sticky,.method-faq-grid>div:first-child{position:static}.method-faq-grid{gap:45px}}
@media(max-width:700px){.method-page-intro{padding:65px 0 80px}.method-page-intro-grid{gap:42px}.method-origins-section{padding:70px 0}.method-origins-grid{gap:38px}.method-origins-visual{border-radius:16px}.method-origins-note{padding:20px}.method-quick-facts{grid-template-columns:1fr}.method-technology-photo{height:440px;border-radius:150px 150px 22px 22px}.method-section-heading{margin-bottom:35px}.method-principles-grid,.method-experience-grid{grid-template-columns:1fr}.method-principles-grid article{min-height:0}.method-session-timeline li{grid-template-columns:48px 1fr;gap:18px}.method-session-timeline>li>span{width:44px;height:44px}.method-session-timeline li::before{top:46px;left:21px}.method-medical-card{grid-template-columns:1fr;gap:22px}.method-medical-icon{width:60px;height:60px}}
@media (max-width: 1100px) {
  .menu-toggle { display: inline-flex; }
  .primary-navigation { display: none; position: absolute; inset: 82px 0 auto; max-height: calc(100vh - 82px); padding: 20px; overflow-y: auto; background: #fff; border-bottom: 1px solid rgba(8,66,87,.1); box-shadow: 0 18px 40px rgba(8,66,87,.1); }
  .primary-navigation.is-open { display: block; }
  .primary-navigation ul { align-items: flex-start; flex-direction: column; }
  .primary-navigation .sub-menu { position: static; display: block; min-width: 0; margin: 8px 0 0 16px; padding: 0; visibility: visible; opacity: 1; transform: none; border: 0; box-shadow: none; }
  .primary-navigation > ul > li:last-child > a { display: inline-flex; }
}

/* Liberia Laser — page d'accueil */
.site-header { top: 0; }
.header-inner { min-height: 86px; }
.brand-logo { display: block; width: 195px; height: 70px; object-fit: contain; mix-blend-mode: multiply; }
.primary-navigation { font-size: .84rem; }
.primary-navigation > ul > li > a { white-space: nowrap; }

.home-section { padding: clamp(80px, 9vw, 132px) 0; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: var(--liberia-green); font-size: .76rem; line-height: 1.3; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow > span { width: 30px; height: 1px; background: currentColor; }
.eyebrow.light { color: #b9d1c3; }
.button { gap: 14px; min-height: 54px; padding: 13px 24px; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--liberia-ink); box-shadow: 0 12px 30px rgba(8,66,87,.18); }
.button-secondary { border: 1px solid rgba(8,66,87,.2); color: var(--liberia-ink); background: transparent; }
.button-secondary:hover { border-color: var(--liberia-green); color: var(--liberia-ink); background: rgba(118,163,134,.1); }
.button-light { color: var(--liberia-ink); background: #fff; }
.button-light:hover { color: var(--liberia-ink); background: #e9f1ec; }
.text-link { display: inline-flex; align-items: center; gap: 12px; color: var(--liberia-ink); font-family: Montserrat, sans-serif; font-weight: 700; text-decoration: none; }
.text-link span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(8,66,87,.25); border-radius: 50%; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }

.home-hero { position: relative; overflow: hidden; min-height: 690px; padding: clamp(76px, 8vw, 112px) 0 clamp(88px, 9vw, 128px); background: linear-gradient(120deg, #fff 0%, #fff 52%, #f4f8f5 100%); }
.home-hero::before { content: ""; position: absolute; width: 520px; height: 520px; top: -210px; right: -150px; border-radius: 50%; background: rgba(118,163,134,.09); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(440px, .96fr); align-items: center; gap: clamp(60px, 8vw, 112px); }
.hero-copy { position: relative; z-index: 2; max-width: 700px; }
.hero-copy h1 { max-width: 680px; margin-bottom: 26px; font-size: clamp(3rem, 5.5vw, 5.25rem); letter-spacing: -.045em; }
.hero-copy h1 em { display: block; color: var(--liberia-green); font-style: normal; font-weight: 500; }
.hero-lead { max-width: 650px; margin: 0; color: #4a5b62; font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.hero-reassurance { display: flex; flex-wrap: wrap; gap: 18px 28px; margin: 34px 0 0; padding: 0; color: #42545b; font-size: .88rem; list-style: none; }
.hero-reassurance li { display: flex; align-items: center; gap: 8px; }
.hero-reassurance span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #fff; background: var(--liberia-green); font-size: .68rem; }
.hero-visual { position: relative; min-height: 490px; display: grid; place-items: center; }
.hero-visual::before { content: ""; position: absolute; inset: 24px 8px 8px 52px; border-radius: 47% 53% 34% 66% / 42% 34% 66% 58%; background: linear-gradient(145deg, #dcebe3, #f5f9f6); box-shadow: inset 0 0 0 1px rgba(118,163,134,.14); }
.hero-photo-frame{position:relative;z-index:2;width:min(84%,455px);height:520px;overflow:hidden;border:7px solid #fff;border-radius:190px 190px 30px 30px;background:#e8f0eb;box-shadow:0 30px 80px rgba(8,66,87,.18)}
.hero-photo-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(4,43,58,.14))}
.hero-photo-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-orbit { position: absolute; border: 1px solid rgba(8,66,87,.13); border-radius: 50%; }
.hero-orbit-one { width: 430px; height: 430px; }
.hero-orbit-two { width: 330px; height: 330px; border-style: dashed; transform: rotate(18deg); }
.hero-logo-panel { position: relative; z-index: 2; width: min(82%, 430px); padding: 46px 42px; border: 1px solid rgba(8,66,87,.08); border-radius: 32px; background: rgba(255,255,255,.95); box-shadow: 0 30px 80px rgba(8,66,87,.14); transform: rotate(-2deg); }
.hero-logo-panel img { display: block; width: 100%; mix-blend-mode: multiply; }
.floating-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 12px; min-width: 215px; padding: 14px 18px; border: 1px solid rgba(8,66,87,.08); border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 18px 45px rgba(8,66,87,.14); }
.floating-card-method { right: -5px; bottom: 58px; }
.floating-card-location { left: 5px; top: 62px; min-width: 160px; }
.floating-card strong, .floating-card small { display: block; }
.floating-card strong { color: var(--liberia-ink); font-family: Montserrat, sans-serif; font-size: .82rem; }
.floating-card small { margin-top: 2px; color: #6f7e83; font-size: .72rem; }
.floating-icon { display: grid; flex: 0 0 38px; height: 38px; place-items: center; border-radius: 50%; color: #fff; background: var(--liberia-green); }
.pin-icon { color: var(--liberia-ink); background: #eaf2ed; }

.trust-strip { position: relative; z-index: 4; margin-top: -34px; }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid rgba(8,66,87,.08); border-radius: 20px; background: #fff; box-shadow: 0 20px 55px rgba(8,66,87,.1); }
.trust-grid > div { display: flex; align-items: center; gap: 14px; min-height: 100px; padding: 20px 28px; }
.trust-grid > div + div { border-left: 1px solid rgba(8,66,87,.08); }
.line-icon { display: grid; flex: 0 0 42px; height: 42px; place-items: center; border: 1px solid rgba(118,163,134,.35); border-radius: 50%; background: #f5f9f6; font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif; font-size: 1.12rem; }
.trust-grid p, .trust-grid strong, .trust-grid small { display: block; margin: 0; }
.trust-grid strong { color: var(--liberia-ink); font-family: Montserrat, sans-serif; font-size: .82rem; text-transform: uppercase; }
.trust-grid small { margin-top: 3px; color: #6d7c81; font-size: .73rem; line-height: 1.35; }

.section-heading { margin-bottom: 54px; }
.heading-split { display: grid; grid-template-columns: 1.15fr .65fr; align-items: end; gap: 80px; }
.section-heading h2 { max-width: 720px; margin: 0; font-size: clamp(2.2rem, 4.3vw, 3.7rem); letter-spacing: -.035em; }
.heading-split > p { margin: 0 0 8px; color: #64747a; }
.services-section { padding-top: clamp(100px, 11vw, 155px); }
.services-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.service-card { position: relative; grid-column: span 2; min-height: 350px; padding: 32px; overflow: hidden; border: 1px solid rgba(8,66,87,.09); border-radius: var(--liberia-radius); color: var(--liberia-text); background: #fff; box-shadow: 0 15px 45px rgba(8,66,87,.06); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.service-card:nth-child(4) { grid-column: span 2; }
.service-card:hover { color: var(--liberia-text); transform: translateY(-7px); border-color: rgba(118,163,134,.5); box-shadow: 0 25px 65px rgba(8,66,87,.12); }
.service-card.featured { color: #fff; border-color: var(--liberia-ink); background: var(--liberia-ink); }
.service-card.featured h3, .service-card.featured .card-link { color: #fff; }
.service-card.featured p, .service-card.featured .service-number { color: rgba(255,255,255,.72); }
.service-number { color: #9aa7ac; font-family: Montserrat, sans-serif; font-size: .72rem; letter-spacing: .14em; }
.service-icon { position: absolute; top: 26px; right: 28px; display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; color: var(--liberia-ink); background: #edf4ef; font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size: 1.35rem; }
.service-card.featured .service-icon { color: #fff; background: rgba(255,255,255,.12); }
.service-card h3 { max-width: 270px; margin: 58px 0 16px; font-size: 1.35rem; }
.service-card p { margin: 0; color: #68777c; font-size: .92rem; line-height: 1.65; }
.card-link { position: absolute; left: 32px; bottom: 30px; display: flex; gap: 10px; color: var(--liberia-ink); font-weight: 700; font-size: .84rem; }
.card-link b { font-size: 1.05rem; transition: transform .2s ease; }
.service-card:hover .card-link b { transform: translateX(4px); }
.pricing-card-consultation .pricing-consultation-lead{margin:22px 0;color:#5f7076;line-height:1.65}.pricing-card-consultation .button{margin-top:auto}
.booking-location-section{padding:clamp(75px,8vw,110px) 0;background:#f3f7f4}.booking-location-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,8vw,110px);align-items:center}.booking-location-copy h2{max-width:650px;font-size:clamp(2.2rem,4vw,3.55rem);letter-spacing:-.04em}.booking-location-copy>p:not(.eyebrow){max-width:600px;color:#63747a}.booking-address-card{position:relative;overflow:hidden;padding:clamp(32px,5vw,55px);border:1px solid rgba(8,66,87,.1);border-radius:22px;background:#fff;box-shadow:0 22px 65px rgba(8,66,87,.1)}.booking-address-card::after{content:"16";position:absolute;right:-8px;bottom:-45px;color:rgba(118,163,134,.09);font:700 10rem/1 Montserrat,sans-serif}.booking-address-card>span{display:grid;width:48px;height:48px;margin-bottom:27px;place-items:center;border-radius:14px;background:#edf4ef;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:1.3rem}.booking-address-card address{position:relative;z-index:1;margin:0 0 25px;color:#084257;font:600 clamp(1.2rem,2.4vw,1.65rem)/1.5 Montserrat,sans-serif;font-style:normal}.booking-address-links{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px}.booking-address-links a{font-size:.82rem}.booking-contact-details{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px}.booking-contact-details a{font-weight:700;text-decoration:none}@media(max-width:800px){.booking-location-grid{grid-template-columns:1fr}.booking-address-card{padding:30px 25px}}
.tobacco-calculator-section{padding:clamp(80px,9vw,125px) 0;color:#fff;background:linear-gradient(125deg,#073d51,#09556a 68%,#6d9a80 155%)}.tobacco-calculator-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(45px,8vw,110px);align-items:end;margin-bottom:48px}.tobacco-calculator-heading h2{max-width:760px;margin:0;color:#fff;font-size:clamp(2.25rem,4.2vw,3.7rem);letter-spacing:-.04em}.tobacco-calculator-heading>p{max-width:540px;margin:0;color:rgba(255,255,255,.72)}.tobacco-calculator-card{display:grid;grid-template-columns:.72fr 1.28fr;overflow:hidden;border:1px solid rgba(255,255,255,.17);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(2,28,38,.28)}.tobacco-calculator-form{display:grid;align-content:center;gap:22px;padding:clamp(30px,5vw,55px);background:#f2f7f4}.tobacco-calculator-form label{display:grid;gap:8px;color:#084257;font:600 .78rem/1.35 Montserrat,sans-serif}.tobacco-calculator-form input{width:100%;height:54px;padding:0 16px;border:1px solid rgba(8,66,87,.17);border-radius:11px;color:#084257;background:#fff;font:600 1.05rem Montserrat,sans-serif}.calculator-input-unit{position:relative}.calculator-input-unit b{position:absolute;right:17px;top:50%;color:#76a386;transform:translateY(-50%)}.calculator-input-unit input{padding-right:42px}.tobacco-calculator-results{padding:clamp(30px,5vw,55px);color:#263238}.calculator-break-even{padding-bottom:30px;border-bottom:1px solid rgba(8,66,87,.1)}.calculator-break-even small{display:block;color:#718086;font-size:.78rem}.calculator-break-even strong{display:block;margin:6px 0;color:#084257;font:600 clamp(2.2rem,5vw,4rem)/1 Montserrat,sans-serif}.calculator-break-even p{margin:0;color:#718086;font-size:.85rem}.calculator-saving-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:30px 0;background:rgba(8,66,87,.1)}.calculator-saving-grid>div{padding:20px;background:#fff}.calculator-saving-grid small,.calculator-saving-grid strong{display:block}.calculator-saving-grid small{color:#718086;font-size:.72rem}.calculator-saving-grid strong{margin-top:5px;color:#084257;font:600 1.2rem Montserrat,sans-serif}.calculator-net-saving{margin:0;padding:18px 20px;border-radius:12px;color:#36584b;background:#edf5f0;font-size:.9rem}.calculator-net-saving strong{color:#084257}.tobacco-calculator-disclaimer{max-width:1000px;margin:22px 0 0;color:rgba(255,255,255,.6);font-size:.74rem;line-height:1.55}@media(max-width:850px){.tobacco-calculator-heading,.tobacco-calculator-card{grid-template-columns:1fr}.tobacco-calculator-heading{gap:22px}.tobacco-calculator-form{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.tobacco-calculator-form,.calculator-saving-grid{grid-template-columns:1fr}.tobacco-calculator-card{border-radius:17px}.calculator-saving-grid{gap:0}.calculator-saving-grid>div+div{border-top:1px solid rgba(8,66,87,.1)}}
.section-action { margin-top: 38px; text-align: center; }

.method-section { position: relative; overflow: hidden; color: rgba(255,255,255,.76); background: var(--liberia-ink); }
.method-section::after { content: ""; position: absolute; width: 500px; height: 500px; right: -260px; bottom: -320px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255,255,255,.025), 0 0 0 160px rgba(255,255,255,.018); }
.method-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(70px, 10vw, 150px); }
.method-intro h2 { color: #fff; font-size: clamp(2.3rem, 4vw, 3.6rem); letter-spacing: -.035em; }
.method-intro > p:not(.eyebrow) { max-width: 520px; margin: 24px 0 28px; }
.method-laser-photo{position:relative;max-width:510px;height:285px;margin:0 0 28px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:#173f4d;box-shadow:0 22px 55px rgba(0,0,0,.2)}
.method-laser-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(3,34,46,.76))}
.method-laser-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.method-laser-photo figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:17px;display:flex;gap:10px;align-items:center;color:#fff;font:600 .76rem/1.3 Montserrat,sans-serif}
.method-laser-photo figcaption span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:var(--liberia-green)}
.steps-list { margin: 0; padding: 0; list-style: none; }
.steps-list li { display: grid; grid-template-columns: 72px 1fr; gap: 26px; padding: 30px 0; border-top: 1px solid rgba(255,255,255,.13); }
.steps-list li:last-child { border-bottom: 1px solid rgba(255,255,255,.13); }
.step-number { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(185,209,195,.55); border-radius: 50%; color: #b9d1c3; font-family: Montserrat, sans-serif; font-size: .8rem; }
.steps-list h3 { margin-bottom: 8px; color: #fff; font-size: 1.35rem; }
.steps-list p { max-width: 570px; margin: 0; color: rgba(255,255,255,.68); font-size: .94rem; }

.laser-explainer{position:relative;overflow:hidden;padding-top:clamp(95px,10vw,145px);padding-bottom:clamp(90px,10vw,140px);background:#f5f8f6}
.laser-explainer::before{content:"";position:absolute;top:-240px;right:-210px;width:590px;height:590px;border:1px solid rgba(118,163,134,.16);border-radius:50%;box-shadow:0 0 0 70px rgba(118,163,134,.035),0 0 0 140px rgba(118,163,134,.025)}
.laser-explainer-heading{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(55px,9vw,130px);align-items:end;margin-bottom:clamp(60px,8vw,100px)}
.laser-explainer-heading h2{max-width:720px;margin:0;font-size:clamp(2.5rem,4.8vw,4.3rem);letter-spacing:-.045em}
.laser-explainer-lead{padding-left:30px;border-left:2px solid var(--liberia-green)}
.laser-explainer-lead p{margin:0;color:#586b72;font-size:1.03rem;line-height:1.75}
.laser-explainer-lead p+p{margin-top:15px;color:#75847f;font-size:.87rem}
.laser-infographic{position:relative;z-index:2;margin:0;overflow:hidden;border:1px solid rgba(8,66,87,.1);border-radius:26px;background:#fff;box-shadow:0 28px 75px rgba(8,66,87,.12)}
.laser-infographic picture{display:block}
.laser-infographic img{display:block;width:100%;height:auto}
.laser-process{position:relative;display:grid;grid-template-columns:1fr minmax(250px,.82fr) 1fr;grid-template-areas:"one center two" ". center three";gap:22px 38px;align-items:center}
.laser-process::before,.laser-process::after{content:"";position:absolute;z-index:0;height:1px;background:linear-gradient(90deg,transparent,rgba(118,163,134,.55),transparent)}
.laser-process::before{top:30%;left:24%;right:24%}.laser-process::after{top:70%;left:39%;right:8%;transform:rotate(12deg)}
.laser-process-card{position:relative;z-index:2;min-height:230px;padding:30px 32px;border:1px solid rgba(8,66,87,.1);border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(8,66,87,.07)}
.laser-process-one{grid-area:one}.laser-process-two{grid-area:two}.laser-process-three{grid-area:three}
.laser-process-number{display:block;margin-bottom:25px;color:#8c9d98;font:600 .67rem/1 Montserrat,sans-serif;letter-spacing:.15em}
.laser-process-icon{position:absolute;top:24px;right:25px;display:grid;width:43px;height:43px;place-items:center;border-radius:50%;color:#fff;background:var(--liberia-green);font:600 1rem/1 Montserrat,sans-serif}
.laser-process-card h3{max-width:260px;margin:0 0 13px;font-size:1.18rem;line-height:1.35}
.laser-process-card p{margin:0;color:#66787d;font-size:.9rem;line-height:1.68}
.laser-process-center{position:relative;z-index:2;grid-area:center;display:flex;min-height:520px;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.laser-rings{position:absolute;width:315px;height:315px;border:1px solid rgba(118,163,134,.35);border-radius:50%;box-shadow:0 0 0 28px rgba(118,163,134,.06),0 0 0 58px rgba(118,163,134,.035)}
.laser-rings::before,.laser-rings::after{content:"";position:absolute;border-radius:50%}.laser-rings::before{inset:42px;border:1px dashed rgba(8,66,87,.2)}.laser-rings::after{inset:82px;background:linear-gradient(145deg,#fff,#e7f1eb);box-shadow:0 18px 45px rgba(8,66,87,.12)}
.laser-ear{position:relative;z-index:2;font-size:5.5rem;filter:saturate(.72)}
.laser-ear>span{position:absolute;top:44%;right:9px;width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:#d65e57;box-shadow:0 0 0 7px rgba(214,94,87,.14),0 0 18px rgba(214,94,87,.5)}
.laser-process-center strong{position:relative;z-index:2;margin-top:20px;color:var(--liberia-ink);font:600 1.15rem/1.35 Montserrat,sans-serif}.laser-process-center small{position:relative;z-index:2;margin-top:7px;color:#72847f;font-size:.76rem;text-transform:uppercase;letter-spacing:.13em}
.laser-benefits{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(60px,7vw,90px);overflow:hidden;border:1px solid rgba(8,66,87,.1);border-radius:18px;background:#fff}
.laser-benefits>div{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:13px;min-height:105px;padding:25px 28px;align-content:center}.laser-benefits>div+div{border-left:1px solid rgba(8,66,87,.09)}
.laser-benefits span{grid-row:1/3;display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;background:var(--liberia-green);font-size:.7rem}.laser-benefits strong{color:var(--liberia-ink);font:600 .86rem/1.3 Montserrat,sans-serif}.laser-benefits small{margin-top:4px;color:#71817f;font-size:.74rem;line-height:1.4}
.laser-disclaimer{max-width:900px;margin:28px auto 0;text-align:center;color:#7d8a87;font-size:.76rem;line-height:1.6}

.about-preview { background: #f6f8f7; }
.about-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(60px, 9vw, 130px); }
.about-visual { position: relative; min-height: 570px; }
.about-collage{position:absolute;inset:0}
.about-photo{position:absolute;margin:0;overflow:hidden;border:6px solid #fff;background:#e6eee9;box-shadow:0 24px 65px rgba(8,66,87,.16)}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover}
.about-photo-main{inset:24px auto 32px 0;width:72%;border-radius:190px 190px 28px 28px}
.about-photo-main img{object-position:44% center}
.about-photo-detail{z-index:2;top:0;right:0;width:42%;height:265px;border-radius:24px 120px 24px 24px;transform:rotate(2deg)}
.about-photo-detail img{object-position:center 68%}
.about-photo-air{z-index:3;right:5px;bottom:18px;width:47%;height:245px;border-radius:24px 24px 110px 24px;transform:rotate(-2deg)}
.about-photo-air img{object-position:62% center}
.about-shape { position: absolute; inset: 15px 40px 15px 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 60px; overflow: hidden; border-radius: 46% 46% 18px 18px; color: #fff; background: linear-gradient(155deg, rgba(118,163,134,.98), rgba(8,66,87,.98)); box-shadow: 0 30px 70px rgba(8,66,87,.18); }
.about-shape::before, .about-shape::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.about-shape::before { width: 420px; height: 420px; top: -150px; right: -180px; box-shadow: 0 0 0 60px rgba(255,255,255,.025); }
.about-shape::after { width: 260px; height: 260px; left: -130px; bottom: 100px; }
.about-shape span, .about-shape strong, .about-shape small { position: relative; z-index: 2; display: block; font-family: Montserrat, sans-serif; }
.about-shape span { font-size: clamp(2.5rem, 5vw, 4.6rem); font-weight: 700; letter-spacing: .12em; }
.about-shape strong { color: #c2dacb; font-size: clamp(2.2rem, 4.5vw, 4rem); font-weight: 500; letter-spacing: .24em; }
.about-shape small { margin-top: 24px; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
.about-badge { position: absolute; z-index:5;left:22px; bottom: 5px; display: flex; flex-direction: column; max-width: 220px; padding: 22px 24px; border-radius: 16px; color: var(--liberia-ink); background: #fff; box-shadow: 0 18px 45px rgba(8,66,87,.16); }
.about-badge strong { font-family: Montserrat, sans-serif; }
.about-badge span { margin-top: 3px; color: #66777c; font-size: .8rem; }
.about-copy h2 { margin-bottom: 26px; font-size: clamp(2.2rem, 4vw, 3.5rem); letter-spacing: -.035em; }
.large-copy { color: #5e6e74; font-size: 1.06rem; }
.check-list { margin: 34px 0; padding: 0; list-style: none; }
.check-list li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 16px 0; border-top: 1px solid rgba(8,66,87,.09); }
.check-list li:last-child { border-bottom: 1px solid rgba(8,66,87,.09); }
.check-list > li > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: var(--liberia-green); font-size: .72rem; }
.check-list strong, .check-list small { display: block; }
.check-list strong { color: var(--liberia-ink); font-family: Montserrat, sans-serif; font-size: .94rem; }
.check-list small { margin-top: 4px; color: #6e7d82; }

.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(70px, 10vw, 150px); }
.faq-intro { position: sticky; top: 150px; align-self: start; }
.faq-intro h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); letter-spacing: -.035em; }
.faq-intro > p:not(.eyebrow) { margin: 22px 0 30px; color: #68777c; }
.accordion-list { border-top: 1px solid rgba(8,66,87,.14); }
.accordion-list details { border-bottom: 1px solid rgba(8,66,87,.14); }
.accordion-list summary { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 27px 0; color: var(--liberia-ink); font-family: Montserrat, sans-serif; font-weight: 700; cursor: pointer; list-style: none; }
.accordion-list summary::-webkit-details-marker { display: none; }
.accordion-list summary span { display: grid; flex: 0 0 32px; height: 32px; place-items: center; border: 1px solid rgba(8,66,87,.2); border-radius: 50%; transition: transform .2s ease; }
.accordion-list details[open] summary span { transform: rotate(45deg); color: #fff; border-color: var(--liberia-green); background: var(--liberia-green); }
.accordion-list details p { max-width: 650px; margin: -8px 55px 25px 0; color: #64747a; }

.final-cta { position:relative;isolation:isolate;padding: clamp(72px, 8vw, 105px) 0; color: rgba(255,255,255,.82); background-color:#084257;background-image:linear-gradient(90deg,rgba(4,43,58,.96) 0%,rgba(8,66,87,.9) 48%,rgba(8,66,87,.68) 100%),url('assets/images/about-liberte.jpg');background-position:center 43%;background-size:cover; }
.page-hero-carte-cadeau{background-image:url('assets/images/editorial/carte-cadeau.png')}
.gift-page{overflow:hidden}.gift-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,130px);align-items:end;padding-top:clamp(74px,9vw,120px);padding-bottom:clamp(65px,8vw,105px)}.gift-intro h2{margin:0;font-size:clamp(2.35rem,4.6vw,4rem);letter-spacing:-.045em}.gift-intro>div:last-child>p{margin:0 0 28px;color:#62747a;font-size:1.08rem;line-height:1.75}.gift-reassurance{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;padding:0;list-style:none;color:#084257;font:600 .78rem/1.4 Montserrat,sans-serif}.gift-reassurance span{display:inline-grid;width:22px;height:22px;margin-right:7px;place-items:center;border-radius:50%;color:#fff;background:#76a386;font-size:.65rem}.gift-order-section{padding:clamp(65px,8vw,105px) 0;background:#f3f7f5}.gift-order-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(45px,7vw,95px);align-items:center}.gift-order-grid .lb-panel{max-width:none;margin:0;background:#fff}.gift-preview{position:relative}.gift-preview-card{position:relative;display:flex;min-height:450px;padding:48px;flex-direction:column;border-radius:28px;overflow:hidden;color:#fff;background:linear-gradient(155deg,rgba(8,66,87,.98),rgba(32,101,99,.9)),url('assets/images/editorial/carte-cadeau.png') center/cover;box-shadow:0 28px 60px rgba(8,66,87,.2)}.gift-preview-card:after{content:"";position:absolute;width:280px;height:280px;right:-110px;bottom:-110px;border:1px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.025)}.gift-preview-card small{letter-spacing:.2em}.gift-preview-card>span{margin:auto 0 18px;color:#b7d0c1;font:500 .86rem/1 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.15em}.gift-preview-card strong{font:600 clamp(1.8rem,3vw,2.75rem)/1.2 Montserrat,sans-serif}.gift-preview-card em{margin-top:30px;font-style:normal;font-size:.83rem}.gift-preview>p{margin:24px 20px 0;color:#65777c;font-size:.87rem;line-height:1.65}.gift-steps{padding-top:clamp(80px,10vw,135px);padding-bottom:clamp(80px,10vw,135px)}.section-heading.centered{text-align:center}.section-heading.centered .eyebrow{justify-content:center}.gift-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:55px}.gift-step-grid article{padding:35px;border:1px solid rgba(8,66,87,.11);border-radius:18px;background:#fff}.gift-step-grid article>span{display:grid;width:44px;height:44px;margin-bottom:27px;place-items:center;border-radius:50%;color:#fff;background:#76a386;font:600 .72rem/1 Montserrat,sans-serif}.gift-step-grid h3{margin:0 0 12px;font-size:1.05rem}.gift-step-grid p{margin:0;color:#68797e;font-size:.92rem;line-height:1.65}.menu-item-gift>a:before{content:"🎁";margin-right:5px;font-size:.82em}
.cta-inner { display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: 100px; }
.cta-inner h2 { max-width: 760px; margin: 0; color: #fff; font-size: clamp(2.3rem, 4.5vw, 4.1rem); letter-spacing: -.04em; }
.cta-inner > div:last-child p { margin: 0 0 26px; }

@media (max-width: 1100px) {
  .site-header { top: 0; }
  .hero-grid { grid-template-columns: 1fr .8fr; gap: 40px; }
  .hero-visual { min-height: 420px; }
  .hero-photo-frame{height:455px}
  .floating-card-method { right: 0; }
  .heading-split, .method-grid, .about-grid, .faq-grid { gap: 60px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card, .service-card:nth-child(4) { grid-column: auto; }
  .service-card:last-child { grid-column: auto; min-height: 350px; }
  .footer-inner { grid-template-columns: 1.15fr .85fr .9fr; }
  .footer-contact { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.12); }
  .footer-contact h2 { display: none; }
  .footer-contact p { margin: 0; }
  .footer-bottom-inner { grid-template-columns: 1fr 1fr; }
  .footer-legal { grid-column: 1 / -1; grid-row: 1; }
  .footer-credit { text-align: right; }
}

@media (max-width: 860px) {
  .home-hero { padding-top: 68px; }
  .hero-grid, .heading-split, .method-grid, .about-grid, .faq-grid, .cta-inner { grid-template-columns: 1fr; }
  .hero-grid { gap: 32px; }
  .hero-copy { max-width: none; }
  .hero-visual { min-height: 440px; }
  .hero-photo-frame{width:min(76%,440px);height:480px}
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-grid > div:nth-child(3) { border-left: 0; border-top: 1px solid rgba(8,66,87,.08); }
  .trust-grid > div:nth-child(4) { border-top: 1px solid rgba(8,66,87,.08); }
  .heading-split { gap: 22px; }
  .method-grid { gap: 52px; }
  .laser-explainer-heading{grid-template-columns:1fr;gap:30px}.laser-explainer-lead{max-width:720px}.laser-process{grid-template-columns:1fr 1fr;grid-template-areas:"center center" "one two" "three three"}.laser-process-center{min-height:400px}.laser-process-three{max-width:calc(50% - 11px);justify-self:center}.laser-process::before,.laser-process::after{display:none}
  .about-visual { min-height: 500px; }
  .faq-intro { position: static; }
  .cta-inner { align-items: start; gap: 34px; }
  .posts-grid { grid-template-columns: repeat(2, 1fr); }
  .gift-intro,.gift-order-grid{grid-template-columns:1fr}.gift-preview{max-width:560px;margin:auto}.gift-step-grid{grid-template-columns:1fr}.gift-step-grid article{display:grid;grid-template-columns:54px 1fr;column-gap:18px}.gift-step-grid article>span{grid-row:1/3;margin:0}.gift-step-grid p{grid-column:2}.gift-order-grid .lb-gift-services{grid-template-columns:1fr}
}

@media (max-width: 600px) {
  .serenity-banner{min-height:36px}.serenity-banner::after{width:142px}.serenity-banner-group>span{gap:12px;padding-right:38px}.serenity-banner-track em{display:none}.serenity-open{right:8px;padding-inline:10px;font-size:.6rem}
  .serenity-modal{padding:10px}.serenity-dialog{max-height:calc(100vh - 20px);border-radius:18px}.serenity-dialog-heading{padding:50px 24px 27px}.serenity-dialog-heading h2{font-size:1.45rem}.serenity-dialog-heading p{font-size:.88rem}.serenity-close{top:12px;right:12px}.serenity-conditions{padding:28px 24px 36px}.serenity-conditions section+section{margin-top:24px;padding-top:24px}.serenity-conditions h3{align-items:flex-start;font-size:.94rem}.serenity-conditions p,.serenity-conditions li{font-size:.88rem}
  .site-shell { width: min(calc(100% - 30px), var(--liberia-width)); }
  .header-inner { min-height: 74px; }
  .header-inner, .footer-inner { padding-inline: 15px; }
  .brand-logo { width: 148px; height: 58px; }
  .primary-navigation { top: 108px; }
  .home-section { padding: 72px 0; }
  .home-hero { min-height: 0; padding: 58px 0 78px; }
  .hero-copy h1 { font-size: clamp(2.65rem, 13vw, 3.7rem); }
  .hero-lead { font-size: 1rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-reassurance { align-items: flex-start; flex-direction: column; gap: 10px; }
  .hero-visual { min-height: 350px; }
  .hero-visual::before { inset: 25px 5px; }
  .hero-photo-frame{width:82%;height:390px;border-width:5px;border-radius:145px 145px 22px 22px}
  .hero-orbit-one { width: 310px; height: 310px; }
  .hero-orbit-two { width: 240px; height: 240px; }
  .hero-logo-panel { width: 82%; padding: 32px 26px; border-radius: 24px; }
  .floating-card { min-width: 0; padding: 10px 12px; }
  .floating-card-method { right: 0; bottom: 20px; }
  .floating-card-location { left: 0; top: 32px; }
  .floating-card strong { font-size: .7rem; }
  .floating-card small { font-size: .64rem; }
  .floating-icon { flex-basis: 32px; height: 32px; }
  .trust-strip { margin-top: -28px; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid > div { min-height: 84px; padding: 16px 20px; }
  .trust-grid > div + div { border-top: 1px solid rgba(8,66,87,.08); border-left: 0; }
  .services-grid { grid-template-columns: 1fr; }
  .service-card, .service-card:last-child { grid-column: auto; min-height: 330px; padding: 28px; }
  .card-link { left: 28px; }
  .steps-list li { grid-template-columns: 54px 1fr; gap: 18px; }
  .step-number { width: 44px; height: 44px; }
  .laser-explainer-heading{margin-bottom:48px}.laser-explainer-lead{padding-left:20px}.laser-infographic{border-radius:14px}.laser-process{grid-template-columns:1fr;grid-template-areas:"center" "one" "two" "three";gap:15px}.laser-process-center{min-height:350px}.laser-rings{width:250px;height:250px}.laser-process-three{max-width:none}.laser-process-card{min-height:0;padding:26px}.laser-benefits{grid-template-columns:1fr}.laser-benefits>div+div{border-top:1px solid rgba(8,66,87,.09);border-left:0}
  .about-visual { min-height: 430px; }
  .about-shape { inset: 0 18px 0 0; padding: 38px 28px; border-radius: 42% 42% 16px 16px; }
  .about-photo{border-width:4px}.about-photo-main{inset:15px auto 38px 0;width:75%;border-radius:145px 145px 22px 22px}.about-photo-detail{width:43%;height:205px;border-radius:18px 80px 18px 18px}.about-photo-air{width:49%;height:205px;border-radius:18px 18px 75px 18px}.about-badge { left: 10px; bottom: 12px; max-width: 190px; padding: 18px; }
  .accordion-list summary { padding: 23px 0; font-size: .92rem; }
  .accordion-list details p { margin-right: 0; }
  .footer-main { padding: 58px 0 42px; }
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 42px 24px; padding-inline: 20px; }
  .footer-brand { grid-column: 1 / -1; max-width: 320px; }
  .footer-services { grid-column: 2; }
  .footer-contact { grid-column: 1 / -1; align-items: flex-start; flex-direction: column; gap: 20px; padding-top: 28px; }
  .footer-contact h2 { display: block; margin-bottom: 0; }
  .footer-bottom-inner { grid-template-columns: 1fr; gap: 14px; padding: 24px 20px; }
  .footer-legal { grid-row: auto; }
  .footer-legal ul { align-items: flex-start; flex-direction: column; gap: 8px; }
  .footer-credit { text-align: left; }
  .page-hero { min-height: 215px; }
  .page-hero-inner { padding-top: 44px; padding-bottom: 38px; }
  .page-hero h1 { margin-top: 12px; font-size: clamp(2rem, 10vw, 2.7rem); }
  .breadcrumb { font-size: .68rem; }
  .page-hero::before { width: 220px; height: 220px; right: -70px; top: -115px; }
  .page-hero-mentions-legales, .page-hero-politique-de-confidentialite, .page-hero-conditions-generales-de-vente { min-height: 195px; }
  .posts-grid { grid-template-columns: 1fr; }
  .empty-state { padding: 40px 24px; }
}

/* La carte cadeau reste un lien secondaire ; le dernier lien du menu reste le CTA de réservation. */
.primary-navigation .menu-item-gift > a{padding:0;border-radius:0;color:var(--liberia-ink);background:transparent}

/* Pages individuelles des prestations */
.service-detail-intro{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(55px,9vw,135px);align-items:end;padding-top:clamp(75px,9vw,120px);padding-bottom:clamp(70px,9vw,115px)}.service-detail-intro h2{max-width:620px;margin:0;font-size:clamp(2.3rem,4.4vw,3.9rem);letter-spacing:-.045em}.service-detail-intro>div:last-child>p{margin:0 0 28px;color:#63757b;font-size:1.06rem;line-height:1.75}.service-detail-process{padding:clamp(72px,8vw,110px) 0;background:#f2f7f4}.service-detail-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:end}.service-detail-heading h2{max-width:700px;margin:0;font-size:clamp(2rem,3.7vw,3.2rem)}.service-detail-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}.service-detail-cards article{min-height:260px;padding:34px;border:1px solid rgba(8,66,87,.1);border-radius:18px;background:#fff;box-shadow:0 15px 40px rgba(8,66,87,.06)}.service-detail-cards article>span{display:grid;width:43px;height:43px;margin-bottom:35px;place-items:center;border-radius:50%;color:#fff;background:#76a386;font:600 .7rem/1 Montserrat,sans-serif}.service-detail-cards h3{margin:0 0 13px;font-size:1.04rem}.service-detail-cards p{margin:0;color:#66777c;font-size:.92rem;line-height:1.68}.service-detail-note{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,120px);align-items:center;padding-top:clamp(75px,9vw,120px);padding-bottom:clamp(75px,9vw,120px)}.service-detail-note h2{margin:0;font-size:clamp(2rem,3.7vw,3.25rem)}.service-detail-note>p{margin:0;padding:30px;border-left:3px solid #76a386;color:#607278;background:#f5f8f6;font-size:1.02rem;line-height:1.75}body.parent-pageid-10 .entry{padding-bottom:0}body.parent-pageid-10 .entry-content{width:100%;max-width:none}body.parent-pageid-10 .entry-content>*+*{margin-top:0}
@media(max-width:860px){.service-detail-intro,.service-detail-note,.service-detail-heading{grid-template-columns:1fr;gap:28px}.service-detail-cards{grid-template-columns:1fr}.service-detail-cards article{min-height:0}.service-detail-heading h2{max-width:620px}}

.legal-content{padding-top:clamp(65px,8vw,105px);padding-bottom:clamp(75px,9vw,120px)}.legal-content h2{margin:42px 0 14px;font-size:clamp(1.35rem,2.4vw,2rem)}.legal-content h2:first-child{margin-top:0}.legal-content p{max-width:900px;margin:0 0 18px;color:#5e7076;line-height:1.75}.legal-content a{color:#084257;font-weight:600}

/* Quiz économies tabac */
.tobacco-quiz-section{padding:clamp(75px,9vw,120px) 0;background:#f2f7f4}.tobacco-quiz-shell{max-width:1000px}.tobacco-quiz-intro{max-width:760px;margin:0 auto 38px;text-align:center}.tobacco-quiz-intro .eyebrow{justify-content:center}.tobacco-quiz-intro h2{margin:0 0 18px;font-size:clamp(2.1rem,4.2vw,3.45rem);letter-spacing:-.04em}.tobacco-quiz-intro>p:not(.eyebrow){max-width:660px;margin:0 auto 28px;color:#687a80}.tobacco-quiz-progress{height:5px;overflow:hidden;border-radius:10px;background:rgba(8,66,87,.1)}.tobacco-quiz-progress span{display:block;width:25%;height:100%;border-radius:10px;background:#76a386;transition:width .35s ease}.tobacco-quiz-intro small{display:block;margin-top:10px;color:#718086;font:600 .7rem Montserrat,sans-serif}.tobacco-quiz-card{position:relative;min-height:370px;padding:clamp(30px,5vw,58px);border:1px solid rgba(8,66,87,.1);border-radius:24px;background:#fff;box-shadow:0 22px 65px rgba(8,66,87,.09)}.tobacco-quiz-step{display:none}.tobacco-quiz-step.is-active{display:block;animation:quizIn .32s ease}.tobacco-quiz-step h3,.tobacco-quiz-result h3{max-width:720px;margin:0 auto 35px;text-align:center;color:#084257;font-size:clamp(1.45rem,2.7vw,2.1rem)}.tobacco-quiz-options{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:760px;margin:0 auto}.tobacco-quiz-options button{min-height:68px;padding:15px 20px;border:1px solid rgba(8,66,87,.14);border-radius:12px;color:#084257;background:#f8faf9;font:600 .88rem/1.4 Montserrat,sans-serif;cursor:pointer;transition:.2s ease}.tobacco-quiz-options button:hover,.tobacco-quiz-options button:focus{border-color:#76a386;color:#fff;background:#76a386;transform:translateY(-2px)}.tobacco-quiz-back,.tobacco-quiz-restart{margin-top:28px;padding:0;border:0;color:#607278;background:transparent;font:600 .76rem Montserrat,sans-serif;cursor:pointer}.tobacco-quiz-result{text-align:center}.tobacco-quiz-result .eyebrow{justify-content:center}.tobacco-quiz-result h3 strong{color:#76a386}.tobacco-quiz-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 24px}.tobacco-quiz-result-grid>div{padding:22px 15px;border-radius:13px;background:#f2f7f4}.tobacco-quiz-result-grid small,.tobacco-quiz-result-grid strong{display:block}.tobacco-quiz-result-grid small{margin-bottom:7px;color:#718086;font-size:.7rem}.tobacco-quiz-result-grid strong{color:#084257;font:600 1.15rem Montserrat,sans-serif}.tobacco-quiz-result>p:not(.eyebrow){max-width:680px;margin:0 auto;color:#607278}.tobacco-quiz-actions{display:flex;gap:22px;align-items:center;justify-content:center;margin-top:28px}.tobacco-quiz-actions .tobacco-quiz-restart{margin:0}.tobacco-quiz-disclaimer{max-width:800px;margin:20px auto 0;text-align:center;color:#829096;font-size:.72rem}.tobacco-quiz-result[hidden]{display:none}@keyframes quizIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:650px){.tobacco-quiz-options,.tobacco-quiz-result-grid{grid-template-columns:1fr}.tobacco-quiz-card{min-height:0;border-radius:17px}.tobacco-quiz-actions{flex-direction:column}}
