.an-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.an-field__label{font-family:var(--font-body);font-size:var(--type-eyebrow);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}
.an-field__control{position:relative;display:flex;align-items:center}
.an-field__input{width:100%;height:var(--field-height);padding:0;border:0;border-bottom:1px solid var(--field-border);border-radius:0;background:transparent;font-family:var(--font-body);font-size:var(--type-body);color:var(--text-primary);outline:none;appearance:none;-webkit-appearance:none;transition:border-color var(--duration-fast) var(--ease-out)}
.an-field__input::placeholder{color:var(--color-taupe)}
textarea.an-field__input{height:auto;min-height:128px;padding-top:12px;resize:vertical;line-height:1.6}
select.an-field__input{padding-right:28px;cursor:pointer}
.an-field__chev{position:absolute;right:0;pointer-events:none;color:var(--text-muted)}
.an-field__line{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--field-border-focus);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-luxury) var(--ease-reveal)}
.an-field__control:focus-within .an-field__line{transform:scaleX(1)}
.an-field__control:focus-within .an-field__input{outline:none}
.an-field__msg{font-size:var(--type-caption);line-height:1.5;color:var(--text-muted)}
.an-field--error .an-field__input{border-bottom-color:var(--color-error)}
.an-field--error .an-field__line{background:var(--color-error)}
.an-field--error .an-field__msg{color:var(--text-error)}
.an-field--disabled{opacity:.5}
.an-field--disabled .an-field__input{cursor:not-allowed}
.an-field--on-dark .an-field__label{color:var(--text-on-dark-muted)}
.an-field--on-dark .an-field__input{color:var(--text-on-dark);border-bottom-color:var(--border-dark)}
.an-field--on-dark .an-field__line{background:var(--color-gold-light)}
.an-field--on-dark .an-field__input::placeholder{color:var(--color-muted)}

.an-check{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:var(--type-body-sm);color:var(--text-primary);min-height:32px}
.an-check__box{position:relative;width:16px;height:16px;flex-shrink:0}
.an-check__input{position:absolute;inset:0;margin:0;appearance:none;-webkit-appearance:none;border:1px solid var(--color-charcoal);border-radius:0;background:transparent;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}
.an-check__input:checked{background:var(--color-espresso);border-color:var(--color-espresso)}
.an-check__input:focus-visible{outline:1px solid var(--focus-ring);outline-offset:3px}
.an-check__tick{position:absolute;left:2px;top:2px;color:var(--color-ivory);pointer-events:none;opacity:0;transition:opacity var(--duration-fast)}
.an-check__input:checked + .an-check__tick{opacity:1}
.an-check__count{margin-left:auto;font-size:var(--type-caption);color:var(--text-muted)}
.an-check--disabled{opacity:.45;cursor:not-allowed}
.an-check--disabled .an-check__input{cursor:not-allowed}

.an-stepper{display:inline-flex;align-items:center;height:40px;border:1px solid var(--border-hairline)}
.an-stepper__btn{width:40px;height:100%;display:flex;align-items:center;justify-content:center;border:0;background:none;cursor:pointer;color:var(--text-primary);transition:color var(--duration-fast)}
.an-stepper__btn:hover{color:var(--color-burgundy)}
.an-stepper__btn:disabled{color:var(--color-taupe);cursor:not-allowed}
.an-stepper__val{min-width:28px;text-align:center;font-size:var(--type-body-sm);font-variant-numeric:tabular-nums}

.an-cal{width:100%;max-width:392px}
.an-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.an-cal__month{font-family:var(--font-display);font-size:var(--type-heading-md);font-weight:var(--weight-display);text-transform:capitalize}
.an-cal__nav{display:flex;gap:4px}
.an-cal__navbtn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:none;cursor:pointer;color:var(--text-primary)}
.an-cal__navbtn:hover{border-color:var(--border-hairline)}
.an-cal__navbtn:disabled{color:var(--color-taupe);cursor:not-allowed;border-color:transparent}
.an-cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.an-cal__dow{height:28px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--weight-medium);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}
.an-cal__day{position:relative;aspect-ratio:1/1;min-height:40px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:none;cursor:pointer;font-size:var(--type-body-sm);font-variant-numeric:tabular-nums;color:var(--text-primary);transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast)}
.an-cal__day:hover{border-color:var(--border-strong)}
.an-cal__day:disabled{color:var(--color-taupe);cursor:not-allowed;border-color:transparent;text-decoration:line-through;text-decoration-color:rgba(183,170,157,.6)}
.an-cal__day[aria-pressed="true"]{background:var(--color-espresso);border-color:var(--color-espresso);color:var(--color-ivory)}
.an-cal__day--today::after{content:"";position:absolute;bottom:6px;left:50%;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:var(--color-gold)}

.an-news{display:flex;flex-direction:column;gap:24px;max-width:520px}
.an-news__row{display:flex;align-items:flex-end;gap:16px}
.an-news__send{flex-shrink:0;height:var(--field-height);padding:0 4px;border:0;border-bottom:1px solid var(--field-border);background:none;cursor:pointer;font-family:var(--font-body);font-size:var(--type-eyebrow);font-weight:var(--weight-medium);letter-spacing:var(--tracking-button);text-transform:uppercase;color:inherit;display:inline-flex;align-items:center;gap:10px}
.an-news__send:hover .an-btn__icon{transform:translateX(4px)}
.an-news__send:disabled{opacity:.5;cursor:progress}
.an-news__done{font-family:var(--font-display);font-size:var(--type-heading-lg);font-weight:var(--weight-display);line-height:1.15;animation:an-fade-up var(--duration-luxury) var(--ease-out) both}
