/* ===========================================
   AURÉLIA — Luxury Fashion House
   Premium Boutique Experience
   =========================================== */

/* ---------- Custom Properties ---------- */
:root {
  --bg: #0a0a0a;
  --bg-alt: #111111;
  --bg-card: #141414;
  --beige: #c9a96e;
  --beige-light: #f5e6d0;
  --gold: #d4af37;
  --ivory: #faf6f0;
  --nude: #d5c4a1;
  --text: #faf6f0;
  --text-muted: #6a6a6a;
  --glass-bg: rgba(255,255,255,0.04);
  --glass-border: rgba(255,255,255,0.08);
  --font-display: 'Playfair Display', serif;
  --font-body: 'Cormorant Garamond', serif;
  --font-ui: 'DM Sans', sans-serif;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---------- Base Reset ---------- */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { background:var(--bg); color:var(--text); font-family:var(--font-body); scroll-behavior:auto; }
body { overflow-x:hidden; background:var(--bg); cursor:none; }
a { color:inherit; text-decoration:none; cursor:none; }
button { cursor:none; border:none; background:none; color:inherit; font:inherit; }
img { display:block; max-width:100%; }
::selection { background:var(--beige); color:var(--bg); }

/* ---------- Noise Overlay ---------- */
.noise {
  position:fixed; inset:0; z-index:9998; pointer-events:none; opacity:.035;
}
.noise svg { width:100%; height:100%; }

/* ---------- Preloader ---------- */
.preloader {
  position:fixed; inset:0; z-index:10000; background:var(--bg);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.preloader__brand {
  font-family:var(--font-display); font-size:clamp(2rem,5vw,4rem);
  letter-spacing:.3em; text-transform:uppercase; color:var(--ivory);
  overflow:hidden;
}
.preloader__brand span { display:inline-block; transform:translateY(110%); }
.preloader__counter {
  font-family:var(--font-ui); font-size:.85rem; letter-spacing:.5em;
  color:var(--beige); margin-top:2rem; opacity:0;
}
.preloader__line {
  width:120px; height:1px; background:var(--text-muted); margin-top:1.5rem;
  transform:scaleX(0); transform-origin:left;
}

/* ---------- Custom Cursor ---------- */
.cursor { position:fixed; top:0; left:0; z-index:9999; pointer-events:none; mix-blend-mode:difference; }
.cursor__dot {
  width:8px; height:8px; background:var(--ivory); border-radius:50%;
  transform:translate(-50%,-50%);
}
.cursor__circle {
  width:44px; height:44px; border:1px solid rgba(250,246,240,.4); border-radius:50%;
  transform:translate(-50%,-50%);
  transition:width .35s var(--ease), height .35s var(--ease), border-color .35s;
}
.cursor--hover .cursor__circle { width:72px; height:72px; border-color:var(--beige); }
.cursor--text .cursor__circle {
  width:100px; height:100px; background:rgba(201,169,110,.12);
  border-color:var(--beige);
}

/* ---------- Navigation ---------- */
.nav {
  position:fixed; top:0; left:0; width:100%; z-index:500; padding:1.5rem 3rem;
  display:flex; align-items:center; justify-content:space-between;
  transition:background .5s, backdrop-filter .5s, padding .5s;
}
.nav--scrolled {
  background:rgba(10,10,10,.85); backdrop-filter:blur(20px);
  padding:1rem 3rem; border-bottom:1px solid var(--glass-border);
}
.nav__logo {
  font-family:var(--font-display); font-size:1.4rem; letter-spacing:.25em;
  text-transform:uppercase; color:var(--ivory);
}
.nav__links { display:flex; gap:2.5rem; list-style:none; }
.nav__links a {
  font-family:var(--font-ui); font-size:.75rem; letter-spacing:.15em;
  text-transform:uppercase; color:var(--text-muted);
  position:relative; transition:color .4s;
}
.nav__links a::after {
  content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px;
  background:var(--beige); transition:width .4s var(--ease);
}
.nav__links a:hover { color:var(--ivory); }
.nav__links a:hover::after { width:100%; }

/* Hamburger */
.nav__hamburger {
  display:none; flex-direction:column; gap:6px; width:28px; padding:4px 0;
  z-index:600;
}
.nav__hamburger span {
  display:block; height:1.5px; background:var(--ivory);
  transition:transform .4s var(--ease), opacity .3s;
}
.nav__hamburger.active span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
.nav__hamburger.active span:nth-child(2) { opacity:0; }
.nav__hamburger.active span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }

/* Mobile Menu Overlay */
.mobile-menu {
  position:fixed; inset:0; z-index:550; background:rgba(10,10,10,.97);
  backdrop-filter:blur(30px);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:2rem; opacity:0; pointer-events:none; transition:opacity .5s;
}
.mobile-menu.open { opacity:1; pointer-events:auto; }
.mobile-menu a {
  font-family:var(--font-display); font-size:clamp(1.8rem,4vw,3rem);
  letter-spacing:.1em; color:var(--ivory); opacity:0;
  transform:translateY(30px); transition:color .3s;
}
.mobile-menu a:hover { color:var(--beige); }
.mobile-menu.open a {
  opacity:1; transform:translateY(0);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.mobile-menu.open a:nth-child(2) { transition-delay:.08s; }
.mobile-menu.open a:nth-child(3) { transition-delay:.16s; }
.mobile-menu.open a:nth-child(4) { transition-delay:.24s; }
.mobile-menu.open a:nth-child(5) { transition-delay:.32s; }
.mobile-menu.open a:nth-child(6) { transition-delay:.4s; }

/* ---------- Hero ---------- */
.hero {
  position:relative; height:100vh; width:100%; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.hero__bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  transform:scale(1.15); will-change:transform;
}
.hero__overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(10,10,10,.5) 0%, rgba(10,10,10,.3) 40%, rgba(10,10,10,.7) 100%);
}
.hero__content {
  position:relative; z-index:10; text-align:center; padding:0 2rem;
  max-width:900px;
}
.hero__label {
  font-family:var(--font-ui); font-size:.7rem; letter-spacing:.5em;
  text-transform:uppercase; color:var(--beige); margin-bottom:2rem;
  overflow:hidden;
}
.hero__label span { display:inline-block; }
.hero__title {
  font-family:var(--font-display); font-size:clamp(2.5rem,7vw,6.5rem);
  font-weight:400; line-height:1.1; color:var(--ivory);
  margin-bottom:1.5rem;
}
.hero__title .line { display:block; overflow:hidden; }
.hero__title .line span { display:inline-block; }
.hero__subtitle {
  font-family:var(--font-body); font-size:clamp(1rem,2vw,1.4rem);
  color:var(--nude); letter-spacing:.08em; margin-bottom:3rem;
  overflow:hidden;
}
.hero__subtitle span { display:inline-block; }

