/* Independent header: all settings come from the WordPress Customizer. */
.ah-header,.ah-dialog{font-family:var(--ah-font);color:var(--ah-text)}
.ah-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ah-background);margin:12px;border-radius:16px;padding:24px var(--ah-gutter);z-index:20}
.ah-header--overlay{position:absolute;inset:12px 12px auto;margin:0;background:transparent}
.admin-bar .ah-header--overlay{top:44px}
.ah-logo{color:inherit!important;text-decoration:none;font-size:clamp(22px,2vw,32px);font-weight:400;letter-spacing:-.05em;line-height:1;max-width:min(var(--ah-logo-width),60%);overflow-wrap:anywhere;display:block}
.ah-logo__image{display:block;width:var(--ah-logo-width);max-width:100%;max-height:64px;object-fit:contain;object-position:left;height:auto}
.ah-toggle{font:inherit;font-size:14px;line-height:1;display:flex;align-items:center;gap:14px;border:1px solid transparent;border-radius:9px;background:var(--ah-button-bg);color:var(--ah-button-text);padding:5px 12px 5px 5px;cursor:pointer;min-height:44px;flex-shrink:0;transition:background .3s,color .3s,box-shadow .3s}
.ah-toggle__label{display:block;border-radius:5px;padding:10px 12px;background:rgba(255,255,255,.045)}
.ah-toggle__icon{position:relative;width:27px;height:24px;display:block}
.ah-toggle__icon span{position:absolute;left:0;top:8px;width:27px;height:1px;background:currentColor;transition:transform .5s cubic-bezier(.22,1,.36,1),width .3s,top .5s}
.ah-toggle__icon span+span{top:16px}
.ah-toggle:hover{box-shadow:0 0 0 1px var(--ah-accent)}
.ah-toggle:hover .ah-toggle__icon span:first-child{width:21px}
.ah-toggle:hover .ah-toggle__icon span+span{transform:translateX(4px);width:23px}
.ah-toggle:focus-visible,.ah-dialog a:focus-visible,.ah-logo:focus-visible{outline:2px solid var(--ah-accent);outline-offset:5px}
.ah-reversed{flex-direction:row-reverse}
.ah-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;margin:0;border:0;background:transparent;overflow:hidden;overscroll-behavior:contain}
.ah-dialog::backdrop{background:rgba(0,0,0,0);transition:background var(--ah-duration)}
.ah-dialog.is-open::backdrop{background:rgba(0,0,0,.24)}
.ah-panel{position:relative;min-height:100%;height:100%;overflow:auto;overscroll-behavior:contain;padding:36px calc(12px + var(--ah-gutter));isolation:isolate;scrollbar-width:thin;scrollbar-color:var(--ah-accent) var(--ah-background)}
.ah-panel::before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 75% 85%,color-mix(in srgb,var(--ah-accent) 7%,transparent),transparent 60%),var(--ah-background);z-index:-1;transform:translateY(100%);transition:transform var(--ah-duration) cubic-bezier(.76,0,.24,1)}
.is-open .ah-panel::before{transform:translateY(0)}
.ah-panel__top{display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:2;padding-bottom:36px}
.ah-toggle--close{background:var(--ah-text);color:var(--ah-background)}
.ah-toggle--close .ah-toggle__label{background:var(--ah-button-bg);color:var(--ah-button-text)}
.ah-toggle--close .ah-toggle__icon span{top:12px;transform:rotate(45deg);width:27px}
.ah-toggle--close .ah-toggle__icon span+span{transform:rotate(-45deg)}
.ah-toggle--close:hover .ah-toggle__icon{transform:rotate(90deg);transition:transform .4s}
.ah-panel__body{min-height:calc(100% - 80px);display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-rows:1fr auto;gap:56px 8%;position:relative;padding-top:24px;padding-bottom:12px}
.ah-panel__body::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--ah-muted);opacity:.3;transform:scaleX(0);transform-origin:left;transition:transform .7s .25s}
.is-open .ah-panel__body::before{transform:scaleX(1)}
.ah-panel__aside{display:flex;flex-direction:column;gap:48px}
.ah-eyebrow{font-size:14px;color:var(--ah-muted);opacity:.7;margin:0 0 20px}
.ah-menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.ah-menu li{margin:0;padding:0;list-style:none;min-width:0}
.ah-menu a{color:var(--ah-text);font-size:clamp(23px,2.1vw,38px);line-height:1.18;font-weight:400;letter-spacing:-.035em;text-decoration:none;display:inline-block;padding:4px 0;position:relative;overflow-wrap:anywhere;transition:color .3s,transform .4s cubic-bezier(.22,1,.36,1)}
.ah-menu-group--primary>.ah-menu>li>a{font-size:clamp(36px,4vw,72px)}
.ah-menu a::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s}
.ah-menu a:hover,.ah-menu a:focus-visible{color:var(--ah-accent);transform:translateX(6px)}
.ah-menu a:hover::after,.ah-menu a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.ah-menu .current-menu-item>a{color:var(--ah-accent)}
.ah-menu .sub-menu{list-style:none;margin:8px 0 16px;padding-left:20px;border-left:1px solid color-mix(in srgb,var(--ah-muted) 25%,transparent)}
.ah-menu .sub-menu a{font-size:clamp(18px,1.6vw,26px)}
.ah-panel__social{align-self:end}.ah-panel__social .ah-menu{flex-direction:row;gap:24px;flex-wrap:wrap}.ah-panel__social .ah-menu a{font-size:15px;letter-spacing:0}.ah-panel__social .ah-eyebrow{display:none}
.ah-panel__contact{max-width:38ch;align-self:end;font-size:15px;line-height:1.5;color:var(--ah-muted)}
.ah-panel__contact p{margin:0 0 12px;white-space:normal}.ah-contact-contact_title{color:var(--ah-text)}
.ah-panel__contact a{display:block;color:var(--ah-text);text-underline-offset:4px;margin-top:8px;overflow-wrap:anywhere}.ah-panel__contact a:hover{color:var(--ah-accent)}
.ah-dialog [data-ah-reveal],.ah-dialog .ah-menu>li{opacity:0;transform:translateY(20px);transition:opacity .35s,transform .35s;transition-delay:0ms}
.ah-dialog.is-open [data-ah-reveal],.ah-dialog.is-open .ah-menu>li{opacity:1;transform:translateY(0);transition-duration:.7s;transition-timing-function:cubic-bezier(.22,1,.36,1);transition-delay:var(--ah-delay,400ms)}
.ah-nojs{padding:24px;background:var(--ah-background);color:var(--ah-text)}
body:has(.ah-header--overlay) .charnay-hero__inner{padding-top:120px}
@media(min-width:1920px){.ah-panel__body{max-width:2200px;margin-inline:auto}}
@media(max-width:767px){.ah-header{padding:18px var(--ah-mobile-gutter)}.ah-panel{padding:30px calc(12px + var(--ah-mobile-gutter))}.ah-panel__top{padding-bottom:28px}.ah-panel__body{display:flex;flex-direction:column;gap:42px;min-height:calc(100% - 70px)}.ah-panel__aside{gap:42px}.ah-panel__social,.ah-panel__contact{align-self:stretch}.ah-panel__social{order:4}.ah-menu-group--primary>.ah-menu>li>a{font-size:clamp(32px,7vw,48px)}.ah-menu a{font-size:26px}.ah-eyebrow{margin-bottom:16px}.ah-logo{font-size:25px}.ah-toggle{gap:10px}.ah-toggle__label{padding:9px 8px}}
@media(max-width:781px){.admin-bar .ah-header--overlay{top:58px}}
@media(max-width:359px){.ah-panel{padding-inline:24px}.ah-header{padding-inline:16px}.ah-logo{max-width:45%;font-size:22px}}
@media(max-height:540px) and (orientation:landscape){.ah-panel{padding-top:20px}.ah-panel__top{padding-bottom:20px}.ah-panel__body{gap:32px}.ah-menu-group--primary>.ah-menu>li>a{font-size:36px}}
@media(prefers-reduced-motion:reduce){.ah-dialog *,.ah-dialog *::before,.ah-dialog *::after,.ah-toggle *{transition:none!important;animation:none!important}}

