:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-ui:cubic-bezier(.2,.7,.25,1)}
.header{transition:box-shadow .25s ease,background-color .25s ease}.header.is-scrolled{box-shadow:0 5px 22px #082e2812}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease-out)}.header nav a[aria-current=page]:after,.header nav a:focus-visible:after{transform:scaleX(1)}
.button{position:relative;overflow:hidden;isolation:isolate;transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .25s ease,transform .22s var(--ease-out)}.button:active{transform:scale(.975)}.button:disabled{cursor:default;transform:none}.button-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:0;pointer-events:none;z-index:-1;transform:scale(0)}
.region,.style-card,.course-card,.service-card,.info-box{transition:transform .32s var(--ease-out),box-shadow .32s ease,border-color .25s ease,background-color .25s ease}.region .photo,.style-card .photo,.course-card .photo,.service-card .photo{transition:transform .65s var(--ease-out)}.circle-arrow{transition:transform .25s var(--ease-out),color .25s,background-color .25s}.region:active{transform:scale(.98)}.text-link{transition:color .22s,border-color .22s,translate .25s var(--ease-out)}.region.active{box-shadow:0 0 0 5px #b99a5818}.faq-tabs button,.radio-options label{transition:background-color .22s,color .22s,border-color .22s,box-shadow .22s}.faq-tabs button:active{transform:scale(.96)}
details{transition:background-color .25s,border-color .25s,box-shadow .25s}summary:after,details[open] summary:after{content:'⌄';transition:transform .26s var(--ease-out)}details[open] summary:after{transform:rotate(180deg)}summary:hover{color:var(--green)}details:focus-within{box-shadow:0 0 0 3px #b99a5818}
input:not([type=checkbox]):not([type=radio]),select,textarea{transition:border-color .22s,box-shadow .22s,background-color .22s}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #0b453312;background-color:#fcfefd}.field label{transition:color .22s}.field:focus-within label{color:var(--green)}.radio-options label:has(input:checked){box-shadow:inset 0 0 0 1px var(--green);background:#f0f6f2}input[type=checkbox]{transition:box-shadow .2s}input[type=checkbox]:checked{box-shadow:0 0 0 3px #0b453310}.selection-list>div{border-radius:4px}.menu-toggle{position:relative;transition:color .2s}.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0;transition:transform .25s var(--ease-out),opacity .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
dialog[open]{animation:dialog-arrive .28s var(--ease-out)}dialog[open]::backdrop{animation:backdrop-arrive .22s ease}.dialog-close{transition:transform .25s,color .2s}.dialog-close:hover{color:var(--green);transform:rotate(90deg)}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes backdrop-arrive{from{background:#062c2700}to{background:#062c2780}}
@media(hover:hover) and (pointer:fine){.header nav a:hover:after{transform:scaleX(1)}.button:hover{box-shadow:0 7px 18px #07382c1c;transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.98)}.style-card:hover,.course-card:hover,.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 32px #0a302414;border-color:#b6c7bc}.region:hover .photo,.style-card:hover .photo,.course-card:hover .photo,.service-card:hover .photo{transform:scale(1.035)}.region:hover .circle-arrow{background:white;color:var(--green);transform:translateX(3px)}.text-link:hover{translate:3px 0;color:#9a7c3f}.info-box:hover{border-color:#b5c7bd;box-shadow:0 6px 18px #082e2808}.faq-tabs button:hover:not(.active){background:#edf3ee}}
@media(max-width:760px){.header nav{display:grid;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,transform .25s var(--ease-out),visibility .25s}.header nav.open{visibility:visible;opacity:1;transform:none;pointer-events:auto}.header nav a:after{left:24%;right:24%;bottom:6px}.region.active{box-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover,.button:active,.region:active,.style-card:hover,.course-card:hover,.service-card:hover,.region:hover .photo,.style-card:hover .photo,.course-card:hover .photo,.service-card:hover .photo,.region:hover .circle-arrow{transform:none}.text-link:hover{translate:none}}