/* CTA Button */
.btn-cta {
  display:inline-flex; align-items:center; gap:.75rem;
  font-family:var(--font-ui); font-size:.72rem; letter-spacing:.25em;
  text-transform:uppercase; color:var(--ivory); padding:1rem 2.5rem;
  border:1px solid rgba(250,246,240,.25); position:relative; overflow:hidden;
  transition:border-color .4s;
}
.btn-cta::before {
  content:''; position:absolute; inset:0; background:var(--beige);
  transform:translateY(102%); transition:transform .5s var(--ease);
}
.btn-cta:hover { border-color:var(--beige); }
.btn-cta:hover::before { transform:translateY(0); }
.btn-cta span { position:relative; z-index:2; }
.btn-cta:hover span { color:var(--bg); }
.btn-cta .arrow {
  position:relative; z-index:2; width:20px; height:1px; background:currentColor;
  transition:width .4s;
}
.btn-cta .arrow::after {
  content:''; position:absolute; right:0; top:-3px;
  width:7px; height:7px; border-top:1px solid currentColor;
  border-right:1px solid currentColor; transform:rotate(45deg);
}
.btn-cta:hover .arrow { width:30px; }

/* Scroll Indicator */
.hero__scroll {
  position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:.75rem;
}
.hero__scroll span {
  font-family:var(--font-ui); font-size:.6rem; letter-spacing:.3em;
  text-transform:uppercase; color:var(--text-muted);
}
.hero__scroll-line {
  width:1px; height:50px; background:var(--text-muted); position:relative;
  overflow:hidden;
}
.hero__scroll-line::after {
  content:''; position:absolute; top:-100%; left:0; width:100%; height:100%;
  background:var(--beige);
  animation:scrollLine 2s ease-in-out infinite;
}
@keyframes scrollLine {
  0% { top:-100%; }
  50% { top:0; }
  100% { top:100%; }
}

