.an-scrim{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--surface-scrim);opacity:0;transition:opacity var(--duration-luxury) var(--ease-out)}
.an-scrim--in{opacity:1}
.an-modal{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none}
.an-modal__panel{position:relative;pointer-events:auto;width:100%;max-height:calc(100vh - 48px);overflow:auto;background:var(--surface-panel);color:var(--text-primary);box-shadow:var(--shadow-overlay);opacity:0;transform:translateY(24px);transition:opacity var(--duration-luxury) var(--ease-out),transform var(--duration-luxury) var(--ease-out)}
.an-modal__panel--in{opacity:1;transform:none}
.an-modal__panel--sm{max-width:480px}.an-modal__panel--md{max-width:720px}.an-modal__panel--lg{max-width:1040px}
.an-overlay__close{position:absolute;top:16px;right:16px;z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;background:none;cursor:pointer;color:inherit;transition:transform var(--duration-standard) var(--ease-out)}
.an-overlay__close:hover{transform:rotate(90deg)}
.an-overlay__head{padding:40px 40px 0;display:flex;flex-direction:column;gap:12px}
.an-overlay__title{font-family:var(--font-display);font-size:var(--type-heading-lg);font-weight:var(--weight-display);line-height:1.1;padding-right:48px}
.an-overlay__body{padding:32px 40px 40px}

.an-drawer__panel{position:fixed;z-index:var(--z-overlay);top:0;bottom:0;display:flex;flex-direction:column;width:min(100vw,var(--drawer-w,480px));background:var(--surface-panel);color:var(--text-primary);transition:transform var(--duration-luxury) var(--ease-reveal)}
.an-drawer__panel--right{right:0;transform:translateX(100%)}
.an-drawer__panel--left{left:0;transform:translateX(-100%)}
.an-drawer__panel--bottom{top:auto;left:0;right:0;width:100%;max-height:88vh;transform:translateY(100%)}
.an-drawer__panel--in{transform:none}
.an-drawer__panel--dark{background:var(--color-chocolate);color:var(--text-on-dark)}
.an-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;min-height:80px;border-bottom:1px solid var(--border-hairline)}
.an-drawer__panel--dark .an-drawer__head,.an-drawer__panel--dark .an-drawer__foot{border-color:var(--border-dark)}
.an-drawer__head .an-overlay__close{position:static;margin-right:-12px}
.an-drawer__body{flex:1;overflow:auto;padding:32px}
.an-drawer__foot{padding:24px 32px 32px;border-top:1px solid var(--border-hairline)}

.an-acc{border-top:1px solid var(--border-hairline)}
.an-acc--dark{border-color:var(--border-dark)}
.an-acc__item{border-bottom:1px solid var(--border-hairline)}
.an-acc--dark .an-acc__item{border-color:var(--border-dark)}
.an-acc__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border:0;background:none;cursor:pointer;color:inherit;text-align:left;font-family:var(--font-body);font-size:12px;font-weight:var(--weight-medium);letter-spacing:.16em;text-transform:uppercase}
.an-acc--lg .an-acc__trigger{font-family:var(--font-display);font-size:var(--type-heading-md);font-weight:var(--weight-display);letter-spacing:0;text-transform:none;padding:28px 0}
.an-acc__meta{margin-left:auto;font-size:var(--type-caption);letter-spacing:.08em;color:var(--text-muted);text-transform:none;font-family:var(--font-body)}
.an-acc__icon{position:relative;width:14px;height:14px;flex-shrink:0}
.an-acc__icon::before,.an-acc__icon::after{content:"";position:absolute;left:0;top:50%;width:14px;height:1px;background:currentColor;transition:transform var(--duration-standard) var(--ease-out)}
.an-acc__icon::after{transform:rotate(90deg)}
.an-acc__trigger[aria-expanded="true"] .an-acc__icon::after{transform:rotate(0)}
.an-acc__trigger:hover .an-acc__icon{color:var(--color-gold)}
.an-acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-luxury) var(--ease-reveal)}
.an-acc__panel--open{grid-template-rows:1fr}
.an-acc__inner{overflow:hidden}
.an-acc__content{padding:0 0 28px;font-size:var(--type-body-sm);line-height:1.75;color:var(--text-secondary);max-width:var(--measure-body)}
.an-acc--dark .an-acc__content{color:var(--text-on-dark-muted)}

.an-search{position:fixed;left:0;right:0;top:0;z-index:var(--z-overlay);background:var(--surface-canvas);color:var(--text-primary);max-height:100vh;overflow:auto;transform:translateY(-24px);opacity:0;transition:opacity var(--duration-luxury) var(--ease-out),transform var(--duration-luxury) var(--ease-out)}
.an-search--in{transform:none;opacity:1}
.an-search__inner{padding-top:96px;padding-bottom:72px}
.an-search__form{position:relative;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--border-strong);padding-bottom:16px}
.an-search__input{flex:1;min-width:0;border:0;background:none;outline:none;font-family:var(--font-display);font-size:clamp(34px,4.4vw,64px);font-weight:var(--weight-display);color:var(--text-primary);padding:0}
.an-search__input::placeholder{color:var(--color-taupe)}
.an-search__progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;overflow:hidden}
.an-search__progress::after{content:"";position:absolute;inset:0;width:30%;background:var(--color-gold);animation:an-progress 1.2s var(--ease-maison) infinite}
.an-search__cols{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--grid-gutter);margin-top:48px}
.an-search__pop{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.an-search__popbtn{background:none;border:0;padding:0;cursor:pointer;color:inherit;font-family:var(--font-display);font-size:24px;font-weight:var(--weight-display);text-align:left;transition:color var(--duration-fast),transform var(--duration-standard) var(--ease-out)}
.an-search__popbtn:hover{color:var(--color-burgundy);transform:translateX(6px)}
.an-search__results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gutter);margin-top:20px}
.an-search__result{display:flex;flex-direction:column;gap:12px;background:none;border:0;padding:0;cursor:pointer;color:inherit;text-align:left}
.an-search__empty{font-family:var(--font-display);font-size:var(--type-display-md);font-weight:var(--weight-display);line-height:1.05;margin-top:20px;animation:an-fade-up var(--duration-luxury) var(--ease-out) both}
@media (max-width:1023px){.an-search__cols{grid-template-columns:1fr}.an-search__results{grid-template-columns:repeat(2,minmax(0,1fr))}}
