:root{--color-base: #faf9f7;--color-base-alt: #f5f4f2;--color-text-primary: #1a1a1a;--color-text-secondary: #5a5a5a;--color-text-muted: #8a8a8a;--color-accent: #2d7a8f;--color-accent-light: #4a9fb5;--color-accent-dark: #1f5565;--color-accent-subtle: rgba(45, 122, 143, .1);--color-night: #1e2a35;--color-night-light: #2a3a47;--color-night-subtle: rgba(30, 42, 53, .05);--color-border: #e0deda;--color-border-subtle: #f0efec;--color-nature: #4a7c59;--color-patrimoine: #8b6f47;--color-astronomie: #5b7fa8;--color-paysages: #7a6b5a;--color-randonnees: #6b8e9f;--color-protection: #5a8a6b;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2.5rem;--spacing-xl: 4rem;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-base: .2s ease;--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1)}.theme-night{background-color:var(--color-night);color:#f0f0f0}.theme-night h1,.theme-night h2,.theme-night h3,.theme-night h4,.theme-night h5,.theme-night h6{color:#fff}.theme-night .text-muted{color:#b0b0b0}.theme-night .btn-light{background-color:var(--color-base);color:var(--color-text-primary);border-color:var(--color-base)}.theme-night .btn-light:hover{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}body{background-color:var(--color-base);color:var(--color-text-primary);font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}section.bg-light:first-of-type{background:linear-gradient(to bottom,var(--color-base),var(--color-base-alt));padding:var(--spacing-xl) 0}section.bg-light:first-of-type h1{color:var(--color-text-primary);font-weight:var(--font-weight-bold);letter-spacing:-.02em;margin-bottom:var(--spacing-md)}section.bg-light:first-of-type .lead{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:1.5rem}section.bg-light:first-of-type p{color:var(--color-text-secondary);max-width:42rem;margin:0 auto;line-height:1.7}section.py-5.mb-5{padding:var(--spacing-xl) 0}section.py-5.mb-5 .stat-card{border-radius:.75rem;padding:var(--spacing-lg);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth);position:relative;overflow:hidden;color:#fff;border:none}section.py-5.mb-5 .stat-card .stat-card-icon{color:#fffffff2;transition:transform var(--transition-smooth)}section.py-5.mb-5 .stat-card .stat-card-number{font-size:2.25rem;letter-spacing:-.01em;margin-bottom:var(--spacing-xs);color:#fff}section.py-5.mb-5 .stat-card .stat-card-label{font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);color:#fffffff2}section.py-5.mb-5 .stat-card .stat-card-sublabel{font-size:.875rem;color:#fffc}section.py-5.mb-5 .stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0003}section.py-5.mb-5 .stat-card:hover .stat-card-icon{transform:scale(1.05)}section.py-5.mb-5 .stat-card-0{background:linear-gradient(145deg,#1b5e20,#2e7d32)}section.py-5.mb-5 .stat-card-1{background:linear-gradient(145deg,#0d47a1,#1565c0)}section.py-5.mb-5 .stat-card-2{background:linear-gradient(145deg,#1a237e,#283593)}section.py-5.mb-5 .stat-card-3{background:linear-gradient(145deg,#4e342e,#5d4037)}.card{border:1px solid var(--color-border);border-radius:.75rem;background:#fff;transition:all var(--transition-smooth);overflow:hidden;position:relative}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-accent-subtle);transition:width var(--transition-smooth),background var(--transition-smooth)}.card:hover{border-color:var(--color-accent);box-shadow:0 4px 16px #2d7a8f14;transform:translateY(-2px)}.card:hover:before{width:4px;background:var(--color-accent)}.card:hover svg{transform:rotate(2deg) scale(1.05)}.card .card-body{padding:var(--spacing-lg)}.card svg[class*=text-success]{color:var(--color-nature)!important}.card svg[class*=text-warning]{color:var(--color-patrimoine)!important}.card svg[class*=text-info]{color:var(--color-astronomie)!important}.card svg[class*=text-danger]{color:var(--color-paysages)!important}.card svg[class*=text-primary]{color:var(--color-randonnees)!important}.card h2,.card h3{color:var(--color-text-primary);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.card p.text-muted{color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--spacing-md)}.card ul.list-unstyled li{color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--spacing-sm)}.card ul.list-unstyled li svg{transition:transform var(--transition-base)}.card ul.list-unstyled li strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.card svg{transition:transform var(--transition-smooth)}main .btn,section .btn,.card .btn,.bg-primary .btn{border-radius:.5rem;font-weight:var(--font-weight-medium);padding:.625rem 1.5rem;transition:all var(--transition-smooth);border-width:1px;position:relative;overflow:hidden}main .btn.btn-primary,main .btn.btn-success,main .btn.btn-info,main .btn.btn-warning,main .btn.btn-danger,section .btn.btn-primary,section .btn.btn-success,section .btn.btn-info,section .btn.btn-warning,section .btn.btn-danger,.card .btn.btn-primary,.card .btn.btn-success,.card .btn.btn-info,.card .btn.btn-warning,.card .btn.btn-danger,.bg-primary .btn.btn-primary,.bg-primary .btn.btn-success,.bg-primary .btn.btn-info,.bg-primary .btn.btn-warning,.bg-primary .btn.btn-danger{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}main .btn.btn-primary:hover,main .btn.btn-success:hover,main .btn.btn-info:hover,main .btn.btn-warning:hover,main .btn.btn-danger:hover,section .btn.btn-primary:hover,section .btn.btn-success:hover,section .btn.btn-info:hover,section .btn.btn-warning:hover,section .btn.btn-danger:hover,.card .btn.btn-primary:hover,.card .btn.btn-success:hover,.card .btn.btn-info:hover,.card .btn.btn-warning:hover,.card .btn.btn-danger:hover,.bg-primary .btn.btn-primary:hover,.bg-primary .btn.btn-success:hover,.bg-primary .btn.btn-info:hover,.bg-primary .btn.btn-warning:hover,.bg-primary .btn.btn-danger:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-1px);box-shadow:0 4px 12px #2d7a8f4d}main .btn.btn-primary:active,main .btn.btn-success:active,main .btn.btn-info:active,main .btn.btn-warning:active,main .btn.btn-danger:active,section .btn.btn-primary:active,section .btn.btn-success:active,section .btn.btn-info:active,section .btn.btn-warning:active,section .btn.btn-danger:active,.card .btn.btn-primary:active,.card .btn.btn-success:active,.card .btn.btn-info:active,.card .btn.btn-warning:active,.card .btn.btn-danger:active,.bg-primary .btn.btn-primary:active,.bg-primary .btn.btn-success:active,.bg-primary .btn.btn-info:active,.bg-primary .btn.btn-warning:active,.bg-primary .btn.btn-danger:active{transform:translateY(0)}main .btn.btn-primary svg,main .btn.btn-success svg,main .btn.btn-info svg,main .btn.btn-warning svg,main .btn.btn-danger svg,section .btn.btn-primary svg,section .btn.btn-success svg,section .btn.btn-info svg,section .btn.btn-warning svg,section .btn.btn-danger svg,.card .btn.btn-primary svg,.card .btn.btn-success svg,.card .btn.btn-info svg,.card .btn.btn-warning svg,.card .btn.btn-danger svg,.bg-primary .btn.btn-primary svg,.bg-primary .btn.btn-success svg,.bg-primary .btn.btn-info svg,.bg-primary .btn.btn-warning svg,.bg-primary .btn.btn-danger svg{transition:transform var(--transition-base)}main .btn.btn-primary:hover svg,main .btn.btn-success:hover svg,main .btn.btn-info:hover svg,main .btn.btn-warning:hover svg,main .btn.btn-danger:hover svg,section .btn.btn-primary:hover svg,section .btn.btn-success:hover svg,section .btn.btn-info:hover svg,section .btn.btn-warning:hover svg,section .btn.btn-danger:hover svg,.card .btn.btn-primary:hover svg,.card .btn.btn-success:hover svg,.card .btn.btn-info:hover svg,.card .btn.btn-warning:hover svg,.card .btn.btn-danger:hover svg,.bg-primary .btn.btn-primary:hover svg,.bg-primary .btn.btn-success:hover svg,.bg-primary .btn.btn-info:hover svg,.bg-primary .btn.btn-warning:hover svg,.bg-primary .btn.btn-danger:hover svg{transform:translate(2px)}main .btn.btn-outline-primary,section .btn.btn-outline-primary,.card .btn.btn-outline-primary,.bg-primary .btn.btn-outline-primary{border-color:var(--color-accent);color:var(--color-accent);background:transparent}main .btn.btn-outline-primary:hover,section .btn.btn-outline-primary:hover,.card .btn.btn-outline-primary:hover,.bg-primary .btn.btn-outline-primary:hover{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}main .btn.btn-outline-primary svg,section .btn.btn-outline-primary svg,.card .btn.btn-outline-primary svg,.bg-primary .btn.btn-outline-primary svg{transition:transform var(--transition-base)}main .btn.btn-outline-primary:hover svg,section .btn.btn-outline-primary:hover svg,.card .btn.btn-outline-primary:hover svg,.bg-primary .btn.btn-outline-primary:hover svg{transform:translate(2px)}main .btn.btn-sm,section .btn.btn-sm,.card .btn.btn-sm,.bg-primary .btn.btn-sm{padding:.5rem 1rem;font-size:.875rem}a{color:var(--color-accent);text-decoration:none;transition:all var(--transition-base);position:relative}a:not(.btn):not(.card-title a):after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background-color:var(--color-accent);transition:width var(--transition-smooth)}a:not(.btn):not(.card-title a):hover{color:var(--color-accent-dark)}a:not(.btn):not(.card-title a):hover:after{width:100%}a.card-title{color:var(--color-text-primary)}a.card-title:hover{color:var(--color-accent)}section.bg-light.py-5{background:linear-gradient(to bottom,var(--color-base-alt),var(--color-base));padding:var(--spacing-xl) 0}section.bg-light.py-5 h2.h3.fw-bold.text-center{color:var(--color-text-primary);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xl)}section.bg-light.py-5 .col-md-4 .text-center.p-4{padding:var(--spacing-lg);border-radius:.75rem;transition:all var(--transition-smooth)}section.bg-light.py-5 .col-md-4 .text-center.p-4:hover{background-color:#fff;transform:translateY(-4px);box-shadow:0 8px 24px #0000000f}section.bg-light.py-5 .col-md-4 .text-center.p-4:hover svg{transform:scale(1.1) rotate(3deg)}section.bg-light.py-5 .col-md-4 .text-center.p-4 svg{color:var(--color-accent);transition:transform var(--transition-smooth);margin-bottom:var(--spacing-md)}section.bg-light.py-5 .col-md-4 .text-center.p-4 h4{color:var(--color-text-primary);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}section.bg-light.py-5 .col-md-4 .text-center.p-4 p{color:var(--color-text-secondary);line-height:1.7}section.py-5:not(.bg-light):not(.bg-primary){padding:var(--spacing-xl) 0}section.py-5:not(.bg-light):not(.bg-primary) h2.h3.fw-bold{color:var(--color-text-primary);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg)}section.py-5:not(.bg-light):not(.bg-primary) .card.shadow-sm.border-0:hover .card-img-top{transform:scale(1.03)}section.py-5:not(.bg-light):not(.bg-primary) .card.shadow-sm.border-0 .card-img-top{transition:transform var(--transition-smooth);border-radius:.75rem .75rem 0 0}section.py-5:not(.bg-light):not(.bg-primary) .card.shadow-sm.border-0 .card-body .card-title a{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}section.py-5:not(.bg-light):not(.bg-primary) .card.shadow-sm.border-0 .card-body .card-title a:hover{color:var(--color-accent)}section.py-5:not(.bg-light):not(.bg-primary) .card.shadow-sm.border-0 .card-body .card-text{color:var(--color-text-secondary);line-height:1.6}section.bg-primary{background:linear-gradient(135deg,var(--color-night),var(--color-night-light));padding:var(--spacing-xl) 0;margin-top:var(--spacing-xl)}section.bg-primary h2,section.bg-primary p{color:#fff}section.bg-primary .lead{color:#ffffffe6}section.bg-primary .btn-light{background-color:#fff;color:var(--color-text-primary);border-color:#fff}section.bg-primary .btn-light:hover{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 12px #fff3}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:1.2;letter-spacing:-.01em}h1.display-3{font-size:3.5rem;line-height:1.1}h2.h3{font-size:1.75rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.navbar form[role=search] .form-control,.navbar #navbar-search-form .form-control{padding:.5rem 1rem;font-size:1rem}.navbar form[role=search] .btn-outline-success,.navbar form[role=search] #navbar-search-button,.navbar #navbar-search-form .btn-outline-success,.navbar #navbar-search-form #navbar-search-button{padding:.375rem .75rem!important;font-size:1rem!important;font-weight:400!important}@media(max-width:768px){h1.display-3{font-size:2.5rem}section{padding:var(--spacing-lg) 0!important}.card{margin-bottom:var(--spacing-md)}}