/* ---------- Section Shared ---------- */
.section-padding { padding:10rem 3rem; }
.section-label {
  font-family:var(--font-ui); font-size:.65rem; letter-spacing:.5em;
  text-transform:uppercase; color:var(--beige); margin-bottom:1.5rem;
}
.section-title {
  font-family:var(--font-display); font-size:clamp(2rem,5vw,4rem);
  font-weight:400; color:var(--ivory); line-height:1.15;
}
.section-title .word { display:inline-block; overflow:hidden; }
.section-title .word span { display:inline-block; }

/* ---------- Collections ---------- */
.collections { background:var(--bg); }
.collections__grid {
  display:grid; gap:2rem; margin-top:4rem;
  grid-template-columns:repeat(12, 1fr);
  grid-auto-rows:minmax(350px, auto);
}
.collection-card {
  position:relative; overflow:hidden; border-radius:2px;
}
.collection-card:nth-child(1) { grid-column:1/7; grid-row:1/3; }
.collection-card:nth-child(2) { grid-column:7/10; }
.collection-card:nth-child(3) { grid-column:10/13; }
.collection-card:nth-child(4) { grid-column:7/13; }
.collection-card:nth-child(5) { grid-column:1/5; }
.collection-card:nth-child(6) { grid-column:5/9; }

.collection-card__img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.2s var(--ease);
}
.collection-card:hover .collection-card__img { transform:scale(1.08); }
.collection-card__overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,10,10,.75) 0%, transparent 60%);
}
.collection-card__content {
  position:absolute; bottom:0; left:0; right:0; padding:2rem;
  transform:translateY(15px); opacity:.85;
  transition:transform .6s var(--ease), opacity .4s;
}
.collection-card:hover .collection-card__content {
  transform:translateY(0); opacity:1;
}
.collection-card__title {
  font-family:var(--font-display); font-size:clamp(1.2rem,2vw,1.8rem);
  color:var(--ivory); margin-bottom:.5rem;
}
.collection-card__link {
  font-family:var(--font-ui); font-size:.65rem; letter-spacing:.25em;
  text-transform:uppercase; color:var(--beige);
  display:inline-flex; align-items:center; gap:.5rem;
}
.collection-card__link .line {
  width:20px; height:1px; background:var(--beige);
  transition:width .4s var(--ease);
}
.collection-card:hover .collection-card__link .line { width:35px; }

/* Image reveal mask */
.img-reveal {
  clip-path:inset(100% 0 0 0);
  transition:clip-path 1.2s var(--ease);
}
.img-reveal.revealed { clip-path:inset(0 0 0 0); }

/* ---------- Horizontal Scroll ---------- */
.hscroll { position:relative; overflow:hidden; }
.hscroll__track {
  display:flex; width:fit-content; will-change:transform;
}
.hscroll__panel {
  width:100vw; height:100vh; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  padding:4rem 6rem; gap:6rem; position:relative;
}
.hscroll__panel-img {
  flex:0 0 45%; height:70vh; overflow:hidden; border-radius:2px;
}
.hscroll__panel-img img {
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.15);
}
.hscroll__panel-text { flex:0 0 35%; }
.hscroll__panel-num {
  font-family:var(--font-display); font-size:6rem; color:rgba(201,169,110,.1);
  line-height:1; margin-bottom:1rem;
}
.hscroll__panel-title {
  font-family:var(--font-display); font-size:clamp(1.5rem,3vw,2.8rem);
  color:var(--ivory); margin-bottom:1.5rem; line-height:1.2;
}
.hscroll__panel-desc {
  font-family:var(--font-body); font-size:1.15rem; color:var(--text-muted);
  line-height:1.8; max-width:400px;
}
.hscroll__progress {
  position:absolute; bottom:3rem; left:50%; transform:translateX(-50%);
  width:200px; height:1px; background:rgba(250,246,240,.1);
}
.hscroll__progress-bar {
  height:100%; width:0%; background:var(--beige);
}

