/* ==========================================================================
   Layout helpers
   ========================================================================== */
.ae-container{max-width:var(--ae-maxw);margin:0 auto;padding:0 32px;}
.ae-eyebrow{display:block;font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--ae-grey);margin-bottom:14px;}
.ae-section{padding:96px 0;}
.ae-section--tight{padding:64px 0;}
.ae-btn{
  display:inline-block;border:1px solid var(--ae-black);padding:14px 34px;
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  transition:background .25s ease,color .25s ease;
}
.ae-btn:hover{background:var(--ae-black);color:var(--ae-white);}
.ae-btn--light{border-color:var(--ae-white);color:var(--ae-white);}
.ae-btn--light:hover{background:var(--ae-white);color:var(--ae-black);}

/* ==========================================================================
   Site header
   ========================================================================== */
.ae-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(6px);border-bottom:1px solid var(--ae-line);
}
.ae-header__inner{
  max-width:var(--ae-maxw);margin:0 auto;padding:22px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.ae-logo{font-family:var(--ae-font-display);font-size:24px;letter-spacing:.18em;text-transform:uppercase;}
.ae-nav-primary ul{display:flex;gap:36px;}
.ae-nav-primary a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;}
.ae-nav-primary a:hover,.ae-nav-primary .current-menu-item>a{color:var(--ae-grey);}
.ae-header__right{display:flex;align-items:center;gap:24px;}
.ae-nav-utility a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;}
.ae-burger{display:none;background:none;border:0;width:26px;height:18px;position:relative;}
.ae-burger span{position:absolute;left:0;right:0;height:1px;background:var(--ae-black);}
.ae-burger span:nth-child(1){top:0;}
.ae-burger span:nth-child(2){top:8px;}
.ae-burger span:nth-child(3){top:16px;}

@media (max-width:860px){
  .ae-nav-primary{
    position:fixed;inset:0;top:69px;background:var(--ae-white);padding:40px 32px;
    display:none;
  }
  .ae-nav-primary.is-open{display:block;}
  .ae-nav-primary ul{flex-direction:column;gap:24px;}
  .ae-burger{display:block;}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.ae-hero{padding:80px 0 0;}
.ae-hero__grid{display:grid;grid-template-columns:1fr .9fr;gap:64px;align-items:center;}
.ae-hero__copy{padding-bottom:80px;}
.ae-hero h1{font-size:clamp(38px,5.2vw,68px);margin:0 0 26px;}
.ae-hero h1 em{font-style:italic;}
.ae-hero p{max-width:480px;margin:0 0 40px;color:var(--ae-grey);font-size:17px;}
.ae-hero__img{aspect-ratio:3/4;overflow:hidden;background:#eee;}
.ae-hero__img img{width:100%;height:100%;object-fit:cover;}
.ae-hero__info{margin-top:48px;padding-top:40px;border-top:1px solid var(--ae-line, #e6e3dc);max-width:480px;}
.ae-hero__info p{text-align:left;font-size:15px;line-height:1.8;color:var(--ae-grey);margin:0 0 24px;}
.ae-hero__info p:last-child{margin-bottom:0;}
@media (max-width:900px){
  .ae-hero{padding:56px 0 0;}
  .ae-hero__grid{grid-template-columns:1fr;text-align:center;}
  .ae-hero__copy{padding-bottom:40px;}
  .ae-hero p{margin-left:auto;margin-right:auto;}
  .ae-hero__info{margin-left:auto;margin-right:auto;}
  .ae-hero__info p{text-align:center;}
  .ae-hero__img{aspect-ratio:4/3;order:-1;margin-bottom:40px;}
}

/* ==========================================================================
   Agency / About stats section
   ========================================================================== */
.ae-agency{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.ae-agency__copy p{color:var(--ae-grey);font-size:17px;max-width:520px;}
.ae-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px;}
.ae-stat b{display:block;font-family:var(--ae-font-display);font-size:44px;font-weight:500;}
.ae-stat span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ae-grey);}
@media (max-width:760px){.ae-agency{grid-template-columns:1fr;}}

/* ==========================================================================
   Section heading row (label + title + link)
   ========================================================================== */
.ae-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px;gap:24px;flex-wrap:wrap;}
.ae-section-head h2{font-size:clamp(28px,3.4vw,42px);margin:0;}
.ae-section-head .ae-eyebrow{margin-bottom:8px;}

/* ==========================================================================
   Model grid / cards
   ========================================================================== */
.ae-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--ae-line);}
.ae-card{background:var(--ae-white);position:relative;overflow:hidden;}
.ae-card__img{aspect-ratio:3/4;overflow:hidden;background:#eee;}
.ae-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.ae-card:hover .ae-card__img img{transform:scale(1.05);}
.ae-card__meta{padding:16px 4px;}
.ae-card__meta h3{font-size:16px;margin:0 0 2px;}
.ae-card__meta span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ae-grey);}
@media (max-width:1000px){.ae-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.ae-grid{grid-template-columns:1fr;}}

