/*
Theme Name: Corps & Arts
Theme URI: https://corpsetarts.ca
Author: Proximity Agency
Author URI: https://proximityagency.ca
Description: Theme premium et evolutif pour la clinique multidisciplinaire Corps & Arts. Architecture pensee pour accueillir plusieurs disciplines, professionnels et cliniques. 100% administrable via ACF Pro. Bilingue FR/EN (Polylang). Boutique reliee a Shopify. CSS statique compile (aucun runtime Tailwind cote client).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: corps-arts
*/

/* ==== Preflight (minimal reset) ==== */
*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: #c0c8c4; }
* { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; line-height: 1.5; scroll-behavior: smooth; }
body { min-height: 100vh; line-height: 1.5; background-color: #f9f9f7; color: #1a1c1b; font-family: "DM Sans", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1, h2, h3, h4, h5, h6 { font-family: "Playfair Display", serif; font-size: inherit; font-weight: inherit; }
a { color: inherit; text-decoration: inherit; }
img, svg, video, canvas { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; background: transparent; border: 0; }
button { cursor: pointer; }
ul, ol { list-style: none; }
table { border-collapse: collapse; }

/* Dependency-free inline icons (legacy symbol names are converted server-side). */
.ca-icon { width: 1em; height: 1em; display: inline-block; flex: 0 0 auto; vertical-align: -0.125em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #c0c8c4; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #717975; }
.hide-scrollbar { scrollbar-width: none; }
.hide-scrollbar::-webkit-scrollbar { display: none; }

/* Keyframes */
@keyframes ca-ping { 75%, 100% { transform: scale(2); opacity: 0; } }
@keyframes ca-pulse { 50% { opacity: .5; } }
@keyframes ca-spin { to { transform: rotate(360deg); } }

/* ==== Components (recovered from the maquettes + theme chrome) ==== */

/* Header */
.site-header { transition: box-shadow 0.3s ease, background-color 0.3s ease; }
.site-header.is-scrolled { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06); }

/* Mobile menu */
.mobile-menu { background-color: #f9f9f7; border-bottom: 1px solid rgba(26, 28, 27, 0.1); }
.mobile-menu[hidden] { display: none; }

/* Buttons */
.btn-primary { background-color: #002920; color: #ffffff; border-radius: 0.125rem; }
.btn-primary:hover { opacity: 0.9; }
.studio-pricing-button{display:inline-flex;align-items:center;justify-content:center}
.btn-primary:focus-visible,.ca-filter:focus-visible{outline:2px solid #755a2a;outline-offset:3px}
.ca-filter{background:transparent;border:0;cursor:pointer}
.ca-filter.is-active{color:#002920;border-color:#002920;background-color:#f4f2ed}
.journal-filter.is-active{border-bottom:1px solid currentColor;padding-bottom:.25rem}
[hidden]{display:none!important}
.ca-select-chevron{width:.55rem;height:.55rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.btn-secondary { border: 1px solid #755a2a; color: #755a2a; border-radius: 0.125rem; padding: 16px 32px; text-transform: uppercase; background-color: transparent; }

/* Animated nav underlines */
.nav-link { position: relative; }
.nav-link::after { content: ''; position: absolute; width: 0; height: 1px; bottom: -2px; left: 0; background-color: currentColor; transition: width 0.3s ease; }
.nav-link:hover::after { width: 100%; }
/* Item de navigation actif (page courante) — souligné, per maquettes */
.nav-link.is-active::after { width: 100%; }
.site-header .current-menu-item > a { position: relative; color: #002920; }
.site-header .current-menu-item > a::after { content: ''; position: absolute; width: 100%; height: 1px; bottom: -2px; left: 0; background-color: currentColor; }
.nav-link-hover { position: relative; }
.nav-link-hover::after { content: ''; position: absolute; width: 100%; transform: scaleX(0); height: 1px; bottom: -4px; left: 0; background-color: currentColor; transform-origin: bottom right; transition: transform 0.3s cubic-bezier(0.86, 0, 0.07, 1); }
.nav-link-hover:hover::after { transform: scaleX(1); transform-origin: bottom left; }

/* Editorial imagery */
.editorial-image { transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1); }
.editorial-image:hover, .editorial-image-hover:hover { transform: scale(1.02); }
.editorial-image-aspect { aspect-ratio: 4 / 5; object-fit: cover; }
.editorial-image-mask { clip-path: inset(0 0 0 0); transition: clip-path 0.8s cubic-bezier(0.65, 0, 0.35, 1); }
.reveal-loaded .editorial-image-mask { clip-path: inset(0 0 0 0); }
.reveal-unloaded .editorial-image-mask { clip-path: inset(100% 0 0 0); }

/* Scroll reveal */
.image-reveal { opacity: 0; transform: translateY(20px); transition: all 0.8s ease-out; }
.image-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* Hover-lift cards */
.hover-lift { transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.hover-lift:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -10px rgba(0, 41, 32, 0.08); }

/* Surfaces & structural lines */
.tonal-layer { background-color: #ffffff; border: 1px solid rgba(0, 41, 32, 0.1); }
.architectural-border { border: 1px solid #c0c8c4; }
.architectural-line { border-bottom: 1px solid rgba(0, 41, 32, 0.1); }
.list-item-border { border-bottom: 1px solid rgba(38, 39, 35, 0.1); }

/* Timeline */
.timeline-line::before { content: ''; position: absolute; left: 0; top: 1.5rem; bottom: -1.5rem; width: 1px; background-color: #c0c8c4; }
.timeline-item:last-child .timeline-line::before { display: none; }

/* Accordion (FAQ) */
.accordion-content { transition: max-height 0.3s ease-out, opacity 0.3s ease-out, padding 0.3s ease; max-height: 0; opacity: 0; overflow: hidden; }
.accordion-item.active .accordion-content { max-height: 500px; opacity: 1; padding-bottom: 24px; }
.accordion-item.active .accordion-icon { transform: rotate(180deg); }
.accordion-icon { transition: transform 0.3s ease; }

/* Reservation multi-step */
.step-content { transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out; }
.step-hidden { opacity: 0; transform: translateY(10px); pointer-events: none; position: absolute; visibility: hidden; }
.step-active { opacity: 1; transform: translateY(0); position: relative; visibility: visible; }

/* Radio cards */
.radio-card input[type="radio"] { display: none; }
.radio-card label { cursor: pointer; transition: all 0.3s ease; }
.radio-card input[type="radio"]:checked + label { background-color: #f3f4f1; border-color: #002920; }

/* Underlined form inputs */
.form-input-focus:focus { outline: none; border-bottom-color: #002920; }

/* Misc */
.text-balance { text-wrap: balance; }
.sr-only:focus { position: static; width: auto; height: auto; margin: 0; clip: auto; }


/* ==== Utilities (compiled) ==== */
.-bottom-8{bottom:-2rem}
.-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}
.-left-12{left:-3rem}
.-left-\[37px\]{left:-37px}
.-m-4{margin:-1rem}
.-ml-2{margin-left:-0.5rem}
.-ml-px{margin-left:-1px}
.-mx-4{margin-left:-1rem;margin-right:-1rem}
.-right-20{right:-5rem}
.-skew-y-3{--ca-sky:-3deg;transform:translateX(var(--ca-tx,0)) translateY(var(--ca-ty,0)) rotate(var(--ca-rot,0)) skewX(var(--ca-skx,0)) skewY(var(--ca-sky,0)) scaleX(var(--ca-scx,1)) scaleY(var(--ca-scy,1))}
.-top-20{top:-5rem}
.-top-4{top:-1rem}
.-translate-x-1\/2{--ca-tx:-50%;transform:translateX(var(--ca-tx,0)) translateY(var(--ca-ty,0)) rotate(var(--ca-rot,0)) skewX(var(--ca-skx,0)) skewY(var(--ca-sky,0)) scaleX(var(--ca-scx,1)) scaleY(var(--ca-scy,1))}
.-translate-y-1\/2{--ca-ty:-50%;transform:translateX(var(--ca-tx,0)) translateY(var(--ca-ty,0)) rotate(var(--ca-rot,0)) skewX(var(--ca-skx,0)) skewY(var(--ca-sky,0)) scaleX(var(--ca-scx,1)) scaleY(var(--ca-scy,1))}
.-z-10{z-index:-10}
.absolute{position:absolute}
.animate-ping{animation:ca-ping 1s cubic-bezier(0,0,0.2,1) infinite}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.appearance-none{appearance:none;-webkit-appearance:none}
.aspect-\[16\/9\]{aspect-ratio:16 / 9}
.aspect-\[1\.50\]{aspect-ratio:1.50}
.aspect-\[3\/2\]{aspect-ratio:3 / 2}
.aspect-\[3\/4\]{aspect-ratio:3 / 4}
.aspect-\[4\/3\]{aspect-ratio:4 / 3}
.aspect-\[4\/5\]{aspect-ratio:4 / 5}
.aspect-square{aspect-ratio:1 / 1}
.backdrop-blur-md{backdrop-filter:blur(12px)}
.backdrop-blur-sm{backdrop-filter:blur(4px)}
.backdrop-blur{backdrop-filter:blur(8px)}
.bg-background\/90{background-color:rgba(249, 249, 247, 0.9)}
.bg-background{background-color:#f9f9f7}
.bg-black\/10{background-color:rgba(0, 0, 0, 0.1)}
.bg-center{background-position:center}
.bg-cover{background-size:cover}
.bg-inverse-on-surface{background-color:#f1f1ef}
.bg-on-background\/10{background-color:rgba(26, 28, 27, 0.1)}
.bg-on-primary\/10{background-color:rgba(255, 255, 255, 0.1)}
.bg-on-primary\/20{background-color:rgba(255, 255, 255, 0.2)}
.bg-on-surface\/10{background-color:rgba(26, 28, 27, 0.1)}
.bg-outline-variant\/20{background-color:rgba(192, 200, 196, 0.2)}
.bg-outline-variant\/30{background-color:rgba(192, 200, 196, 0.3)}
.bg-outline-variant{background-color:#c0c8c4}
.bg-outline{background-color:#717975}
.bg-primary-container{background-color:#173f35}
.bg-primary-fixed{background-color:#c1ecdd}
.bg-primary\/20{background-color:rgba(0, 41, 32, 0.2)}
.bg-primary\/5{background-color:rgba(0, 41, 32, 0.05)}
.bg-primary{background-color:#002920}
.bg-secondary-container\/30{background-color:rgba(252, 216, 156, 0.3)}
.bg-secondary-container{background-color:#fcd89c}
.bg-secondary{background-color:#755a2a}
.bg-surface-bright{background-color:#f9f9f7}
.bg-surface-container-highest\/30{background-color:rgba(226, 227, 224, 0.3)}
.bg-surface-container-highest{background-color:#e2e3e0}
.bg-surface-container-high{background-color:#e8e8e6}
.bg-surface-container-lowest{background-color:#ffffff}
.bg-surface-container-low{background-color:#f3f4f1}
.bg-surface-container{background-color:#eeeeec}
.bg-surface-dim{background-color:#dadad8}
.bg-surface-tint\/20{background-color:rgba(63, 102, 90, 0.2)}
.bg-surface-tint\/5{background-color:rgba(63, 102, 90, 0.05)}
.bg-surface-variant{background-color:#e2e3e0}
.bg-surface\/80{background-color:rgba(249, 249, 247, 0.8)}
.bg-surface\/90{background-color:rgba(249, 249, 247, 0.9)}
.bg-surface_container_lowest{background-color:#ffffff}
.bg-surface{background-color:#f9f9f7}
.bg-transparent{background-color:transparent}
.bg-white{background-color:#ffffff}
.block{display:block}
.blur-3xl{filter:blur(64px)}
.border-0{border-width:0px;border-style:solid}
.border-2{border-width:2px;border-style:solid}
.border-b-2{border-bottom-width:2px;border-style:solid}
.border-b{border-bottom-width:1px;border-style:solid}
.border-current{border-color:currentColor}
.border-l-2{border-left-width:2px;border-style:solid}
.border-l{border-left-width:1px;border-style:solid}
.border-none{border-style:none}
.border-on-background\/10{border-color:rgba(26, 28, 27, 0.1)}
.border-on-surface\/10{border-color:rgba(26, 28, 27, 0.1)}
.border-on-surface\/5{border-color:rgba(26, 28, 27, 0.05)}
.border-outline-variant\/10{border-color:rgba(192, 200, 196, 0.1)}
.border-outline-variant\/20{border-color:rgba(192, 200, 196, 0.2)}
.border-outline-variant\/30{border-color:rgba(192, 200, 196, 0.3)}
.border-outline-variant\/50{border-color:rgba(192, 200, 196, 0.5)}
.border-outline-variant{border-color:#c0c8c4}
.border-outline\/10{border-color:rgba(113, 121, 117, 0.1)}
.border-outline{border-color:#717975}
.border-primary-fixed-dim{border-color:#a6cfc1}
.border-primary\/10{border-color:rgba(0, 41, 32, 0.1)}
.border-primary\/20{border-color:rgba(0, 41, 32, 0.2)}
.border-primary\/30{border-color:rgba(0, 41, 32, 0.3)}
.border-primary{border-color:#002920}
.border-r{border-right-width:1px;border-style:solid}
.border-secondary\/30{border-color:rgba(117, 90, 42, 0.3)}
.border-secondary{border-color:#755a2a}
.border-solid{border-style:solid}
.border-surface-container-low\/10{border-color:rgba(243, 244, 241, 0.1)}
.border-surface-container-low{border-color:#f3f4f1}
.border-surface-variant{border-color:#e2e3e0}
.border-surface{border-color:#f9f9f7}
.border-transparent{border-color:transparent}
.border-t{border-top-width:1px;border-style:solid}
.border-white{border-color:#ffffff}
.border-y{border-top-width:1px;border-bottom-width:1px;border-style:solid}
.border{border-width:1px;border-style:solid}
.bottom-0{bottom:0px}
.col-span-12{grid-column:span 12 / span 12}
.col-span-1{grid-column:span 1 / span 1}
.col-span-6{grid-column:span 6 / span 6}
.cursor-default{cursor:default}
.cursor-pointer{cursor:pointer}
.dark .dark\:bg-background{background-color:#f9f9f7}
.dark .dark\:bg-inverse-surface{background-color:#2f3130}
.dark .dark\:bg-surface-container-highest{background-color:#e2e3e0}
.dark .dark\:bg-surface-container-high{background-color:#e8e8e6}
.dark .dark\:bg-surface{background-color:#f9f9f7}
.dark .dark\:border-on-primary-fixed-variant\/10{border-color:rgba(39, 78, 67, 0.1)}
.dark .dark\:border-on-surface-variant\/10{border-color:rgba(65, 72, 69, 0.1)}
.dark .dark\:border-outline-variant\/10{border-color:rgba(192, 200, 196, 0.1)}
.dark .dark\:border-primary-fixed{border-color:#c1ecdd}
.dark .dark\:border-surface-container-high{border-color:#e8e8e6}
.dark .dark\:focus\:ring-primary-fixed:focus{--ca-ring-color:#c1ecdd}
.dark .dark\:hover\:text-primary-fixed:hover{color:#c1ecdd}
.dark .dark\:hover\:text-secondary-fixed-dim:hover{color:#e5c188}
.dark .dark\:hover\:text-secondary-fixed:hover{color:#ffdea9}
.dark .dark\:text-on-surface-variant{color:#414845}
.dark .dark\:text-outline-variant{color:#c0c8c4}
.dark .dark\:text-outline{color:#717975}
.dark .dark\:text-primary-fixed-dim{color:#a6cfc1}
.dark .dark\:text-primary-fixed{color:#c1ecdd}
.duration-300{transition-duration:300ms}
.duration-500{transition-duration:500ms}
.duration-700{transition-duration:700ms}
.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}
.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}
.fixed{position:fixed}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-grow{flex-grow:1}
.flex-row{flex-direction:row}
.flex-shrink-0{flex-shrink:0}
.flex-wrap{flex-wrap:wrap}
.flex{display:flex}
.focus-within\:border-primary:focus-within{border-color:#002920}
.focus\:border-primary:focus{border-color:#002920}
.focus\:border-secondary:focus{border-color:#755a2a}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.focus\:ring-0:focus{box-shadow:0 0 0 var(--ca-ring-offset-width,0) var(--ca-ring-offset-color,#f9f9f7),0 0 0 calc(0px + var(--ca-ring-offset-width,0)) var(--ca-ring-color,#002920)}
.focus\:ring-1:focus{box-shadow:0 0 0 var(--ca-ring-offset-width,0) var(--ca-ring-offset-color,#f9f9f7),0 0 0 calc(1px + var(--ca-ring-offset-width,0)) var(--ca-ring-color,#002920)}
.focus\:ring-2:focus{box-shadow:0 0 0 var(--ca-ring-offset-width,0) var(--ca-ring-offset-color,#f9f9f7),0 0 0 calc(2px + var(--ca-ring-offset-width,0)) var(--ca-ring-color,#002920)}
.focus\:ring-offset-0:focus{--ca-ring-offset-width:0px}
.focus\:ring-offset-2:focus{--ca-ring-offset-width:2px}
.focus\:ring-offset-surface:focus{--ca-ring-offset-color:#f9f9f7}
.focus\:ring-primary:focus{--ca-ring-color:#002920}
.font-body-lg{font-family:"DM Sans",sans-serif}
.font-body-md{font-family:"DM Sans",sans-serif}
.font-bold{font-weight:700}
.font-display-lg-mobile{font-family:"Playfair Display",serif}
.font-display-lg{font-family:"Playfair Display",serif}
.font-display-sm{font-family:"Playfair Display",serif}
.font-headline-md{font-family:"Playfair Display",serif}
.font-headline-sm{font-family:"Playfair Display",serif}
.font-label-caps{font-family:"DM Sans",sans-serif}
.font-light{font-weight:300}
.font-medium{font-weight:500}
.gap-0{gap:0px}
.gap-12{gap:3rem}
.gap-1{gap:0.25rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-gutter{gap:24px}
.gap-px{gap:1px}
.gap-x-12{column-gap:3rem}
.gap-x-8{column-gap:2rem}
.gap-x-gutter{column-gap:24px}
.gap-y-16{row-gap:4rem}
.gap-y-24{row-gap:6rem}
.gap-y-4{row-gap:1rem}
.gap-y-6{row-gap:1.5rem}
.gap-y-8{row-gap:2rem}
.grayscale{filter:grayscale(100%)}
.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid{display:grid}
.group:focus-within .group-focus-within\:text-primary{color:#002920}
.group:hover .group-hover\:bg-primary\/20{background-color:rgba(0, 41, 32, 0.2)}
.group:hover .group-hover\:border-primary{border-color:#002920}
.group:hover .group-hover\:opacity-0{opacity:0}
.group:hover .group-hover\:opacity-100{opacity:1}
.group:hover .group-hover\:opacity-70{opacity:0.7}
.group:hover .group-hover\:scale-105{--ca-scx:1.05;--ca-scy:1.05;transform:translateX(var(--ca-tx,0)) translateY(var(--ca-ty,0)) rotate(var(--ca-rot,0)) skewX(var(--ca-skx,0)) skewY(var(--ca-sky,0)) scaleX(var(--ca-scx,1)) scaleY(var(--ca-scy,1))}
.group:hover .group-hover\:text-primary{color:#002920}
.group:hover .group-hover\:text-secondary{color:#755a2a}
.group:hover .group-hover\:translate-x-0{--ca-tx:0px;transform:translateX(var(--ca-tx,0)) translateY(var(--ca-ty,0)) rotate(var(--ca-rot,0)) skewX(var(--ca-skx,0)) skewY(var(--ca-sky,0)) scaleX(var(--ca-scx,1)) scaleY(var(--ca-scy,1))}
.group:hover .group-hover\:translate-x-1{--ca-tx:0.25rem;transform:translateX(var(--ca-tx,0)) translateY(var(--ca-ty,0)) rotate(var(--ca-rot,0)) skewX(var(--ca-skx,0)) skewY(var(--ca-sky,0)) scaleX(var(--ca-scx,1)) scaleY(var(--ca-scy,1))}
.group:hover .group-hover\:translate-x-2{--ca-tx:0.5rem;transform:translateX(var(--ca-tx,0)) translateY(var(--ca-ty,0)) rotate(var(--ca-rot,0)) skewX(var(--ca-skx,0)) skewY(var(--ca-sky,0)) scaleX(var(--ca-scx,1)) scaleY(var(--ca-scy,1))}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-16{height:4rem}
.h-1\/2{height:50%}
.h-1\/3{height:33.333333%}
.h-1{height:0.25rem}
.h-24{height:6rem}
.h-2\/3{height:66.666667%}
.h-32{height:8rem}
.h-3{height:0.75rem}
.h-48{height:12rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-64{height:16rem}
.h-\[1px\]{height:1px}
.h-\[26px\]{height:26px}
.h-\[300px\]{height:300px}
.h-\[400px\]{height:400px}
.h-\[500px\]{height:500px}
.h-\[600px\]{height:600px}
.h-\[60vh\]{height:60vh}
.h-\[8px\]{height:8px}
.h-auto{height:auto}
.h-full{height:100%}
.h-px{height:1px}
.hidden{display:none}
.hover\:bg-on-primary-fixed-variant:hover{background-color:#274e43}
.hover\:bg-on-surface:hover{background-color:#1a1c1b}
.hover\:bg-primary-container:hover{background-color:#173f35}
.hover\:bg-primary-fixed-dim\/10:hover{background-color:rgba(166, 207, 193, 0.1)}
.hover\:bg-primary:hover{background-color:#002920}
.hover\:bg-primary\/90:hover{background-color:rgba(0, 41, 32, 0.9)}
.hover\:bg-secondary-container:hover{background-color:#fcd89c}
.hover\:bg-secondary-container\/50:hover{background-color:rgba(252, 216, 156, 0.5)}
.hover\:bg-secondary-fixed:hover{background-color:#ffdea9}
.hover\:bg-secondary:hover{background-color:#755a2a}
.hover\:bg-secondary\/10:hover{background-color:rgba(117, 90, 42, 0.1)}
.hover\:bg-surface-container-high:hover{background-color:#e8e8e6}
.hover\:bg-surface-container-low:hover{background-color:#f3f4f1}
.hover\:bg-surface-container:hover{background-color:#eeeeec}
.hover\:bg-surface-dim:hover{background-color:#dadad8}
.hover\:bg-surface:hover{background-color:#f9f9f7}
.hover\:border-primary:hover{border-color:#002920}
.hover\:border-primary\/20:hover{border-color:rgba(0, 41, 32, 0.2)}
.hover\:border-primary\/30:hover{border-color:rgba(0, 41, 32, 0.3)}
.hover\:border-primary\/50:hover{border-color:rgba(0, 41, 32, 0.5)}
.hover\:border-secondary:hover{border-color:#755a2a}
.hover\:grayscale-0:hover{filter:grayscale(0)}
.hover\:opacity-100:hover{opacity:1}
.hover\:opacity-80:hover{opacity:0.8}
.hover\:opacity-90:hover{opacity:0.9}
.hover\:scale-105:hover{--ca-scx:1.05;--ca-scy:1.05;transform:translateX(var(--ca-tx,0)) translateY(var(--ca-ty,0)) rotate(var(--ca-rot,0)) skewX(var(--ca-skx,0)) skewY(var(--ca-sky,0)) scaleX(var(--ca-scx,1)) scaleY(var(--ca-scy,1))}
.hover\:shadow-\[0_20px_40px_-15px_rgba\(0\,41\,32\,0\.05\)\]:hover{box-shadow:0 20px 40px -15px rgba(0,41,32,0.05)}
.hover\:shadow-\[0_20px_40px_-15px_rgba\(0\,41\,32\,0\.15\)\]:hover{box-shadow:0 20px 40px -15px rgba(0,41,32,0.15)}
.hover\:shadow-\[0_20px_40px_-15px_rgba\(0\,41\,32\,0\.1\)\]:hover{box-shadow:0 20px 40px -15px rgba(0,41,32,0.1)}
.hover\:shadow-\[0_20px_40px_rgba\(0\,41\,32\,0\.08\)\]:hover{box-shadow:0 20px 40px rgba(0,41,32,0.08)}
.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1)}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1)}
.hover\:text-on-primary:hover{color:#ffffff}
.hover\:text-on-secondary-container:hover{color:#775d2d}
.hover\:text-on-secondary:hover{color:#ffffff}
.hover\:text-primary:hover{color:#002920}
.hover\:text-secondary:hover{color:#755a2a}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.inset-0{top:0;right:0;bottom:0;left:0}
.inset-y-0{top:0;bottom:0}
.italic{font-style:italic}
.items-baseline{align-items:baseline}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.leading-relaxed{line-height:1.625}
.leading-snug{line-height:1.375}
.leading-tight{line-height:1.25}
.left-0{left:0px}
.left-1\/2{left:50%}
.left-2{left:0.5rem}
.left-4{left:1rem}
.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-\[1440px\]{max-width:1440px}
.max-w-lg{max-width:32rem}
.max-w-md{max-width:28rem}
.max-w-sm{max-width:24rem}
.max-w-xl{max-width:36rem}
.max-w-xs{max-width:20rem}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-16{margin-bottom:4rem}
.mb-1{margin-bottom:0.25rem}
.mb-24{margin-bottom:6rem}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-section-gap{margin-bottom:120px}
.min-h-\[200px\]{min-height:200px}
.min-h-\[500px\]{min-height:500px}
.min-h-\[80vh\]{min-height:80vh}
.min-h-screen{min-height:100vh}
.min-w-\[120px\]{min-width:120px}
.min-w-\[140px\]{min-width:140px}
.mix-blend-luminosity{mix-blend-mode:luminosity}
.mix-blend-multiply{mix-blend-mode:multiply}
.ml-2{margin-left:0.5rem}
.ml-4{margin-left:1rem}
.mr-1{margin-right:0.25rem}
.mr-2{margin-right:0.5rem}
.mt-12{margin-top:3rem}
.mt-16{margin-top:4rem}
.mt-1{margin-top:0.25rem}
.mt-20{margin-top:5rem}
.mt-24{margin-top:6rem}
.mt-2{margin-top:0.5rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mt-auto{margin-top:auto}
.mt-section-gap{margin-top:120px}
.mx-auto{margin-left:auto;margin-right:auto}
.my-4{margin-top:1rem;margin-bottom:1rem}
.object-contain{object-fit:contain}
.object-cover{object-fit:cover}
.opacity-0{opacity:0}
.opacity-10{opacity:0.1}
.opacity-60{opacity:0.6}
.opacity-70{opacity:0.7}
.opacity-75{opacity:0.75}
.opacity-80{opacity:0.8}
.opacity-90{opacity:0.9}
.order-1{order:1}
.order-2{order:2}
.origin-top-left{transform-origin:top left}
.outline-none{outline:2px solid transparent;outline-offset:2px}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-x-hidden{overflow-x:hidden}
.p-0{padding:0px}
.p-12{padding:3rem}
.p-2{padding:0.5rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.p-margin-mobile{padding:20px}
.pb-0{padding-bottom:0px}
.pb-12{padding-bottom:3rem}
.pb-16{padding-bottom:4rem}
.pb-1{padding-bottom:0.25rem}
.pb-2{padding-bottom:0.5rem}
.pb-4{padding-bottom:1rem}
.pb-6{padding-bottom:1.5rem}
.pb-8{padding-bottom:2rem}
.pb-section-gap{padding-bottom:120px}
.peer:checked ~ .peer-checked\:bg-surface-container-low{background-color:#f3f4f1}
.peer:checked ~ .peer-checked\:border-primary{border-color:#002920}
.peer:checked ~ .peer-checked\:opacity-100{opacity:1}
.peer:checked ~ .peer-checked\:text-primary{color:#002920}
.peer:focus ~ .peer-focus\:-top-4{top:-1rem}
.peer:focus ~ .peer-focus\:text-label-caps{font-size:12px;line-height:1.0;letter-spacing:0.15em;font-weight:500}
.peer:focus ~ .peer-focus\:text-primary{color:#002920}
.peer:placeholder-shown ~ .peer-placeholder-shown\:text-body-md{font-size:16px;line-height:1.6;font-weight:400}
.peer:placeholder-shown ~ .peer-placeholder-shown\:top-2{top:0.5rem}
.pl-0{padding-left:0px}
.pl-12{padding-left:3rem}
.pl-6{padding-left:1.5rem}
.pl-8{padding-left:2rem}
.placeholder-outline\/50::placeholder{color:rgba(113, 121, 117, 0.5)}
.placeholder-transparent::placeholder{color:transparent}
.placeholder\:text-on-surface-variant\/50::placeholder{color:rgba(65, 72, 69, 0.5)}
.placeholder\:text-outline-variant::placeholder{color:#c0c8c4}
.placeholder\:text-outline::placeholder{color:#717975}
.pointer-events-none{pointer-events:none}
.pr-0{padding-right:0px}
.pr-4{padding-right:1rem}
.pr-8{padding-right:2rem}
.pt-12{padding-top:3rem}
.pt-16{padding-top:4rem}
.pt-1{padding-top:0.25rem}
.pt-20{padding-top:5rem}
.pt-24{padding-top:6rem}
.pt-32{padding-top:8rem}
.pt-4{padding-top:1rem}
.pt-6{padding-top:1.5rem}
.pt-8{padding-top:2rem}
.pt-\[120px\]{padding-top:120px}
.pt-section-gap{padding-top:120px}
.px-0{padding-left:0px;padding-right:0px}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.px-1{padding-left:0.25rem;padding-right:0.25rem}
.px-2{padding-left:0.5rem;padding-right:0.5rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.px-margin-desktop{padding-left:80px;padding-right:80px}
.px-margin-mobile{padding-left:20px;padding-right:20px}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-32{padding-top:8rem;padding-bottom:8rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-section-gap{padding-top:120px;padding-bottom:120px}
.relative{position:relative}
.resize-none{resize:none}
.right-0{right:0px}
.right-4{right:1rem}
.right-8{right:2rem}
.ring-4{box-shadow:0 0 0 var(--ca-ring-offset-width,0) var(--ca-ring-offset-color,#f9f9f7),0 0 0 calc(4px + var(--ca-ring-offset-width,0)) var(--ca-ring-color,#002920)}
.ring-background{--ca-ring-color:#f9f9f7}
.rounded-DEFAULT{border-radius:0.125rem}
.rounded-bl-full{border-bottom-left-radius:9999px}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:0.25rem}
.rounded-none{border-radius:0px}
.rounded-sm{border-radius:0.125rem}
.rounded-xl{border-radius:0.5rem}
.rounded{border-radius:0.125rem}
.scroll-mt-32{scroll-margin-top:8rem}
.scroll-smooth{scroll-behavior:smooth}
.selection\:bg-primary-container::selection{background-color:#173f35}
.selection\:bg-primary-fixed::selection{background-color:#c1ecdd}
.selection\:bg-primary::selection{background-color:#002920}
.selection\:bg-secondary-container::selection{background-color:#fcd89c}
.selection\:bg-secondary::selection{background-color:#755a2a}
.selection\:text-on-primary-container::selection{color:#82aa9d}
.selection\:text-on-primary-fixed::selection{color:#002019}
.selection\:text-on-primary::selection{color:#ffffff}
.selection\:text-on-secondary-container::selection{color:#775d2d}
.selection\:text-on-secondary::selection{color:#ffffff}
.self-start{align-self:flex-start}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}
.shadow-\[0_4px_40px_-15px_rgba\(0\,0\,0\,0\.05\)\]{box-shadow:0 4px 40px -15px rgba(0,0,0,0.05)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1)}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}
.shrink-0{flex-shrink:0}
.space-x-2 > :not([hidden]) ~ :not([hidden]){margin-left:0.5rem}
.space-x-4 > :not([hidden]) ~ :not([hidden]){margin-left:1rem}
.space-x-6 > :not([hidden]) ~ :not([hidden]){margin-left:1.5rem}
.space-x-8 > :not([hidden]) ~ :not([hidden]){margin-left:2rem}
.space-y-0 > :not([hidden]) ~ :not([hidden]){margin-top:0px}
.space-y-1 > :not([hidden]) ~ :not([hidden]){margin-top:0.25rem}
.space-y-12 > :not([hidden]) ~ :not([hidden]){margin-top:3rem}
.space-y-24 > :not([hidden]) ~ :not([hidden]){margin-top:6rem}
.space-y-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem}
.space-y-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem}
.space-y-6 > :not([hidden]) ~ :not([hidden]){margin-top:1.5rem}
.space-y-8 > :not([hidden]) ~ :not([hidden]){margin-top:2rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.sticky{position:sticky}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-\[10px\]{font-size:10px}
.text-\[11px\]{font-size:11px}
.text-\[14px\]{font-size:14px}
.text-\[16px\]{font-size:16px}
.text-\[18px\]{font-size:18px}
.text-\[20px\]{font-size:20px}
.text-\[24px\]{font-size:24px}
.text-body-lg{font-size:18px;line-height:1.6;font-weight:400}
.text-body-md{font-size:16px;line-height:1.6;font-weight:400}
.text-center{text-align:center}
.text-display-lg-mobile{font-size:40px;line-height:1.2;font-weight:400}
.text-display-lg{font-size:64px;line-height:1.1;letter-spacing:-0.02em;font-weight:400}
.text-headline-md{font-size:32px;line-height:1.3;font-weight:400}
.text-headline-sm{font-size:24px;line-height:1.4;font-weight:400}
.text-label-caps{font-size:12px;line-height:1.0;letter-spacing:0.15em;font-weight:500}
.text-left{text-align:left}
.text-on-background{color:#1a1c1b}
.text-on-primary-container{color:#82aa9d}
.text-on-primary\/80{color:rgba(255, 255, 255, 0.8)}
.text-on-primary{color:#ffffff}
.text-on-secondary-container{color:#775d2d}
.text-on-secondary{color:#ffffff}
.text-on-surface-variant\/50{color:rgba(65, 72, 69, 0.5)}
.text-on-surface-variant{color:#414845}
.text-on-surface{color:#1a1c1b}
.text-outline-variant{color:#c0c8c4}
.text-outline{color:#717975}
.text-primary-fixed-dim{color:#a6cfc1}
.text-primary\/40{color:rgba(0, 41, 32, 0.4)}
.text-primary\/50{color:rgba(0, 41, 32, 0.5)}
.text-primary{color:#002920}
.text-right{text-align:right}
.text-secondary\/70{color:rgba(117, 90, 42, 0.7)}
.text-secondary\/80{color:rgba(117, 90, 42, 0.8)}
.text-secondary{color:#755a2a}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-surface-container-low{color:#f3f4f1}
.text-surface-variant{color:#e2e3e0}
.text-transparent{color:transparent}
.text-white{color:#ffffff}
.top-0{top:0px}
.top-1\/2{top:50%}
.top-1{top:0.25rem}
.top-2{top:0.5rem}
.top-32{top:8rem}
.top-4{top:1rem}
.top-8{top:2rem}
.tracking-tight{letter-spacing:-0.025em}
.tracking-wider{letter-spacing:0.05em}
.tracking-widest{letter-spacing:0.1em}
.transform{transform:translateX(var(--ca-tx,0)) translateY(var(--ca-ty,0)) rotate(var(--ca-rot,0)) skewX(var(--ca-skx,0)) skewY(var(--ca-sky,0)) scaleX(var(--ca-scx,1)) scaleY(var(--ca-scy,1))}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.translate-x-\[-10px\]{--ca-tx:-10px;transform:translateX(var(--ca-tx,0)) translateY(var(--ca-ty,0)) rotate(var(--ca-rot,0)) skewX(var(--ca-skx,0)) skewY(var(--ca-sky,0)) scaleX(var(--ca-scx,1)) scaleY(var(--ca-scy,1))}
.underline{text-decoration-line:underline}
.uppercase{text-transform:uppercase}
.w-0\.5{width:0.125rem}
.w-10{width:2.5rem}
.w-12{width:3rem}
.w-16{width:4rem}
.w-1\/4{width:25%}
.w-1{width:0.25rem}
.w-20{width:5rem}
.w-24{width:6rem}
.w-32{width:8rem}
.w-3{width:0.75rem}
.w-48{width:12rem}
.w-4{width:1rem}
.w-5{width:1.25rem}
.w-64{width:16rem}
.w-8{width:2rem}
.w-\[26px\]{width:26px}
.w-\[8px\]{width:8px}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
.z-10{z-index:10}
.z-20{z-index:20}
.z-50{z-index:50}

@media (min-width:640px){
.sm\:border-l{border-left-width:1px;border-style:solid}
.sm\:border-outline-variant\/30{border-color:rgba(192, 200, 196, 0.3)}
.sm\:flex-row{flex-direction:row}
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sm\:pl-6{padding-left:1.5rem}
.sm\:w-auto{width:auto}
}

@media (min-width:768px){
.md\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}
.md\:-ml-12{margin-left:-3rem}
.md\:absolute{position:absolute}
.md\:aspect-\[3\/2\]{aspect-ratio:3 / 2}
.md\:aspect-\[4\/5\]{aspect-ratio:4 / 5}
.md\:block{display:block}
.md\:border-l{border-left-width:1px;border-style:solid}
.md\:border-outline-variant\/20{border-color:rgba(192, 200, 196, 0.2)}
.md\:col-span-12{grid-column:span 12 / span 12}
.md\:col-span-2{grid-column:span 2 / span 2}
.md\:col-span-3{grid-column:span 3 / span 3}
.md\:col-span-4{grid-column:span 4 / span 4}
.md\:col-span-5{grid-column:span 5 / span 5}
.md\:col-span-6{grid-column:span 6 / span 6}
.md\:col-span-7{grid-column:span 7 / span 7}
.md\:col-span-8{grid-column:span 8 / span 8}
.md\:col-span-9{grid-column:span 9 / span 9}
.md\:col-start-1{grid-column-start:1}
.md\:col-start-2{grid-column-start:2}
.md\:col-start-3{grid-column-start:3}
.md\:col-start-5{grid-column-start:5}
.md\:col-start-6{grid-column-start:6}
.md\:col-start-7{grid-column-start:7}
.md\:col-start-8{grid-column-start:8}
.md\:flex-col{flex-direction:column}
.md\:flex-grow-0{flex-grow:0}
.md\:flex-row{flex-direction:row}
.md\:flex{display:flex}
.md\:font-display-lg{font-family:"Playfair Display",serif}
.md\:font-headline-md{font-family:"Playfair Display",serif}
.md\:gap-12{gap:3rem}
.md\:gap-16{gap:4rem}
.md\:gap-gutter{gap:24px}
.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.md\:h-\[700px\]{height:700px}
.md\:h-auto{height:auto}
.md\:h-full{height:100%}
.md\:hidden{display:none}
.md\:inline-block{display:inline-block}
.md\:inline-flex{display:inline-flex}
.md\:inset-y-0{top:0;bottom:0}
.md\:items-center{align-items:center}
.md\:items-end{align-items:flex-end}
.md\:justify-center{justify-content:center}
.md\:justify-end{justify-content:flex-end}
.md\:mb-0{margin-bottom:0px}
.md\:mb-section-gap{margin-bottom:120px}
.md\:mt-0{margin-top:0px}
.md\:order-1{order:1}
.md\:order-2{order:2}
.md\:origin-right{transform-origin:right}
.md\:p-12{padding:3rem}
.md\:p-16{padding:4rem}
.md\:p-24{padding:6rem}
.md\:p-margin-desktop{padding:80px}
.md\:pb-0{padding-bottom:0px}
.md\:pb-12{padding-bottom:3rem}
.md\:pl-6{padding-left:1.5rem}
.md\:pl-8{padding-left:2rem}
.md\:pr-12{padding-right:3rem}
.md\:pt-0{padding-top:0px}
.md\:pt-12{padding-top:3rem}
.md\:pt-24{padding-top:6rem}
.md\:pt-section-gap{padding-top:120px}
.md\:px-margin-desktop{padding-left:80px;padding-right:80px}
.md\:py-24{padding-top:6rem;padding-bottom:6rem}
.md\:py-32{padding-top:8rem;padding-bottom:8rem}
.md\:py-section-gap{padding-top:120px;padding-bottom:120px}
.md\:right-0{right:0px}
.md\:text-display-lg{font-size:64px;line-height:1.1;letter-spacing:-0.02em;font-weight:400}
.md\:text-headline-md{font-size:32px;line-height:1.3;font-weight:400}
.md\:text-left{text-align:left}
.md\:text-right{text-align:right}
.md\:w-1\/2{width:50%}
.md\:w-64{width:16rem}
.md\:w-8\/12{width:66.666667%}
.md\:w-auto{width:auto}
}

@media (min-width:1024px){
.lg\:-mt-12{margin-top:-3rem}
.lg\:block{display:block}
.lg\:border-l{border-left-width:1px;border-style:solid}
.lg\:border-t-0{border-top-width:0px;border-style:solid}
.lg\:col-span-2{grid-column:span 2 / span 2}
.lg\:col-span-3{grid-column:span 3 / span 3}
.lg\:col-span-4{grid-column:span 4 / span 4}
.lg\:col-span-5{grid-column:span 5 / span 5}
.lg\:col-span-6{grid-column:span 6 / span 6}
.lg\:col-span-7{grid-column:span 7 / span 7}
.lg\:col-span-8{grid-column:span 8 / span 8}
.lg\:col-span-9{grid-column:span 9 / span 9}
.lg\:col-start-6{grid-column-start:6}
.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lg\:justify-start{justify-content:flex-start}
.lg\:mb-0{margin-bottom:0px}
.lg\:mt-0{margin-top:0px}
.lg\:pl-12{padding-left:3rem}
.lg\:pt-0{padding-top:0px}
.lg\:sticky{position:sticky}
.lg\:top-32{top:8rem}
}

/* Responsive hardening: keep the established desktop header from 1024px up. */
@media (min-width:768px) and (max-width:1023.98px){
.site-header .header-desktop-nav,
.site-header .header-language-desktop,
.site-header .header-desktop-cta{display:none}
.site-header .tablet-menu-toggle{display:inline-flex;align-items:center;justify-content:center}
.site-header .tablet-mobile-menu{display:block}
}

@media (max-width:1023.98px){
.site-header .menu-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.site-header .menu-toggle-glyph{display:block;font-family:Arial,sans-serif;font-size:26px;line-height:1}
.site-header .mobile-menu{max-height:calc(100dvh - 93px);overflow-y:auto;overscroll-behavior:contain}
.site-header .mobile-menu nav > a,
.site-header .mobile-menu nav > ul a,
.site-header .mobile-menu nav > .nav-link{display:flex;align-items:center;min-height:44px}
.site-header .mobile-menu .btn-primary{justify-content:center}
.expertise-filter-list{flex-wrap:wrap;overflow-x:visible}
.expertise-filter-list .whitespace-nowrap{white-space:normal}
}

@media (max-width:767.98px){
button,.btn-primary,.btn-secondary,input,select,textarea{max-width:100%}
[data-expertise-filters] button,
[data-journal-filters] button,
[data-event-filters] button,
[data-team-filter],
[data-team-card] a,
.site-footer a,
.studio-pricing-button{min-height:44px}
[data-expertise-filters] button,
[data-journal-filters] button,
[data-event-filters] button{display:inline-flex;align-items:center}
[data-team-card] a{align-items:center;padding-block:.5rem}
.site-footer a{display:flex;align-items:center}
input,select{min-height:44px}
textarea{overflow-wrap:anywhere}
}

@media (min-width:768px) and (max-width:1023.98px){
.site-footer > .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-footer > .grid > div{grid-column:auto!important;grid-column-start:auto!important}
.site-footer > .grid > div:first-child,.site-footer > .grid > div:last-child{grid-column:1/-1!important}
[data-expertise-grid] > [data-categories]{grid-column:span 6 / span 6!important}
.osteopathy-page-hero h1{font-size:36px;line-height:1.2}
.rehabilitation-page-hero h1{font-size:40px;line-height:1.2}
#readaptation-method h4{font-size:22px;line-height:1.3}
}

/* =========================================================================
 * Charte graphique — beige #F3ECE2
 * ====================================================================== */
:root{--ca-beige:#F3ECE2}

/* Boutons : au survol, fond beige + texte vert de la charte. */
a.btn-primary:hover,button.btn-primary:hover,
a.hover\:bg-primary:hover,button.hover\:bg-primary:hover,
a.hover\:bg-primary-container:hover,button.hover\:bg-primary-container:hover,
a.hover\:bg-on-surface:hover,button.hover\:bg-on-surface:hover,
a.hover\:bg-on-primary-fixed-variant:hover,button.hover\:bg-on-primary-fixed-variant:hover,
a.hover\:bg-primary\/90:hover,button.hover\:bg-primary\/90:hover,
a.hover\:bg-secondary:hover,button.hover\:bg-secondary:hover,
a.hover\:bg-secondary\/10:hover,button.hover\:bg-secondary\/10:hover,
a.btn-secondary:hover,button.btn-secondary:hover{
	background-color:var(--ca-beige)!important;
	color:#002920!important;
	opacity:1;
	box-shadow:inset 0 0 0 1px #002920;
}

/* Filtres et cartes interactives. */
.ca-filter:hover,.ca-filter.is-active{background-color:var(--ca-beige)}

/* Deuxièmes titres (H2) sur fond vert foncé. */
.bg-primary h2,.bg-primary-container h2{color:var(--ca-beige)}

/* Contenu des articles. */
.ca-article-content h2,.ca-article-content h3{color:#002920;font-family:inherit;margin-top:2.5rem}
.ca-article-content a{color:#755a2a;text-decoration:underline}
.ca-article-content a:hover{background-color:var(--ca-beige)}
.ca-article-content img{max-width:100%;height:auto}

/* =========================================================================
 * Réservation — fenêtre de prise de rendez-vous (assets/js/booking.js)
 * ====================================================================== */
.ca-bk-lock{overflow:hidden}
.ca-bk[hidden]{display:none}
.ca-bk{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}
.ca-bk-backdrop{position:absolute;inset:0;background:rgba(0,41,32,.45)}
.ca-bk-dialog{position:relative;background:#f9f9f7;width:100%;max-width:920px;max-height:92vh;overflow:auto;padding:40px;border:1px solid rgba(0,41,32,.15)}
.ca-bk-close{position:absolute;top:12px;right:16px;font-size:32px;line-height:1;color:#002920;background:none;border:0;cursor:pointer}
.ca-bk-title{font-family:'Playfair Display',serif;font-size:2rem;color:#002920;margin:0 0 24px}
.ca-bk-body{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:768px){.ca-bk-body{grid-template-columns:1fr 1fr}}
.ca-bk-label{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#755a2a;margin:0 0 8px}
.ca-bk-pick{margin-bottom:20px}
.ca-bk select,.ca-bk input[type=text],.ca-bk input[type=email],.ca-bk input[type=tel],.ca-bk textarea{width:100%;border:1px solid rgba(0,41,32,.3);background:#fff;padding:10px 12px;font:inherit;border-radius:2px}
.ca-bk select:focus,.ca-bk input:focus,.ca-bk textarea:focus{outline:2px solid #755a2a;outline-offset:1px}
.ca-bk-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ca-bk-month{font-weight:500;text-transform:capitalize;color:#002920}
.ca-bk-nav{width:36px;height:36px;border:1px solid rgba(0,41,32,.3);background:#fff;color:#002920;cursor:pointer;font-size:20px}
.ca-bk-nav:disabled{opacity:.35;cursor:not-allowed}
.ca-bk-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;transition:opacity .2s}
.ca-bk-cal.is-loading{opacity:.4}
.ca-bk-dow{font-size:.7rem;text-transform:uppercase;text-align:center;color:#6b6b6b;padding:4px 0}
.ca-bk-day{aspect-ratio:1;border:1px solid transparent;background:transparent;color:#1a1c1b;cursor:pointer;font:inherit}
.ca-bk-day.is-free{background:#fff;border-color:rgba(0,41,32,.2)}
.ca-bk-day.is-free:hover{background:#F3ECE2;border-color:#002920}
.ca-bk-day.is-off{color:#bbb;cursor:default}
.ca-bk-day.is-full{color:#b32d2e;background:rgba(179,45,46,.08);text-decoration:line-through;cursor:not-allowed}
.ca-bk-day.is-selected{background:#002920;color:#fff;border-color:#002920}
.ca-bk-legend{font-size:.8rem;color:#555;margin-top:12px}
.ca-bk-dot{display:inline-block;width:10px;height:10px;border:1px solid rgba(0,41,32,.3);vertical-align:middle}
.ca-bk-dot--free{background:#fff}
.ca-bk-dot--busy{background:rgba(179,45,46,.25);border-color:#b32d2e}
.ca-bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-bottom:20px}
.ca-bk-slot{border:1px solid rgba(0,41,32,.3);background:#fff;color:#002920;padding:8px 4px;cursor:pointer;font:inherit}
.ca-bk-slot:hover{background:#F3ECE2}
.ca-bk-slot.is-selected{background:#002920;color:#fff}
.ca-bk-slot.is-booked{background:rgba(179,45,46,.08);border-color:rgba(179,45,46,.4);color:#b32d2e;text-decoration:line-through;cursor:not-allowed}
.ca-bk-slot small{display:block;font-size:.65rem;text-decoration:none}
.ca-bk-hint{grid-column:1/-1;color:#6b6b6b;font-size:.9rem}
.ca-bk-fields{display:grid;gap:12px;margin-bottom:12px}
.ca-bk-field{display:block}
.ca-bk-field span{display:block;font-size:.8rem;color:#444;margin-bottom:4px}
.ca-bk-honey{position:absolute!important;left:-9999px!important;height:0;width:0;opacity:0}
.ca-bk-summary{font-size:.9rem;color:#002920;margin:12px 0;min-height:1.2em}
.ca-bk-msg{font-size:.9rem;margin:0 0 12px}
.ca-bk-msg.is-error{color:#b32d2e}
.ca-bk-submit{background:#002920;color:#fff;padding:14px 24px;border:1px solid #002920;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;cursor:pointer;border-radius:2px}
.ca-bk-submit:hover{background:#F3ECE2;color:#002920}
.ca-bk-submit:disabled{opacity:.6;cursor:wait}
.ca-bk-done{text-align:center;padding:48px 0}
.ca-bk-done[hidden]{display:none}
.ca-bk-check{font-size:56px;color:#755a2a}
.ca-bk-done-text{max-width:420px;margin:16px auto 24px;color:#1a1c1b}
button[data-bk-open]{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit}
.ca-bk-resource{font-family:'Playfair Display',serif;font-size:1.25rem;color:#002920;margin:0}
.scroll-mt-28{scroll-margin-top:7rem}