/* ---------- Lookbook ---------- */
.lookbook { background:var(--bg-alt); }
.lookbook__grid {
  columns:3; column-gap:1.5rem; margin-top:4rem;
}
.lookbook__item {
  break-inside:avoid; margin-bottom:1.5rem; position:relative;
  overflow:hidden; border-radius:2px;
}
.lookbook__item img {
  width:100%; display:block;
  transition:transform 1s var(--ease), filter .6s;
}
.lookbook__item:hover img { transform:scale(1.06); }
.lookbook__item-overlay {
  position:absolute; inset:0; background:rgba(10,10,10,.4);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .5s;
}
.lookbook__item:hover .lookbook__item-overlay { opacity:1; }
.lookbook__item-overlay span {
  font-family:var(--font-ui); font-size:.7rem; letter-spacing:.3em;
  text-transform:uppercase; color:var(--ivory);
  border:1px solid rgba(250,246,240,.4); padding:.6rem 1.5rem;
}

/* ---------- Signature ---------- */
.signature {
  position:relative; overflow:hidden; background:var(--bg);
  min-height:100vh; display:flex; align-items:center; justify-content:center;
}
.signature__canvas {
  position:absolute; inset:0; z-index:1;
}
.signature__content {
  position:relative; z-index:10; text-align:center;
  max-width:1000px; padding:0 2rem;
}
.signature__line {
  font-family:var(--font-display); font-size:clamp(2rem,6vw,5rem);
  font-weight:400; line-height:1.3; color:var(--ivory);
  margin-bottom:1rem; overflow:hidden;
}
.signature__line span { display:inline-block; }
.signature__line .accent { color:var(--beige); font-style:italic; }
.signature__divider {
  width:80px; height:1px; background:var(--beige); margin:3rem auto;
  transform:scaleX(0);
}
.signature__tagline {
  font-family:var(--font-body); font-size:1.2rem; color:var(--text-muted);
  letter-spacing:.15em; text-transform:uppercase;
}

/* ---------- Testimonials ---------- */
.testimonials { background:var(--bg-alt); }
.testimonials .swiper { padding-bottom:4rem; margin-top:4rem; }
.testimonial-card {
  background:var(--glass-bg); border:1px solid var(--glass-border);
  backdrop-filter:blur(20px); border-radius:4px; padding:3rem;
  max-width:500px; margin:0 auto;
}
.testimonial-card__quote {
  font-family:var(--font-body); font-size:1.25rem; font-style:italic;
  color:var(--ivory); line-height:1.8; margin-bottom:2rem;
}
.testimonial-card__quote::before {
  content:'\201C'; font-family:var(--font-display); font-size:3rem;
  color:var(--beige); display:block; line-height:1; margin-bottom:.5rem;
}
.testimonial-card__author {
  font-family:var(--font-ui); font-size:.75rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--beige);
}
.testimonial-card__role {
  font-family:var(--font-body); font-size:.9rem; color:var(--text-muted);
  margin-top:.25rem;
}
.swiper-pagination-bullet {
  background:var(--text-muted) !important; opacity:.4 !important;
  width:24px !important; height:2px !important; border-radius:0 !important;
  transition:all .4s !important;
}
.swiper-pagination-bullet-active {
  background:var(--beige) !important; opacity:1 !important; width:40px !important;
}

/* ---------- Instagram ---------- */
.instagram { background:var(--bg); }
.instagram__grid {
  display:grid; grid-template-columns:repeat(6,1fr); gap:4px; margin-top:4rem;
}
.instagram__item {
  aspect-ratio:1; overflow:hidden; position:relative;
}
.instagram__item img {
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(100%);
  transition:filter .6s, transform .8s var(--ease);
}
.instagram__item:hover img { filter:grayscale(0); transform:scale(1.08); }
.instagram__item-overlay {
  position:absolute; inset:0; background:rgba(10,10,10,.5);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .4s;
}
.instagram__item:hover .instagram__item-overlay { opacity:1; }
.instagram__item-overlay svg {
  width:28px; height:28px; fill:none; stroke:var(--ivory); stroke-width:1.5;
}