/* Keep the close control available while long mobile menus scroll. */
.ah-panel{display:flex;flex-direction:column;overflow:hidden}
.ah-panel__top{flex:none}
.ah-panel__body{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
@media(max-width:767px){.ah-panel__body{min-height:0;flex:1}.ah-panel__body>*{flex-shrink:0}}

/* One persistent button and logo: the same header moves into the modal layer. */
.ah-toggle__label{display:grid;overflow:hidden}
.ah-toggle__label>span{grid-area:1/1;transition:opacity .3s,transform .45s cubic-bezier(.22,1,.36,1)}
.ah-label-close{opacity:0;transform:translateY(130%)}
.ah-toggle--close .ah-label-open{opacity:0;transform:translateY(-130%)}
.ah-toggle--close .ah-label-close{opacity:1;transform:translateY(0)}
.ah-toggle__label{transition:background .4s,color .4s}
.ah-toggle--close .ah-toggle__icon span{top:12px;transform:rotate(45deg);width:27px}
.ah-toggle--close .ah-toggle__icon span+span{transform:rotate(-45deg)}
.ah-toggle:not(.ah-toggle--close) .ah-toggle__icon{transform:none}
.ah-toggle--close:hover .ah-toggle__icon span{width:27px}
.ah-toggle--close:hover .ah-toggle__icon span:first-child{transform:rotate(45deg)}
.ah-toggle--close:hover .ah-toggle__icon span+span{transform:rotate(-45deg)}
.ah-toggle__icon{transition:transform .4s}
.ah-dialog>.ah-header{background:transparent;border-radius:0}
.ah-dialog.is-open .ah-toggle:not(.ah-toggle--close) .ah-toggle__icon span{top:8px;transform:none}
.ah-dialog.is-open .ah-toggle:not(.ah-toggle--close) .ah-toggle__icon span+span{top:16px}

@media(prefers-reduced-motion:reduce){.ah-toggle{transition:none!important}}

/* Contact uses its own featured image in a compact cover header. */
.ah-header--contact-cover{min-height:clamp(300px,40vh,440px);align-items:flex-start;overflow:hidden;isolation:isolate}
/* Keep WooCommerce's global image height:auto from expanding the hero cover. */
.ah-header > img.ah-header__cover{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;object-fit:cover;object-position:center;z-index:-2}
.ah-header--contact-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,42,51,.65),rgba(20,42,51,.18));z-index:-1}
.ah-dialog>.ah-header--contact-cover{min-height:0;align-items:center;overflow:visible}
.ah-dialog .ah-header__cover,.ah-dialog>.ah-header--contact-cover::before{display:none}
@media(max-width:767px){.ah-header--contact-cover{min-height:260px}.ah-dialog>.ah-header--contact-cover{min-height:0}}