.ae-empty{padding:64px 0;text-align:center;color:var(--ae-grey);font-size:14px;letter-spacing:.05em;}

/* Filter tabs (Models page) */
.ae-filters{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;margin-bottom:56px;}
.ae-filters a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ae-grey);padding-bottom:6px;border-bottom:1px solid transparent;}
.ae-filters a.is-active,.ae-filters a:hover{color:var(--ae-black);border-color:var(--ae-black);}

/* ==========================================================================
   Editorial Carousel (NEW section)
   ========================================================================== */
.ae-carousel-section{background:var(--ae-black);color:var(--ae-white);overflow:hidden;}
.ae-carousel-section .ae-section-head .ae-eyebrow{color:#9a9a9a;}
.ae-carousel-section .ae-section-head h2{color:var(--ae-white);}
.ae-carousel{position:relative;}
.ae-carousel__track{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:8px;-ms-overflow-style:none;scrollbar-width:none;
}
.ae-carousel__track::-webkit-scrollbar{display:none;}
.ae-carousel__slide{
  flex:0 0 auto;width:320px;scroll-snap-align:start;position:relative;
  aspect-ratio:3/4;overflow:hidden;background:#1c1c1c;
}
.ae-carousel__slide img{width:100%;height:100%;object-fit:cover;}
.ae-carousel__caption{
  position:absolute;left:0;right:0;bottom:0;padding:22px;
  background:linear-gradient(to top,rgba(0,0,0,.75),transparent);
}
.ae-carousel__caption span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d8d8d8;}
.ae-carousel__caption h3{font-size:18px;margin:2px 0 0;color:var(--ae-white);}
.ae-carousel__nav{display:flex;gap:12px;margin-top:32px;justify-content:flex-end;}
.ae-carousel__nav button{
  width:44px;height:44px;border-radius:50%;border:1px solid #444;background:transparent;color:var(--ae-white);
  display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease;
}
.ae-carousel__nav button:hover{background:var(--ae-white);color:var(--ae-black);border-color:var(--ae-white);}
@media (max-width:560px){.ae-carousel__slide{width:230px;}}

/* ==========================================================================
   Generic page header (About / Casting / archive)
   ========================================================================== */
.ae-page-header{padding:120px 0 60px;text-align:center;border-bottom:1px solid var(--ae-line);}
.ae-page-header h1{font-size:clamp(34px,5vw,58px);max-width:760px;margin:0 auto;}
.ae-page-header .ae-eyebrow{justify-content:center;display:flex;}

.ae-prose{max-width:760px;margin:0 auto;font-size:18px;color:#3a3a3a;}
.ae-prose p{margin-bottom:1.4em;}

/* Casting / contact block */
.ae-contact-box{
  max-width:640px;margin:0 auto;text-align:center;border:1px solid var(--ae-line);
  padding:64px 40px;
}
.ae-contact-box a{border-bottom:1px solid var(--ae-black);}

/* Single model */
.ae-single-model{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;padding:80px 0;}
.ae-single-model__img{aspect-ratio:3/4;overflow:hidden;background:#eee;}
.ae-single-model__img img{width:100%;height:100%;object-fit:cover;}
.ae-single-model__meta{display:flex;gap:32px;margin:24px 0;flex-wrap:wrap;}
.ae-single-model__meta div span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ae-grey);}
.ae-single-model__meta div b{font-family:var(--ae-font-display);font-size:20px;font-weight:500;}
@media (max-width:800px){.ae-single-model{grid-template-columns:1fr;}}

/* ==========================================================================
   Footer
   ========================================================================== */
.ae-footer{border-top:1px solid var(--ae-line);padding:64px 0 32px;margin-top:40px;}
.ae-footer__top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;margin-bottom:48px;}
.ae-footer__logo{font-family:var(--ae-font-display);font-size:22px;letter-spacing:.16em;text-transform:uppercase;}
.ae-footer-nav ul{display:flex;gap:26px;flex-wrap:wrap;}
.ae-footer-nav a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ae-grey);}
.ae-footer-nav a:hover{color:var(--ae-black);}
.ae-footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid var(--ae-line);}
.ae-footer__bottom p{margin:0;font-size:12px;color:var(--ae-grey);letter-spacing:.04em;}
.ae-widget-area{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px;}
@media (max-width:700px){.ae-widget-area{grid-template-columns:1fr;}.ae-footer__top{flex-direction:column;}}