/* ---------- Footer ---------- */
.footer {
  background:var(--bg); border-top:1px solid var(--glass-border);
  padding:6rem 3rem 3rem;
}
.footer__top {
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:4rem;
  margin-bottom:5rem;
}
.footer__brand-name {
  font-family:var(--font-display); font-size:1.6rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ivory); margin-bottom:1.5rem;
}
.footer__brand-desc {
  font-family:var(--font-body); font-size:1.05rem; color:var(--text-muted);
  line-height:1.8; max-width:320px;
}
.footer__heading {
  font-family:var(--font-ui); font-size:.65rem; letter-spacing:.4em;
  text-transform:uppercase; color:var(--beige); margin-bottom:1.5rem;
}
.footer__link-list { list-style:none; }
.footer__link-list li { margin-bottom:.75rem; }
.footer__link-list a {
  font-family:var(--font-body); font-size:1rem; color:var(--text-muted);
  transition:color .3s; position:relative; display:inline-block;
}
.footer__link-list a::after {
  content:''; position:absolute; bottom:-2px; left:0; width:0; height:1px;
  background:var(--beige); transition:width .4s var(--ease);
}
.footer__link-list a:hover { color:var(--ivory); }
.footer__link-list a:hover::after { width:100%; }

/* Newsletter */
.footer__newsletter { margin-top:1.5rem; display:flex; gap:0; }
.footer__newsletter input {
  flex:1; background:transparent; border:1px solid var(--glass-border);
  padding:.8rem 1rem; color:var(--ivory); font-family:var(--font-body);
  font-size:.95rem; outline:none;
  transition:border-color .3s;
}
.footer__newsletter input::placeholder { color:var(--text-muted); }
.footer__newsletter input:focus { border-color:var(--beige); }
.footer__newsletter button {
  background:var(--beige); color:var(--bg); padding:.8rem 1.5rem;
  font-family:var(--font-ui); font-size:.65rem; letter-spacing:.2em;
  text-transform:uppercase; transition:background .3s;
}
.footer__newsletter button:hover { background:var(--gold); }

.footer__bottom {
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid var(--glass-border); padding-top:2rem;
}
.footer__copy {
  font-family:var(--font-ui); font-size:.7rem; color:var(--text-muted);
  letter-spacing:.1em;
}
.footer__socials { display:flex; gap:1.5rem; }
.footer__socials a {
  width:36px; height:36px; border:1px solid var(--glass-border);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  transition:border-color .3s, transform .3s;
}
.footer__socials a:hover { border-color:var(--beige); transform:translateY(-3px); }
.footer__socials svg { width:14px; height:14px; fill:var(--ivory); }

/* ---------- Reveal Utility ---------- */
.reveal { opacity:0; transform:translateY(60px); }
.reveal-left { opacity:0; transform:translateX(-60px); }
.reveal-right { opacity:0; transform:translateX(60px); }
.split-line { overflow:hidden; }
.split-line > span { display:inline-block; transform:translateY(110%); }

/* ---------- Responsive ---------- */
@media (max-width:1024px) {
  .section-padding { padding:6rem 2rem; }
  .nav { padding:1.2rem 2rem; }
  .nav__links { display:none; }
  .nav__hamburger { display:flex; }
  .collections__grid {
    grid-template-columns:1fr 1fr; grid-auto-rows:280px;
  }
  .collection-card:nth-child(1),
  .collection-card:nth-child(4) { grid-column:span 2; }
  .collection-card:nth-child(2),
  .collection-card:nth-child(3),
  .collection-card:nth-child(5),
  .collection-card:nth-child(6) { grid-column:span 1; }
  .hscroll__panel { padding:3rem; gap:3rem; flex-direction:column; }
  .hscroll__panel-img { flex:0 0 auto; width:100%; height:40vh; }
  .hscroll__panel-text { flex:0 0 auto; }
  .lookbook__grid { columns:2; }
  .footer__top { grid-template-columns:1fr 1fr; gap:3rem; }
  .instagram__grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:640px) {
  .section-padding { padding:5rem 1.5rem; }
  .nav { padding:1rem 1.5rem; }
  .hero__content { padding:0 1.5rem; }
  .collections__grid {
    grid-template-columns:1fr; grid-auto-rows:300px;
  }
  .collection-card:nth-child(1),
  .collection-card:nth-child(4) { grid-column:span 1; }
  .lookbook__grid { columns:1; }
  .footer__top { grid-template-columns:1fr; gap:2rem; }
  .footer__bottom { flex-direction:column; gap:1.5rem; text-align:center; }
  .instagram__grid { grid-template-columns:repeat(2,1fr); }
  .cursor { display:none !important; }
  body { cursor:auto; }
  a, button { cursor:pointer; }
}