.ah-header__title{position:absolute;left:var(--ah-gutter);right:var(--ah-gutter);bottom:28px;margin:0;color:#fff;font-size:clamp(48px,5.6vw,96px);font-weight:400;letter-spacing:-.055em;line-height:1.05}
.ah-dialog .ah-header__title{display:none}
@media(max-width:767px){.ah-header__title{left:var(--ah-mobile-gutter);right:var(--ah-mobile-gutter);bottom:24px;font-size:48px}}

@keyframes ah-title-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.ah-header__title{animation:ah-title-enter 1s cubic-bezier(.22,1,.36,1) .15s both}
.ah-header--title-ready .ah-header__title{animation:none}
@media(prefers-reduced-motion:reduce){.ah-header__title{animation:none}}

/* Independent navigation beside the catalogue trigger. */
.ah-inline-nav{margin-left:auto;max-width:65%}
.ah-inline-menu{display:flex;align-items:center;min-height:46px;gap:24px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.ah-inline-menu li{position:relative;list-style:none;margin:0;padding:0}
.ah-inline-menu a{color:inherit;text-decoration:none;font-size:15px;line-height:1;display:block;position:relative}
.ah-inline-menu a:after{content:"";height:1px;position:absolute;bottom:-3px;left:0;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.ah-inline-menu a:hover:after,.ah-inline-menu a:focus-visible:after{transform:scaleX(1)}
.ah-inline-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:200px;padding:16px;background:var(--ah-background);border-radius:10px;z-index:5}
.ah-inline-menu li:hover>.sub-menu,.ah-inline-menu li:focus-within>.sub-menu{display:block}
.ah-inline-menu .sub-menu .sub-menu{position:static;padding:10px}
.ah-catalog-intro h2{font-size:clamp(28px,3vw,44px);font-weight:400;letter-spacing:-.04em;line-height:1.1;margin:0 0 24px}
.ah-catalog-intro>p:not(.ah-eyebrow){font-size:16px;line-height:1.6;color:var(--ah-muted)}
.ah-catalog-intro>a{display:inline-block;color:var(--ah-text);margin-top:20px;text-underline-offset:6px}
@media(max-width:767px){.ah-header{flex-wrap:wrap}.ah-inline-nav{order:3;max-width:100%;width:100%;margin:0}.ah-inline-menu{gap:16px;padding:8px 0}.ah-inline-menu a{font-size:14px}.ah-header--contact-cover{padding-bottom:115px}.ah-dialog>.ah-header--contact-cover{padding-bottom:18px}.ah-header--contact-cover .ah-inline-nav{align-self:flex-start}.ah-header--overlay .ah-inline-nav{margin-top:0}}
@media(prefers-reduced-motion:reduce){.ah-inline-menu a:after{transition:none}}

/* Inline navigation: separate accessible disclosure and comfortable dropdowns. */
.ah-header--contact-cover{overflow:visible}
.ah-header__cover,.ah-header--contact-cover::before{border-radius:inherit}
.ah-inline-menu .ah-submenu-ready{display:flex;align-items:center;flex-wrap:wrap;column-gap:4px}
.ah-submenu-toggle{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:5px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.ah-submenu-toggle svg{width:18px;height:18px;transition:transform .2s}
.ah-submenu-toggle:hover{background:#ffffff20}
.ah-submenu-toggle:focus-visible{outline:2px solid var(--ah-accent);outline-offset:2px}
.ah-submenu-open>.ah-submenu-toggle svg{transform:rotate(180deg)}
.ah-inline-menu .sub-menu{width:280px;max-width:calc(100vw - 64px);min-width:0;margin:0;padding:8px;border:1px solid #ffffff20;border-radius:12px;background:var(--ah-background);color:var(--ah-text);box-shadow:0 14px 32px #08151c40;top:100%;z-index:30}
.ah-inline-menu .sub-menu a{padding:12px 14px;font-size:14px;line-height:1.5;border-radius:7px;overflow-wrap:anywhere;flex:1;min-width:0}
.ah-inline-menu .sub-menu a::after{display:none}
.ah-inline-menu .sub-menu a:hover,.ah-inline-menu .sub-menu a:focus-visible{background:#ffffff12;color:var(--ah-accent)}
.ah-inline-menu .ah-submenu-ready>.sub-menu{display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .24s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s}
.ah-inline-menu .ah-submenu-ready.ah-submenu-open>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
.ah-inline-menu .sub-menu .ah-submenu-ready>.sub-menu{max-height:0;overflow:hidden;margin-block:0;padding-block:0;border-width:0;transition:opacity .24s ease,transform .3s ease,max-height .3s ease,visibility 0s linear .3s}
.ah-inline-menu .sub-menu .ah-submenu-ready.ah-submenu-open>.sub-menu{max-height:70vh;overflow:auto;margin-block:4px;padding-block:4px;border-width:1px;transition-delay:0s}
@media(prefers-reduced-motion:reduce){.ah-inline-menu .ah-submenu-ready>.sub-menu{transition:none;transform:none}}
.ah-inline-menu>li:last-child>.sub-menu{left:auto;right:0}
.ah-inline-menu .sub-menu .sub-menu{width:100%;box-shadow:none;flex-basis:100%;padding:4px;margin:4px 0;border-color:#ffffff14}
@media(max-width:767px){.ah-submenu-toggle{width:36px;height:36px}.ah-inline-menu .sub-menu{width:240px}}
@media(prefers-reduced-motion:reduce){.ah-submenu-toggle svg{transition:none}}
