:root{--primary:#003b1a;--secondary:#a50000;--background:#f7f4ef;--surface:#fff;--text:#222;--text-muted:#4d4d4d;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--max-width:1280px;--padding-x:24px;--section-gap-y:48px;--gap:16px;--padding-x-t:32px;--section-gap-y-t:64px;--gap-t:24px;--padding-x-d:80px;--section-gap-y-d:96px;--hero-gap-y-d:120px;--gap-d:48px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text);background:var(--background);margin:0;font-size:1rem;line-height:1.6}.container{max-width:var(--max-width);padding-left:var(--padding-x);padding-right:var(--padding-x);margin:0 auto}@media (width>=768px){.container{padding-left:var(--padding-x-t);padding-right:var(--padding-x-t)}}@media (width>=1024px){.container{padding-left:var(--padding-x-d);padding-right:var(--padding-x-d)}}h1,h2,h3,.font-heading{font-family:var(--font-heading);color:var(--primary);margin:0;font-weight:600;line-height:1.2}h1{font-size:1.75rem}h2{margin-bottom:.5em;font-size:1.5rem}h3{margin-bottom:.5em;font-size:1.125rem}@media (width>=768px){h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.25rem}}@media (width>=1024px){h1{font-size:2.75rem}h2{font-size:2.25rem}}p{margin-top:0;margin-bottom:1em}p:last-child{margin-bottom:0}.site-header{background:var(--surface);z-index:100;border-bottom:1px solid #003b1a14;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;min-height:64px;display:flex}.site-logo{width:auto;height:44px;display:block}.site-nav{display:none}.site-nav a{color:var(--text);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.site-nav a:hover{color:var(--secondary)}.site-nav .btn-nav{background:var(--secondary);color:var(--surface);border-radius:8px;padding:8px 16px;font-size:.875rem}.site-nav .btn-nav:hover{opacity:.92;color:var(--surface)}.burger-btn{cursor:pointer;z-index:102;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;transition:opacity .2s;display:flex;position:relative}.burger-btn:hover{opacity:.8}.burger-bar{background:var(--primary);transform-origin:50%;border-radius:1px;width:22px;height:2px;transition:transform .25s,opacity .2s;display:block}.burger-btn.is-open .burger-bar:first-child{transform:translateY(7px)rotate(45deg)}.burger-btn.is-open .burger-bar:nth-child(2){opacity:0;transform:scaleX(0)}.burger-btn.is-open .burger-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.burger-btn.is-open .burger-bar{background:var(--surface)}@media (width<=767px){body.menu-open .burger-btn{top:10px;right:var(--padding-x);z-index:105;background:#ffffff1f;border-radius:8px;position:fixed}}.nav-overlay{z-index:101;opacity:0;visibility:hidden;background:#000000f2;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s;display:flex;position:fixed;inset:0}.nav-overlay.is-open{opacity:1;visibility:visible}.nav-close{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));cursor:pointer;z-index:2;background:#ffffff1f;border:none;border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:background .2s,opacity .2s;display:flex;position:absolute}.nav-close:hover,.nav-close:focus-visible{background:#fff3;outline:none}.nav-close:focus-visible{box-shadow:0 0 0 2px var(--surface)}.nav-close__line{background:var(--surface);border-radius:1px;width:22px;height:2px;position:absolute}.nav-close__line--a{transform:rotate(45deg)}.nav-close__line--b{transform:rotate(-45deg)}body.menu-open{overflow:hidden}.hero-content{flex-direction:column;gap:24px;display:flex}.nav-panel{flex-direction:column;align-items:center;gap:24px;padding:24px;display:flex}.nav-panel a{color:var(--surface);font-family:var(--font-heading);font-size:1.5rem;font-weight:500;text-decoration:none;transition:opacity .2s,color .2s}.nav-panel a:hover{opacity:.9;color:var(--surface)}.nav-panel__contact{background:var(--secondary);color:var(--surface);border-radius:8px;margin-top:16px;padding:12px 28px;font-size:1.125rem}.nav-panel__contact:hover{opacity:.92;color:var(--surface)}@media (width>=768px){.site-nav{align-items:center;gap:var(--gap-t);display:flex}.site-nav a{font-size:.95rem}.site-nav .btn-nav{padding:10px 20px;font-size:.95rem}.burger-btn,.nav-overlay{display:none}.site-header .container{min-height:80px}.site-logo{height:70px}.site-logo img{height:100%}}.btn{cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.btn:hover{opacity:.92}@media (width>=768px){.btn{padding:14px 28px;font-size:1rem}}.btn-primary{background:var(--primary);color:var(--surface)}.btn-secondary{color:var(--secondary);border:2px solid var(--secondary);background:0 0}.btn-secondary:hover{color:var(--secondary)}.btn-group{gap:var(--gap);flex-wrap:wrap;margin-top:20px;display:flex}@media (width>=768px){.btn-group{gap:var(--gap-t);margin-top:24px}}.card{background:var(--surface);border-radius:12px;padding:24px;box-shadow:0 4px 16px #0000000f}.card h3{margin-top:0}@media (width>=768px){.card{border-radius:14px;padding:32px;box-shadow:0 8px 24px #0000000f}}.cards{gap:var(--gap);grid-template-columns:1fr;margin-top:24px;display:grid}@media (width>=768px){.cards{gap:var(--gap-t);grid-template-columns:repeat(2,1fr);margin-top:32px}}@media (width>=1024px){.cards{gap:var(--gap-d);grid-template-columns:repeat(3,1fr);margin-top:40px}}.section{padding-top:var(--section-gap-y);padding-bottom:var(--section-gap-y)}@media (width>=768px){.section{padding-top:var(--section-gap-y-t);padding-bottom:var(--section-gap-y-t)}}@media (width>=1024px){.section{padding-top:var(--section-gap-y-d);padding-bottom:var(--section-gap-y-d)}}.section-hero{padding-top:var(--section-gap-y);padding-bottom:var(--section-gap-y)}@media (width>=768px){.section-hero{padding-top:var(--section-gap-y-t);padding-bottom:var(--section-gap-y-t)}}@media (width>=1024px){.section-hero{padding-top:var(--hero-gap-y-d);padding-bottom:var(--hero-gap-y-d)}}.section-cta-final{padding-top:var(--section-gap-y);padding-bottom:var(--section-gap-y);background:var(--primary);color:var(--surface);text-align:center}.section-cta-final h2{color:var(--surface);margin-bottom:12px}.section-cta-final p{opacity:.95;margin-bottom:24px}.section-cta-final .btn-group{justify-content:center}.section-cta-final .btn-secondary{border-color:var(--surface);color:var(--surface)}.section-cta-final .btn--on-primary{background:var(--surface);color:var(--primary)}.section-cta-final .btn--on-primary:hover{opacity:.92;color:var(--primary)}@media (width>=768px){.section-cta-final{padding-top:var(--section-gap-y-t);padding-bottom:var(--section-gap-y-t)}}@media (width>=1024px){.section-cta-final{padding-top:var(--hero-gap-y-d);padding-bottom:var(--hero-gap-y-d)}}.section-title{font-family:var(--font-heading);margin-bottom:20px;font-size:1.5rem}@media (width>=768px){.section-title{margin-bottom:24px;font-size:1.875rem}}@media (width>=1024px){.section-title{font-size:2.25rem}}.hero-grid{gap:var(--gap);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=768px){.hero-grid{gap:var(--gap-t)}}@media (width>=900px){.hero-grid{gap:var(--gap-d);grid-template-columns:1fr 1fr}}.hero-quote{font-family:var(--font-heading);text-align:center;color:var(--text-muted);grid-column:1/-1;margin:24px 0 0;padding:16px;font-size:1.125rem;font-style:italic}@media (width>=768px){.hero-quote{margin:32px 0 0;font-size:1.25rem}}@media (width>=1024px){.hero-quote{font-size:1.5rem}}.page-title{font-family:var(--font-heading);margin-bottom:12px;font-size:1.75rem}@media (width>=768px){.page-title{margin-bottom:16px;font-size:2.25rem}}@media (width>=1024px){.page-title{font-size:2.5rem}}.page-intro{color:var(--text-muted);margin-bottom:24px;font-size:1rem}@media (width>=768px){.page-intro{max-width:42em;margin-bottom:32px;font-size:1.125rem}}.media-block{gap:var(--gap);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=768px){.media-block{gap:var(--gap-t);grid-template-columns:.9fr 1fr}}@media (width>=1024px){.media-block{gap:var(--gap-d)}}.media-block.reverse{direction:rtl}.media-block.reverse>*{direction:ltr}.media-block img{object-fit:cover;border-radius:10px;width:100%;height:auto}@media (width>=768px){.media-block img{border-radius:12px}}.media-block .content,.media-block.reverse .content{padding:0}@media (width>=768px){.media-block .content{padding:0 0 0 1rem}.media-block.reverse .content{padding:0 1rem 0 0}}.visite-card{z-index:1;background:var(--surface);border-radius:12px;position:relative;overflow:visible;box-shadow:0 4px 16px #0000000f}.visite-card:has(.visite-card__heading.is-truncated:hover){z-index:4}@media (width>=768px){.visite-card{border-radius:14px;box-shadow:0 8px 24px #0000000f}}.visite-card__media{border-radius:12px 12px 0 0;min-width:0;position:relative;overflow:hidden}@media (width>=768px){.visite-card__media{border-radius:14px 14px 0 0}}.visite-card__media img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.visite-card__badges{box-sizing:border-box;background:linear-gradient(#0000 0%,#00000059 45%,#000000b8 100%);flex-wrap:nowrap;align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;margin:0;padding:12px 12px 14px;list-style:none;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.visite-card__badges>li{letter-spacing:.02em;color:var(--primary);background:#fffffff0;border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:.6875rem;font-weight:600;line-height:1.2}.visite-card__badges-overflow{background:0 0;flex-shrink:0;align-items:center;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;display:flex}.visite-card__badges-overflow-btn{box-sizing:border-box;font-family:var(--font-body);letter-spacing:.02em;cursor:pointer;color:var(--secondary);background:#fffffff0;border:none;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0 4px;font-size:.6875rem;font-weight:600;line-height:1.2;transition:opacity .15s;display:inline-flex}.visite-card__badges-overflow-btn:hover,.visite-card__badges-overflow-btn:focus-visible{opacity:.92;outline:none;box-shadow:0 0 0 2px #fff9}.visite-card__badges-tooltip{z-index:2000;background:var(--surface);max-width:min(280px,100vw - 24px);color:var(--text);font-family:var(--font-body);opacity:0;visibility:hidden;pointer-events:none;border:1px solid #003b1a1a;border-radius:8px;margin:0;padding:10px 12px;font-size:.8125rem;font-weight:500;line-height:1.4;transition:none;position:fixed;box-shadow:0 10px 32px #00000038}.visite-card__badges-tooltip.is-visible{opacity:1;visibility:visible;pointer-events:auto}.visite-card__badges-tooltip-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 6px;font-size:.6875rem;font-weight:700}.visite-card__badges-tooltip ul{margin:0;padding-left:1.15rem}.visite-card__badges-tooltip li{margin-bottom:4px}.visite-card__badges-tooltip li:last-child{margin-bottom:0}@media (width>=768px){.visite-card__badges{gap:8px;padding:14px 14px 16px}.visite-card__badges>li:not(.visite-card__badges-overflow){padding:6px 12px;font-size:.75rem}.visite-card__badges-overflow-btn{padding:0 4px;font-size:.75rem}}.visite-card .body{border-radius:0 0 12px 12px;padding:20px;overflow:visible}@media (width>=768px){.visite-card .body{border-radius:0 0 14px 14px;padding:24px}}.visite-card__heading{z-index:2;margin-bottom:12px;position:relative}.visite-card__title{font-size:1.5rem;font-family:var(--font-heading);color:var(--primary);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;min-height:2.5em;margin:0;line-height:1.25;display:-webkit-box;overflow:hidden}.visite-card__title-tooltip{z-index:30;background:var(--primary);color:var(--surface);font-family:var(--font-body);pointer-events:none;opacity:0;visibility:hidden;border-radius:8px;padding:10px 12px;font-size:.9375rem;font-weight:500;line-height:1.35;transition:none;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 10px 28px #00000038}.visite-card__title-tooltip[hidden]{display:none!important}.visite-card__heading.is-truncated .visite-card__title-tooltip{opacity:0;visibility:hidden;display:block}.visite-card__heading.is-truncated:hover .visite-card__title-tooltip{opacity:1;visibility:visible;pointer-events:auto}.visite-card .meta{color:var(--text-muted);margin-bottom:12px;font-size:.875rem}.visites-grid{grid-template-columns:1fr;gap:24px;margin-top:24px;display:grid}@media (width>=425px){.visites-grid{gap:var(--gap-t);grid-template-columns:repeat(2,1fr)}}@media (width>=768px){.visites-grid{gap:var(--gap-d);grid-template-columns:repeat(3,1fr);margin-top:32px}}.visites-cta{margin-top:24px}@media (width>=768px){.visites-cta{margin-top:32px}}.visites-grid .visite-card{flex-direction:column;height:100%;display:flex}.visites-grid .visite-card .body{flex-direction:column;flex:1;display:flex}.visites-grid .visite-card .body .btn-primary{margin-top:auto}.visite-card__text p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;display:-webkit-box;overflow:hidden}.visite-card__text.is-expanded p{-webkit-line-clamp:unset;display:block;overflow:visible}@media (width>=1024px){.visite-card__text:not(.is-expanded) p{-webkit-line-clamp:4}}.visite-card__more{font-family:var(--font-body);color:var(--secondary);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:0 0 12px;padding:0;font-size:.875rem;font-weight:600;text-decoration:underline;display:inline-block}.visite-card__more:hover{opacity:.85}.visite-card__more--reserved{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.form-group{margin-bottom:20px}.form-group label{color:var(--primary);margin-bottom:6px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;font-family:var(--font-body);background:var(--surface);color:var(--text);border:1px solid #003b1a33;border-radius:8px;padding:12px 16px;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #003b1a1a}.form-group textarea{resize:vertical;min-height:140px}.required{color:var(--secondary)}.alert{border-radius:8px;margin-bottom:24px;padding:16px 20px}.alert-success{color:var(--primary);background:#003b1a1a}.site-footer{background:var(--surface);color:var(--primary);border-top:1px solid #003b1a24;margin-top:auto;padding-top:24px;padding-bottom:20px;box-shadow:0 -6px 24px #0000000f}@media (width>=768px){.site-footer{padding-top:28px;padding-bottom:24px}}.site-footer .footer-brand{font-family:var(--font-heading);margin:0 0 8px;font-size:1rem;font-weight:600}.site-footer .footer-seo{color:var(--text);opacity:.9;max-width:52em;margin:0 0 12px;font-size:.8125rem;line-height:1.5}.site-footer .footer-nav{border-top:1px solid #003b1a1a;flex-direction:column;align-items:flex-start;gap:10px;margin:0;padding-top:14px;display:flex}.site-footer .footer-nav a{color:var(--secondary);font-size:.875rem;font-weight:500;text-decoration:none}.site-footer .footer-nav a:not(:first-child):before{display:none}@media (width>=425px){.site-footer .footer-nav{flex-flow:wrap;align-items:center;gap:6px 0}.site-footer .footer-nav a:not(:first-child):before{content:"·";color:#003b1a59;pointer-events:none;margin:0 10px;font-weight:400;display:inline}}.site-footer .footer-nav a:hover{text-decoration:underline}.calendar-wrap{background:var(--surface);border:1px solid #003b1a1a;border-radius:10px;margin-bottom:24px;padding:20px}@media (width>=768px){.calendar-wrap{border-radius:12px;margin-bottom:32px;padding:24px}}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;font-size:.8125rem;display:grid}@media (width>=768px){.calendar-grid{gap:4px;font-size:.9rem}}.calendar-grid .day-name{color:var(--primary);padding:8px 0;font-weight:600}.calendar-grid .day-num{color:var(--text);padding:8px}.calendar-grid .day-num--unavailable{color:var(--text-muted);opacity:.55;cursor:default;background:#0000000d;border-radius:6px}.calendar-legend{color:var(--text-muted);align-items:flex-start;gap:10px;margin-top:16px;margin-bottom:0;font-size:.8rem;line-height:1.45;display:flex}.calendar-legend__swatch{opacity:.85;background:#0000000d;border-radius:4px;flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:2px;box-shadow:inset 0 0 0 1px #00000014}.calendar-nav{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.calendar-nav__title{text-align:center;font-family:var(--font-heading);color:var(--primary);flex:1;margin:0;font-size:1.125rem;font-weight:600;line-height:1.3}@media (width>=768px){.calendar-nav__title{font-size:1.25rem}}.calendar-nav__btn{background:var(--background);min-width:44px;min-height:44px;color:var(--primary);border:1px solid #003b1a26;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0 12px;font-size:1.5rem;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button.calendar-nav__btn{cursor:pointer;appearance:none;font-family:inherit}.calendar-nav__btn:hover{color:var(--secondary);background:#003b1a0f;border-color:#003b1a40}.calendar-nav__btn:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.blockquote{border-left:4px solid var(--secondary);color:var(--text);margin:24px 0;padding-left:20px;font-style:italic}.blockquote footer{color:var(--text-muted);margin-top:8px;font-size:.875rem;font-style:normal}.cta-band{background:var(--secondary);color:var(--surface);text-align:center;padding:48px var(--padding-x)}.cta-band h2{color:var(--surface);margin-bottom:12px}.cta-band p{opacity:.95;margin-bottom:20px}@media (width>=768px){.cta-band{padding:64px var(--padding-x-t)}.cta-band p{margin-bottom:24px}}@media (width>=1024px){.cta-band{padding:64px var(--padding-x-d)}}.cta-band .btn-primary{background:var(--surface);color:var(--secondary)}.cta-band .btn-primary:hover{color:var(--secondary)}.contact-layout{flex-direction:column;gap:40px;margin-top:8px;display:flex}@media (width>=1024px){.contact-layout{gap:var(--gap-d);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;margin-top:16px;display:grid}}.contact-lead h2{margin-top:0}.contact-lead__agenda{margin-top:16px;margin-bottom:0;font-size:.95rem}.contact-lead__agenda a{color:var(--secondary);font-weight:600;text-decoration:none}.contact-lead__agenda a:hover{text-decoration:underline}.contact-layout__form-title{margin-top:0;margin-bottom:20px}.contact-layout__main{width:100%;min-width:0}.contact-form{width:100%;max-width:100%}.contact-form__hint{color:var(--text-muted);margin-bottom:20px;font-size:.9rem}.contact-form__hint a{color:var(--secondary);font-weight:600;text-decoration:none}.contact-form__hint a:hover{text-decoration:underline}.contact-direct{margin:0;padding:0;list-style:none}.contact-direct li{margin-bottom:16px}.contact-direct a{color:var(--secondary);font-weight:600;text-decoration:none}.contact-direct a:hover{text-decoration:underline}
