:root{--paper:#fbf8f3;--paper-warm:#f4efe6;--surface:color-mix(in srgb, #fff 86%, var(--paper));--surface-bright:#fffdf9;--ink:#1e2b34;--ink-soft:#4e5d68;--navy:#12456f;--navy-deep:#0b3252;--navy-tint:#e8f0f7;--blue:#4e96cd;--blue-tint:#eaf3fa;--green:#6fa43c;--green-deep:#4e7c26;--green-tint:#eff4e6;--line:#e3dcd0;--line-strong:#cfc5b4;--on-navy:#e4eef5;--on-navy-soft:#b7cde0;--font-display:"Source Serif 4", Georgia, "Times New Roman", serif;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--base-size:18px;--shell:1180px;--gutter:clamp(1.25rem, 5vw, 3rem);--section-y:clamp(4.5rem, 9vw, 7.5rem);--radius:14px;--radius-lg:22px;--tap:48px;--ease-out:cubic-bezier(.25, 1, .5, 1);--shadow-sm:0 1px 2px #12456f0f, 0 4px 12px #12456f0d;--shadow-md:0 2px 4px #12456f0f, 0 14px 34px #12456f17}*,:before,:after{box-sizing:border-box}html{font-size:var(--base-size);scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:6.5rem}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.65}h1,h2,h3,h4{font-family:var(--font-display);color:var(--navy-deep);letter-spacing:-.012em;text-wrap:balance;margin:0;font-weight:600;line-height:1.15}p{text-wrap:pretty;margin:0}img{max-width:100%;height:auto;display:block}ul,ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit}a{color:var(--navy);text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{color:var(--green-deep)}:focus-visible{outline:3px solid var(--green-deep);outline-offset:3px}::selection{background:var(--green-tint);color:var(--navy-deep)}.shell{width:100%;max-width:var(--shell);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--navy-deep);color:var(--surface-bright);border-radius:0 0 var(--radius) var(--radius);transition:transform .18s var(--ease-out);padding:.85rem 1.5rem;font-weight:600;text-decoration:none;position:absolute;top:0;left:50%;transform:translate(-50%,-140%)}.skip-link:focus{color:var(--surface-bright);transform:translate(-50%)}.eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--green-deep);align-items:center;gap:.7rem;margin-bottom:1.1rem;font-size:.78rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--green);border-radius:2px;width:2rem;height:2px}.section{padding-block:var(--section-y)}.section--tint{background:var(--paper-warm)}.section--navy{background:var(--navy-deep);color:var(--on-navy)}.section--navy h2,.section--navy h3{color:var(--surface-bright)}.section-head{max-width:46rem}.section-head h2{font-size:clamp(1.9rem,4vw,2.85rem)}.section-head p{color:var(--ink-soft);margin-top:1rem;font-size:1.06rem}.section--navy .section-head p{color:var(--on-navy-soft);line-height:1.7}.btn{min-height:52px;font-family:var(--font-ui);white-space:nowrap;cursor:pointer;transition:background-color .18s var(--ease-out), border-color .18s var(--ease-out), color .18s var(--ease-out), transform .16s var(--ease-out);border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.6rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--navy-deep);color:var(--surface-bright)}.btn--primary:hover{color:var(--surface-bright);background:#082741}.btn--ghost{color:var(--navy-deep);border-color:var(--line-strong);background:0 0}.btn--ghost:hover{border-color:var(--navy-deep);background:var(--surface);color:var(--navy-deep)}.btn--light{background:var(--surface-bright);color:var(--navy-deep)}.btn--light:hover{background:var(--navy-tint);color:var(--navy-deep)}.btn--outline-light{color:var(--surface-bright);border-color:color-mix(in srgb, var(--surface-bright) 45%, transparent);background:0 0}.btn--outline-light:hover{background:color-mix(in srgb, var(--surface-bright) 10%, transparent);border-color:var(--surface-bright);color:var(--surface-bright)}.reveal{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transform:translateY(10px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.btn:active{transform:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.site-header{z-index:100;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);transition:background-color .2s var(--ease-out), border-color .2s var(--ease-out);border-bottom:1px solid #0000;position:sticky;top:0}.site-header.is-stuck{background:color-mix(in srgb, var(--paper) 94%, var(--surface));border-bottom-color:var(--line)}.site-header .shell{max-width:1400px;padding-inline:clamp(1.25rem,3vw,2rem)}.site-header__inner{align-items:center;gap:clamp(.75rem,2vw,1.5rem);min-height:78px;display:flex}.brand{flex:none;align-items:center;gap:.75rem;margin-right:auto;text-decoration:none;display:flex}.brand img{mix-blend-mode:multiply;width:48px;height:48px}.brand__text{flex-direction:column;line-height:1.14;display:flex}.brand__l1{font-family:var(--font-display);color:var(--navy-deep);font-size:1.02rem;font-weight:600}.brand__l2{letter-spacing:.02em;color:var(--green-deep);font-size:.78rem;font-weight:600}.site-nav ul{gap:clamp(.25rem,1vw,.8rem);display:flex}.site-nav a{white-space:nowrap;color:var(--ink);border-bottom:2px solid #0000;padding:.7rem .35rem;font-size:.9rem;font-weight:500;text-decoration:none;display:block}.site-nav a:hover{color:var(--navy-deep);border-bottom-color:var(--green)}.site-header__tools{align-items:center;gap:.6rem;display:flex}.site-header__cta{min-height:var(--tap);padding:.55rem 1.15rem;font-size:.95rem}.menu-btn{border:1px solid var(--line-strong);background:var(--surface);width:52px;height:52px;color:var(--navy-deep);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;display:none}.menu-btn:hover{border-color:var(--navy-deep)}.mobile-panel{border-top:1px solid var(--line);background:var(--surface);padding:.5rem var(--gutter) 1.75rem;max-height:calc(100dvh - 78px);overflow-y:auto}.mobile-panel[hidden]{display:none}.mobile-panel li a{color:var(--navy-deep);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem .2rem;font-size:1.05rem;font-weight:600;text-decoration:none;display:flex}.mobile-panel li a svg{color:var(--green)}.mobile-panel__cta{width:100%;margin-top:1.4rem}.hero{padding-block:clamp(2.75rem,6vw,5.5rem) clamp(3rem,6vw,5rem);position:relative;overflow:hidden}.hero__motif{pointer-events:none;width:min(680px,74vw);height:auto;position:absolute;top:-26%;right:-16%}.hero__inner{z-index:1;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(2.25rem,5vw,4.5rem);display:grid;position:relative}.hero h1{max-width:16ch;font-size:clamp(2.3rem,5.2vw,3.8rem)}.hero__lead{max-width:46ch;color:var(--ink-soft);margin-top:1.4rem;font-size:1.15rem}.hero__actions{flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}.hero__note{color:var(--navy);margin-top:1.15rem;font-size:.98rem;font-weight:500}.hero__villages{border-top:1px solid var(--line);flex-wrap:wrap;gap:.55rem;margin-top:2.4rem;padding-top:1.6rem;display:flex}.hero__villages li{background:var(--navy-tint);color:var(--navy);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:.45rem .95rem;font-size:.8rem;font-weight:700}.hero__villages li:nth-child(2){background:var(--green-tint);color:var(--green-deep)}.hero__villages li:nth-child(3){background:var(--blue-tint);color:var(--navy)}.hero__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(1.6rem,3vw,2.2rem);position:relative;overflow:hidden}.hero__card:before{content:"";background:linear-gradient(90deg, var(--navy) 0 38%, var(--blue) 38% 64%, var(--green) 64% 100%);height:6px;position:absolute;inset:0 0 auto}.hero__card-label{letter-spacing:.12em;text-transform:uppercase;color:var(--green-deep);align-items:center;gap:.6rem;margin-top:.3rem;font-size:.78rem;font-weight:700;display:flex}.hero__card-label .dot{background:var(--green);width:9px;height:9px;box-shadow:0 0 0 4px var(--green-tint);border-radius:50%}.hero__card-title{font-family:var(--font-display);color:var(--navy-deep);margin-top:.75rem;font-size:clamp(1.45rem,2.5vw,1.8rem);font-weight:600;line-height:1.25}.hero__card-list{gap:.65rem;margin-top:1.1rem;display:grid}.hero__card-list li{align-items:flex-start;gap:.65rem;font-weight:500;display:flex}.hero__card-list svg{color:var(--blue);flex:none;margin-top:.18rem}.hero__card-detail{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:1.25rem;padding-top:1.25rem;font-size:.95rem}.about__inner{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(2rem,5vw,4.5rem);display:grid}.about__aside{align-self:start;position:sticky;top:7rem}.about__aside h2{font-size:clamp(2rem,4vw,2.85rem)}.about__stamp{background:var(--green-tint);border:1px solid color-mix(in srgb, var(--green) 32%, var(--line));color:var(--green-deep);border-radius:10px;margin-top:1.8rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;display:inline-block}.about__body{gap:1.35rem;font-size:1.03rem;display:grid}.about__lead{font-family:var(--font-display);color:var(--navy-deep);font-size:clamp(1.2rem,2.2vw,1.45rem);line-height:1.5}.about__quote{background:var(--green-tint);border-radius:var(--radius);margin:.75rem 0;padding:clamp(1.4rem,3vw,2rem)}.about__quote blockquote{font-family:var(--font-display);color:var(--navy-deep);margin:0;font-size:clamp(1.15rem,2.2vw,1.35rem);font-style:italic;line-height:1.45}.about__quote figcaption{letter-spacing:.1em;text-transform:uppercase;color:var(--green-deep);margin-top:.9rem;font-size:.8rem;font-weight:700}.about__values{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:.75rem;padding-top:1.9rem;display:grid}.about__values h3{margin-bottom:.4rem;font-size:1.05rem}.about__values p{color:var(--ink-soft);font-size:.93rem}.cards{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:clamp(2.5rem,5vw,3.5rem);display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);padding:1.8rem 1.6rem 1.75rem;position:relative}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.card__num{font-family:var(--font-display);color:var(--line-strong);font-size:1.05rem;font-weight:600;position:absolute;top:1.5rem;right:1.6rem}.card__icon{background:var(--blue-tint);width:54px;height:54px;color:var(--navy);border-radius:13px;justify-content:center;align-items:center;margin-bottom:1.15rem;display:inline-flex}.card:nth-child(3n+2) .card__icon{background:var(--green-tint);color:var(--green-deep)}.card h3{margin-bottom:.5rem;font-size:1.22rem}.card p{color:var(--ink-soft);font-size:.98rem}.schedule__list{border-top:1px solid var(--line-strong);margin-top:clamp(2rem,4vw,2.75rem)}.schedule__list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:.5rem 2rem;padding:1.5rem 0;display:grid}.schedule__list h3{font-size:1.2rem}.schedule__when,.schedule__where{color:var(--ink-soft);align-items:center;gap:.6rem;display:flex}.schedule__when svg,.schedule__where svg{color:var(--blue);flex:none}.schedule__note{background:var(--green-tint);border:1px solid color-mix(in srgb, var(--green) 28%, var(--line));border-radius:var(--radius);color:var(--navy-deep);margin-top:1.6rem;padding:1rem 1.15rem;font-size:.95rem}.steps{grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-top:clamp(2.5rem,5vw,3.5rem);display:grid}.step{position:relative}.step:not(:last-child):after{content:"";background:repeating-linear-gradient(90deg, var(--line-strong) 0 6px, transparent 6px 12px);height:2px;position:absolute;top:24px;left:60px;right:-1.75rem}.step__num{z-index:1;background:var(--navy-deep);width:48px;height:48px;color:var(--surface-bright);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.15rem;font-size:1.25rem;font-weight:600;display:flex;position:relative}.step h3{margin-bottom:.5rem;font-size:1.2rem}.step p{color:var(--ink-soft)}.step strong{color:var(--navy-deep)}.membership__foot{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.5rem;margin-top:clamp(2.5rem,5vw,3.5rem);display:grid}.notecard{background:var(--green-tint);border:1px solid color-mix(in srgb, var(--green) 28%, var(--line));border-radius:var(--radius);padding:clamp(1.4rem,3vw,1.9rem)}.notecard h3{margin-bottom:.6rem;font-size:1.2rem}.notecard p{color:var(--navy-deep)}.membership__cta{background:var(--navy-tint);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:flex-start;gap:.95rem;padding:clamp(1.4rem,3vw,1.9rem);display:flex}.membership__cta>p{font-family:var(--font-display);color:var(--navy-deep);font-size:1.2rem}.membership__mail{min-height:var(--tap);color:var(--navy);align-items:center;font-size:1rem;font-weight:600;text-decoration-thickness:1.5px;display:inline-flex}.contact__list{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:1rem;margin-top:clamp(2.5rem,5vw,3.5rem);display:grid}.contact__list>li{display:flex}.contact__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:5.5rem;color:inherit;transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);flex:1;align-items:flex-start;gap:1.15rem;padding:1.35rem 1.5rem;text-decoration:none;display:flex}a.contact__card{cursor:pointer}a.contact__card:hover{border-color:var(--navy);box-shadow:var(--shadow-sm);color:inherit}a.contact__card:hover .contact__value{color:var(--green-deep)}.contact__icon{background:var(--navy-tint);width:54px;height:54px;color:var(--navy);border-radius:13px;flex:none;justify-content:center;align-items:center;display:flex}.contact__list h3{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.45rem;font-size:.78rem;font-weight:700}.contact__value{min-height:1.9rem;font-family:var(--font-display);color:var(--navy-deep);overflow-wrap:anywhere;align-items:center;font-size:clamp(1.15rem,2.2vw,1.35rem);font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}a.contact__value:hover{color:var(--green-deep);text-decoration:underline}.contact__value--plain{min-height:0;font-size:1.15rem;display:block}.contact__hint{color:var(--ink-soft);margin-top:.45rem;font-size:.92rem}.eyebrow--light{color:#9fcb6f}.eyebrow--light:before{background:#9fcb6f}.site-footer{background:var(--navy-deep);color:var(--on-navy)}.site-footer h2{color:var(--surface-bright)}.site-footer a:not(.btn){color:var(--on-navy);text-decoration:none}.site-footer a:not(.btn):hover{color:var(--surface-bright);text-decoration:underline}.site-footer__top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);padding-block:clamp(3rem,6vw,4.75rem);display:grid}.site-footer__pitch h2{max-width:17ch;font-size:clamp(1.6rem,3vw,2.2rem)}.site-footer__pitch>p:not(.eyebrow){max-width:42ch;color:var(--on-navy-soft);margin-top:1rem;line-height:1.7}.site-footer__actions{flex-wrap:wrap;gap:.85rem;margin-top:1.9rem;display:flex}.site-footer__actions a:hover{text-decoration:none}.site-footer__where{border-left:1px solid color-mix(in srgb, var(--surface-bright) 16%, transparent);align-content:center;gap:1.75rem;margin:0;padding-left:clamp(1.75rem,4vw,3.25rem);display:grid}.site-footer__where dt{letter-spacing:.12em;text-transform:uppercase;color:var(--on-navy-soft);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.site-footer__where dd{font-family:var(--font-display);color:var(--surface-bright);margin:0;font-size:1.12rem;line-height:1.45}.site-footer__where dd span{font-family:var(--font-ui);color:var(--on-navy-soft);margin-top:.35rem;font-size:.92rem;display:block}.site-footer__bottom{border-top:1px solid color-mix(in srgb, var(--surface-bright) 14%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2.5rem;padding-block:1.25rem;display:flex}.site-footer__brand{align-items:center;gap:1rem;display:flex}.site-footer__brand:hover{text-decoration:none}.site-footer__brand:hover .site-footer__name{text-decoration:underline}.site-footer__mark{background:var(--surface-bright);border-radius:50%;flex:none;width:56px;height:56px;padding:3px;overflow:hidden}.site-footer__name{font-family:var(--font-display);color:var(--surface-bright);font-size:1.08rem;font-weight:600;display:block}.site-footer__villages{color:var(--on-navy-soft);margin-top:.2rem;font-size:.88rem;display:block}.site-footer__nav ul{flex-wrap:wrap;gap:0 1.75rem;display:flex}.site-footer__nav a,.site-footer__legal a{min-height:var(--tap);align-items:center;display:inline-flex}.site-footer__nav a{font-size:.95rem}.site-footer__legal{border-top:1px solid color-mix(in srgb, var(--surface-bright) 14%, transparent);color:var(--on-navy-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-block:1.15rem;font-size:.88rem;display:flex}@media (width<=1139px){.site-nav{display:none}.menu-btn{display:flex}}@media (width<=960px){.hero__inner{grid-template-columns:1fr}.hero h1{max-width:20ch}.hero__motif{width:min(600px,90vw);top:-14%;right:-30%}.about__inner{grid-template-columns:1fr}.about__aside{position:static}.cards,.steps{grid-template-columns:repeat(2,1fr)}.step:not(:last-child):after{display:none}.membership__foot,.contact__list{grid-template-columns:1fr}.schedule__list li{grid-template-columns:1fr;gap:.6rem}.site-footer__top{grid-template-columns:1fr}.site-footer__where{border-left:0;border-top:1px solid color-mix(in srgb, var(--surface-bright) 16%, transparent);padding-top:2rem;padding-left:0}}@media (width<=760px){.cards,.steps,.about__values{grid-template-columns:1fr}.site-footer__bottom{flex-direction:column;align-items:flex-start}}@media (width<=620px){.brand__text{display:none}.site-header__cta{padding:.5rem .9rem;font-size:.92rem}.menu-btn{width:48px;height:48px}}@media (width<=560px){.contact__card{flex-direction:column;gap:.9rem}}@media (width<=380px){.site-header .shell{padding-inline:1rem}.site-header__inner{gap:.5rem}.site-header__tools{gap:.4rem}.site-header__cta{padding:.5rem .7rem}}
