:root{
  /* Brand (Discover Karabakh) */
  --accent: #5a2e91;          /* primary */
  --accent2: #7b43c4;         /* gradient partner */
  --accent3: #2fd1ff;         /* optional highlight (glow/cyber) */

  /* Neutrals */
  --bg: #f6f3fb;              /* warm lilac white */
  --surface: rgba(255,255,255,.92);
  --surface2: rgba(255,255,255,.78);
  --stroke: rgba(17, 12, 26, .10);

  --text: #0f0b1c;            /* deep purple-black */
  --muted: rgba(15,11,28,.68);

  /* Shadows */
  --shadow: 0 14px 44px rgba(24, 12, 40, .12);
  --shadow2: 0 10px 24px rgba(24, 12, 40, .10);

  /* Radius + layout */
  --r: 18px;
  --r2: 22px;
  --max: 1180px;
}

*{ box-sizing: border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
}

img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration: none; }
button, input, select{ font: inherit; }

.container{
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
}

.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  border:0;
}




/* Hero */
.hero{
  padding: 0px 0 56px;
}

/* Card */
.heroCard{
  position: relative;
  border-radius: 34px;
  overflow: hidden;
  min-height: 560px;

  /* softer premium edge */
  background: radial-gradient(1200px 700px at 20% 30%, rgba(90,46,145,.35), rgba(10,8,20,1) 60%);
  box-shadow:
    0 34px 90px rgba(24, 12, 40, .18),
    0 0 0 1px rgba(90,46,145,.14);
}

/* background image */
.heroMedia{
  position:absolute;
  inset:0;
}
.heroMedia img{
  width:100%;
  height:100%;
  object-fit: cover;

  /* more premium photo grade */
  transform: scale(1.03);
  filter: saturate(1.05) contrast(1.06) brightness(.96);
}

/* overlay: cinematic but not "black wall" */
.heroOverlay{
  position:absolute;
  inset:0;

  background:
    radial-gradient(900px 560px at 18% 38%, rgba(123,67,196,.46), rgba(123,67,196,0) 60%),

    radial-gradient(700px 420px at 72% 22%, rgba(47,209,255,.18), rgba(47,209,255,0) 55%),

    linear-gradient(90deg, rgba(10,8,20,.62) 0%, rgba(10,8,20,.26) 55%, rgba(10,8,20,.05) 78%),

    linear-gradient(180deg, rgba(10,8,20,.45) 0%, rgba(10,8,20,0) 42%);
}

/* optional: glass highlight strip (adds "VisitDubai premium" feel) */
.heroCard::after{
  content:"";
  position:absolute;
  inset:-40px -40px auto auto;
  width: 520px;
  height: 280px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), rgba(255,255,255,0) 60%);
  transform: rotate(10deg);
  pointer-events:none;
}

/* content block */
.heroContent{
  position: relative;
  z-index: 1;
  padding: 92px 64px;
  max-width: 660px;
  color: #fff;
}

.heroTitle{
  margin: 0 0 18px;
  font-weight: 950;
  letter-spacing: -0.045em;
  line-height: 1.02;
  font-size: clamp(36px, 4.2vw, 62px);

  /* subtle glow for brand */
  text-shadow: 0 18px 40px rgba(0,0,0,.35);
}

.heroDesc{
  margin: 0 0 28px;
  color: rgba(255,255,255,.86);
  font-size: 16px;
  line-height: 1.65;
  max-width: 540px;
}

/* CTAs */
.heroCtas{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}

.heroBtn{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .01em;
  text-decoration:none;

  border: 1px solid rgba(255,255,255,.20);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, filter .15s ease;
}

/* Primary: brand gradient */
.heroBtn--primary{
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  border-color: rgba(255,255,255,.10);
  color: #fff;
  box-shadow: 0 18px 44px rgba(90,46,145,.28);
}

/* Ghost: clean glass */
.heroBtn--ghost{
  background: rgba(255,255,255,.10);
  color: #fff;
  border-color: rgba(255,255,255,.22);
  backdrop-filter: blur(10px);
}

.heroBtn:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 22px 58px rgba(0,0,0,.30);
  border-color: rgba(255,255,255,.28);
}

.heroBtn:active{
  transform: translateY(0);
  box-shadow: none;
}

.heroArrow{
  font-size: 18px;
  opacity: .95;
}

/* bottom dots: make them more refined */
.heroBottom{
  position:absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  display:flex;
  justify-content:center;
  z-index: 1;
}

.heroDots{
  display:flex;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
}

.dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.30);
}
.dot.is-active{
  background: rgba(255,255,255,.95);
  box-shadow: 0 0 0 3px rgba(90,46,145,.25);
}

/* responsive */
@media (max-width: 900px){
  .heroCard{ min-height: 520px; border-radius: 28px; }
  .heroContent{ padding: 66px 22px; }
}





/* Services */
/* ===============================
   SERVICES (REFRESH + SLIDER)
   Requires existing IDs:
   #svcTrack #svcPrev #svcNext #svcDots
   =============================== */

.svc{
  padding: 0 0 64px;
}

.svc__title{
  font-size: clamp(26px, 3vw, 44px);
  letter-spacing: -0.04em;
  margin: 0 0 22px;
  color: var(--text, #0f0b1c);
  font-weight: 950;
}

.svc__wrap{
  position: relative;
}

/* Track: desktop grid by default */
.svc__track{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;

  /* for accessibility focus */
  outline: none;
}
.svc__track:focus-visible{
  box-shadow: 0 0 0 3px rgba(90,46,145,.18);
  border-radius: 22px;
}

/* Card */
.svcCard{
  position: relative;
  display: grid;
  grid-template-columns: 54px 1fr auto;
  gap: 14px;
  align-items: start;

  padding: 24px 22px;
  border-radius: 26px;

  color: rgba(15,11,28,.92);
  text-decoration: none;

  background: rgba(255,255,255,.86);
  border: 1px solid rgba(17, 12, 26, .10);
  box-shadow: 0 10px 26px rgba(24, 12, 40, .08);

  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

.svcCard:hover{
  transform: translateY(-2px);
  border-color: rgba(90,46,145,.22);
  background: rgba(255,255,255,.92);
  box-shadow: 0 22px 56px rgba(24, 12, 40, .14);
}

.svcCard:focus-visible{
  outline: none;
  box-shadow:
    0 22px 56px rgba(24, 12, 40, .14),
    0 0 0 3px rgba(90,46,145,.18);
}

/* Icon */
.svcCard__icon{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display: grid;
  place-items: center;

  background: linear-gradient(135deg,
    rgba(90,46,145,.16),
    rgba(123,67,196,.10)
  );
  color: #5a2e91;
  border: 1px solid rgba(90,46,145,.18);
}

.svcCard__icon svg{
  width: 22px;
  height: 22px;
}

/* Text */
.svcCard__h{
  font-weight: 950;
  letter-spacing: -0.02em;
  font-size: 18px;
  margin-top: 4px;
  color: rgba(15,11,28,.96);
}

.svcCard__p{
  margin-top: 8px;
  color: rgba(15,11,28,.68);
  line-height: 1.6;
  font-size: 14.5px;
  max-width: 48ch;
}

.svcCard__arrow{
  font-size: 26px;
  color: rgba(15,11,28,.45);
  margin-top: 10px;
  transition: transform .15s ease, color .15s ease;
}
.svcCard:hover .svcCard__arrow{
  transform: translateX(2px);
  color: rgba(90,46,145,.85);
}

/* Controls row */
.svc__controls{
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}

.svc__cta{
  justify-self: start;
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration:none;
  font-weight: 950;
  letter-spacing: .01em;

  color: #fff;
  background: linear-gradient(135deg, #5a2e91, #7b43c4);
  box-shadow: 0 16px 36px rgba(90,46,145,.18);
  border: 1px solid rgba(90,46,145,.22);

  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.svc__cta:hover{
  transform: translateY(-1px);
  box-shadow: 0 20px 44px rgba(90,46,145,.22);
  filter: brightness(1.02);
}

.svc__dots{
  justify-self: center;
  display:flex;
  align-items:center;
  gap: 8px;
}

.d{
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(15,11,28,.22);
  transition: transform .15s ease, background .15s ease, width .15s ease;
}
.d.is-active{
  background: rgba(90,46,145,.95);
  width: 18px;
}

.svc__arrows{
  justify-self: end;
  display:flex;
  gap: 10px;
}

.svcArrow{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(17, 12, 26, .12);
  background: rgba(255,255,255,.92);
  cursor: pointer;
  font-size: 22px;
  color: rgba(15,11,28,.72);

  box-shadow: 0 10px 22px rgba(24, 12, 40, .08);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, color .15s ease, background .15s ease;
}

.svcArrow:hover{
  transform: translateY(-1px);
  border-color: rgba(90,46,145,.20);
  color: rgba(90,46,145,.95);
  box-shadow: 0 16px 34px rgba(24, 12, 40, .12);
}

.svcArrow:disabled{
  opacity: .45;
  cursor: not-allowed;
  transform: none;
  box-shadow: 0 10px 22px rgba(24, 12, 40, .08);
}

/* ===============================
   RESPONSIVE: turn into slider
   =============================== */
@media (max-width: 1100px){
  .svc__track{
    display: flex;
    gap: 14px;
    overflow-x: auto;
    padding: 4px 2px 10px;

    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .svc__track::-webkit-scrollbar{ display:none; }

  .svcCard{
    min-width: 78%;
    scroll-snap-align: start;
  }
}

@media (max-width: 720px){
  .svc__controls{
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "cta arrows"
      "dots dots";
    row-gap: 10px;
  }

  .svc__cta{ grid-area: cta; }
  .svc__arrows{ grid-area: arrows; }
  .svc__dots{ grid-area: dots; }
}






/* ===============================
   Featured Cities
   =============================== */
/* ===============================
   FEATURED CAROUSEL (FC) — REFRESH
   Brand: purple accent (#5a2e91)
   =============================== */

.fc{
  padding: 0 0 54px;
}

.fc__head{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.fc__title{
  margin: 0;
  font-weight: 950;
  letter-spacing: -0.04em;
  font-size: clamp(26px, 2.6vw, 42px);
  color: var(--text, #0f0b1c);
}

/* Frame */
.fc__frame{
  position: relative;
}

/* Track */
.fc__track{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(270px, 1fr);
  gap: 16px;

  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 4px;
  -webkit-overflow-scrolling: touch;

  padding: 6px 2px 14px;
  scrollbar-width: none;
}
.fc__track::-webkit-scrollbar{ display:none; }

/* Card */
.fcCard{
  scroll-snap-align: start;
  text-decoration:none;
  color: inherit;

  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.92);

  /* premium outline + shadow */
  border: 1px solid rgba(17,12,26,.10);
  box-shadow: 0 14px 34px rgba(24, 12, 40, .10);

  transform: translateZ(0);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    filter .18s ease;
}

.fcCard:hover{
  transform: translateY(-2px);
  border-color: rgba(90,46,145,.20);
  box-shadow: 0 26px 70px rgba(24, 12, 40, .16);
  filter: saturate(1.02);
}

/* top image */
.fcCard__media{
  height: 220px;
  background: linear-gradient(135deg, rgba(90,46,145,.10), rgba(123,67,196,.06));
  position: relative;
}

.fcCard__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: contrast(1.04) saturate(1.05);
}

/* subtle top fade so image merges nicely */
.fcCard__media::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: 84px;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(15,11,28,.18));
  pointer-events:none;
}

/* bottom panel: brand gradient instead of deep blue */
.fcCard__info{
  background:
    radial-gradient(600px 240px at 20% 0%, rgba(47,209,255,.16), rgba(47,209,255,0) 55%),
    linear-gradient(135deg, #5a2e91 0%, #7b43c4 55%, #2b1550 100%);
  color: #fff;

  padding: 16px 18px 18px;
  min-height: 175px;

  display:flex;
  flex-direction: column;
  gap: 8px;
}

/* meta */
.fcCard__meta{
  font-size: 10px;
  letter-spacing: .10em;
  text-transform: uppercase;
  opacity: .90;
}

/* title */
.fcCard__h{
  font-size: 16.5px;
  font-weight: 950;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

/* description */
.fcCard__p{
  margin: 0;
  font-size: 13.8px;
  line-height: 1.55;
  opacity: .92;
  max-width: 46ch;
}

/* CTA */
.fcCard__cta{
  margin-top: auto;
  font-weight: 950;
  font-size: 13px;
  opacity: .96;
  display:inline-flex;
  align-items:center;
  gap: 8px;
}

.fcCard__cta::after{
  content: "›";
  font-size: 16px;
  line-height: 1;
  transform: translateY(-.5px);
  opacity: .95;
}

/* ARROWS */
.fc__arrow{
  position:absolute;
  top: 50%;
  transform: translateY(-55%);
  width: 46px;
  height: 46px;
  border-radius: 999px;

  border: 1px solid rgba(90,46,145,.16);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);

  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  color: rgba(15,11,28,.76);

  box-shadow: 0 18px 44px rgba(24, 12, 40, .14);
  display:grid;
  place-items:center;

  transition: transform .15s ease, box-shadow .15s ease, color .15s ease, border-color .15s ease, background .15s ease;
}

.fc__arrow:hover{
  transform: translateY(-55%) translateY(-1px);
  color: rgba(90,46,145,.98);
  border-color: rgba(90,46,145,.22);
  box-shadow: 0 24px 58px rgba(24, 12, 40, .18);
  background: rgba(90,46,145,.08);
}

.fc__arrow:disabled{
  opacity: .45;
  cursor: not-allowed;
  box-shadow: 0 18px 44px rgba(24, 12, 40, .12);
  background: rgba(255,255,255,.86);
}

/* safer positioning so they don't clip */
.fc__arrow--prev{ left: -10px; }
.fc__arrow--next{ right: -10px; }

@media (max-width: 900px){
  .fc__arrow{ display:none; }
}

/* DOTS */
.fc__footer{
  margin-top: 10px;
  display:flex;
  justify-content:center;
}

.fc__dots{
  display:flex;
  gap: 8px;
  align-items:center;

  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(17,12,26,.10);
  box-shadow: 0 10px 26px rgba(24, 12, 40, .08);
  backdrop-filter: blur(10px);
}

.fc__dots button{
  width: 7px;
  height: 7px;
  border-radius: 999px;
  border: 0;
  background: rgba(15,11,28,.22);
  cursor:pointer;
  padding: 0;
  transition: width .15s ease, background .15s ease, transform .15s ease;
}

.fc__dots button:hover{
  transform: translateY(-1px);
  background: rgba(90,46,145,.55);
}

.fc__dots button.is-active{
  width: 18px;
  background: rgba(90,46,145,.95);
}




/* ===============================
   ARTICLES (ARTS) — REFRESH (PURPLE)
   =============================== */

.arts{ padding: 0 0 64px; }

.arts__head{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.arts__title{
  margin: 0;
  font-weight: 950;
  letter-spacing: -0.04em;
  font-size: clamp(24px, 2.8vw, 42px);
  color: var(--text, #0f0b1c);
}

.arts__link{
  text-decoration:none;
  font-weight: 950;
  letter-spacing: .01em;
  color: #5a2e91;
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(90,46,145,.08);
  border: 1px solid rgba(90,46,145,.14);
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.arts__link:hover{
  transform: translateY(-1px);
  background: rgba(90,46,145,.10);
  border-color: rgba(90,46,145,.20);
}

/* layout: featured + mini column */
.artsGrid{
  display:grid;
  grid-template-columns: 1.45fr 1fr;
  gap: 16px;
  align-items: start;
}

/* FEATURED */
.artFeat{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  background: #0b1220;
  min-height: 520px;

  border: 1px solid rgba(17,12,26,.10);
  box-shadow: 0 30px 84px rgba(24, 12, 40, .16);
  transform: translateZ(0);
}

.artFeat__media{
  position:absolute;
  inset:0;
  display:block;
}

.artFeat__media img{
  width:100%;
  height:100%;
  object-fit: cover;
  transform: scale(1.03);
  filter: saturate(1.06) contrast(1.05) brightness(.96);
}

/* cinematic overlay: purple bloom + readable vignette */
.artFeat__shade{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 540px at 18% 25%, rgba(123,67,196,.46), rgba(123,67,196,0) 60%),
    radial-gradient(720px 420px at 74% 22%, rgba(47,209,255,.16), rgba(47,209,255,0) 55%),
    linear-gradient(90deg, rgba(10,8,20,.62) 0%, rgba(10,8,20,.24) 58%, rgba(10,8,20,.06) 78%),
    linear-gradient(180deg, rgba(10,8,20,.10), rgba(10,8,20,.52));
}

/* featured content sits at bottom left */
.artFeat__content{
  position:absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 1;

  border-radius: 18px;
  padding: 18px 18px 16px;

  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(12px);

  box-shadow: 0 18px 46px rgba(0,0,0,.25);
}

.artFeat__h{
  display:block;
  margin-top: 8px;
  color: #fff;
  text-decoration:none;
  font-weight: 950;
  letter-spacing: -0.04em;
  font-size: 24px;
  line-height: 1.14;
}
.artFeat__h:hover{ text-decoration: underline; text-underline-offset: 4px; }

.artFeat__p{
  margin: 10px 0 0;
  color: rgba(255,255,255,.86);
  line-height: 1.6;
  font-size: 14.5px;
  max-width: 58ch;
}

.artFeat__meta{
  margin-top: 14px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
}

.metaPill{
  display:inline-flex;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;

  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);

  color: rgba(255,255,255,.92);
  font-weight: 950;
  font-size: 12px;
  letter-spacing: .01em;
}

.readNow{
  text-decoration:none;
  font-weight: 950;
  color: #fff;
  display:inline-flex;
  align-items:center;
  gap: 8px;
  opacity: .95;
}
.readNow:hover{ text-decoration: underline; text-underline-offset: 4px; }

/* mini column */
.artsMini{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

/* mini card */
.artCard{
  position: relative;
  border-radius: 18px;
  overflow: hidden;

  background: rgba(255,255,255,.92);
  border: 1px solid rgba(17,12,26,.10);
  box-shadow: 0 14px 34px rgba(24, 12, 40, .10);

  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
  transform: translateZ(0);
}
.artCard:hover{
  transform: translateY(-2px);
  border-color: rgba(90,46,145,.18);
  box-shadow: 0 26px 70px rgba(24, 12, 40, .14);
}

/* media */
.artCard__media{
  display:block;
  height: 140px;
  background: linear-gradient(135deg, rgba(90,46,145,.10), rgba(123,67,196,.06));
  position: relative;
}
.artCard__media img{
  width:100%;
  height:100%;
  object-fit: cover;
  filter: contrast(1.03) saturate(1.05);
}

/* body */
.artCard__body{
  padding: 12px 12px 14px;
}

.artCard__h{
  display:block;
  margin-top: 6px;
  text-decoration:none;
  color: rgba(15,11,28,.94);
  font-weight: 950;
  letter-spacing: -0.02em;
  line-height: 1.22;
  font-size: 14px;
}
.artCard__h:hover{ text-decoration: underline; text-underline-offset: 3px; }

.artCard__meta{
  margin-top: 10px;
  color: rgba(15,11,28,.55);
  font-weight: 950;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* tags */
.artTag{
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(15,11,28,.62);
}
.artFeat .artTag{ color: rgba(255,255,255,.84); }

/* save button */
.artSave{
  position:absolute;
  z-index: 2;
  right: 14px;
  top: 14px;
  width: 44px;
  height: 44px;
  border-radius: 999px;

  border: 1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.14);
  color: rgba(255,255,255,.95);

  display:grid;
  place-items:center;
  cursor:pointer;
  backdrop-filter: blur(12px);

  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.artSave:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.28);
}

/* mini variant */
.artSave--mini{
  border-color: rgba(17, 12, 26, .12);
  background: rgba(255,255,255,.94);
  color: rgba(15,11,28,.60);
  top: 106px; /* sits at media bottom edge */
}

/* active (saved) state */
.artSave.is-on{
  color: #5a2e91;
}

/* footer button */
.arts__footer{ margin-top: 18px; }

.artsBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 20px;
  border-radius: 14px;

  border: 1px solid rgba(90,46,145,.26);
  color: #5a2e91;
  font-weight: 950;
  letter-spacing: .01em;
  text-decoration:none;

  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 26px rgba(24, 12, 40, .08);

  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.artsBtn:hover{
  transform: translateY(-1px);
  background: rgba(90,46,145,.06);
  border-color: rgba(90,46,145,.34);
  box-shadow: 0 18px 44px rgba(24, 12, 40, .10);
}

/* responsive */
@media (max-width: 1100px){
  .artsGrid{ grid-template-columns: 1fr; }
  .artFeat{ min-height: 460px; }
}

@media (max-width: 720px){
  .artsMini{ grid-template-columns: 1fr; }
  .artSave--mini{ top: 102px; }
}




/* ===============================
   THINGS TO DO (TODO) — REFRESH (PURPLE)
   =============================== */

.todo{ padding: 0 0 64px; }

.todo__head{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.todo__title{
  margin: 0;
  font-weight: 950;
  letter-spacing: -0.04em;
  font-size: clamp(26px, 2.7vw, 46px);
  color: var(--text, #0f0b1c);
}

/* Tabs */
.todoTabs{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;

  padding: 6px;
  border-radius: 999px;

  background: rgba(255,255,255,.72);
  border: 1px solid rgba(17,12,26,.10);
  box-shadow: 0 12px 26px rgba(24, 12, 40, .08);
  backdrop-filter: blur(10px);
}

.todoTab{
  border: 0;
  background: transparent;

  color: rgba(15,11,28,.72);
  font-weight: 950;
  font-size: 12px;
  letter-spacing: .01em;

  padding: 10px 14px;
  border-radius: 999px;
  cursor:pointer;

  transition: transform .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}

.todoTab:hover{
  background: rgba(90,46,145,.08);
  color: rgba(90,46,145,.95);
  transform: translateY(-1px);
}

.todoTab.is-active{
  background: linear-gradient(135deg, rgba(90,46,145,.14), rgba(123,67,196,.10));
  color: rgba(90,46,145,.98);
  box-shadow: inset 0 0 0 1px rgba(90,46,145,.18);
}

/* Grid */
.todoGrid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* Card */
.todoCard{
  background: rgba(255,255,255,.92);
  border-radius: 20px;
  overflow:hidden;

  border: 1px solid rgba(17,12,26,.10);
  box-shadow: 0 14px 34px rgba(24, 12, 40, .10);

  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
.todoCard:hover{
  transform: translateY(-2px);
  border-color: rgba(90,46,145,.18);
  box-shadow: 0 26px 70px rgba(24, 12, 40, .14);
  filter: saturate(1.02);
}

/* Image */
.todoCard__media{
  position:relative;
  height: 228px;
  overflow:hidden;
  background: linear-gradient(135deg, rgba(90,46,145,.10), rgba(123,67,196,.06));
}

.todoCard__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform: scale(1.02);
  transition: transform .35s ease, filter .35s ease;
  filter: contrast(1.04) saturate(1.06);
}
.todoCard:hover .todoCard__media img{
  transform: scale(1.07);
}

/* Subtle bottom fade so tags/readability are better */
.todoCard__media::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: 84px;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(15,11,28,.22));
  pointer-events:none;
}

/* Category Tag */
.todoCard__tag{
  position:absolute;
  left:14px;
  bottom:14px;

  padding: 7px 11px;
  border-radius: 999px;

  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;

  color:#fff;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
}

/* Save button (single definition, consistent) */
.todoSave{
  position:absolute;
  right: 14px;
  top: 14px;

  width: 44px;
  height: 44px;
  border-radius: 999px;

  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.14);
  color: #fff;

  display:grid;
  place-items:center;
  cursor:pointer;
  backdrop-filter: blur(12px);

  box-shadow: 0 14px 34px rgba(15, 11, 28, .22);
  transition: transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.todoSave:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.28);
}

/* Saved state */
.todoSave.is-on{
  color: #5a2e91;
  border-color: rgba(90,46,145,.22);
  background: rgba(255,255,255,.92);
}

/* Body */
.todoCard__body{
  padding: 18px 18px 20px;
}

.todoCard__title{
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -0.02em;
  color: rgba(15,11,28,.96);
}

.todoCard__desc{
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(15,11,28,.66);
}

/* Meta row */
.todoCard__meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 10px;
}

/* Rating */
.todoStars{
  color: rgba(90,46,145,.95);
  font-size: 12px;
  letter-spacing: 2px;
}

.todoScore{
  margin-left: 8px;
  font-size: 12px;
  font-weight: 950;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(90,46,145,.08);
  border: 1px solid rgba(90,46,145,.12);
  color: rgba(90,46,145,.95);
}

.todoReviews{
  font-size: 11px;
  font-weight: 950;
  color: rgba(15,11,28,.55);
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Footer button */
.todo__footer{ margin-top: 18px; }

.todoBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding: 12px 22px;
  border-radius: 14px;

  border: 1px solid rgba(90,46,145,.26);
  color: #5a2e91;
  font-weight: 950;
  letter-spacing: .01em;

  text-decoration:none;
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 26px rgba(24, 12, 40, .08);

  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.todoBtn:hover{
  transform: translateY(-1px);
  background: rgba(90,46,145,.06);
  border-color: rgba(90,46,145,.34);
  box-shadow: 0 18px 44px rgba(24, 12, 40, .10);
}

/* Responsive */
@media (max-width: 1100px){
  .todoGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px){
  .todoGrid{ grid-template-columns: 1fr; }
}


/* ============ PLAN AHEAD (REFRESH / PURPLE) ============ */

.planAhead{
  padding: 0 0 60px;
}

.planAhead__head{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.planAhead__head h2{
  margin: 0;
  font-size: clamp(26px, 2.6vw, 38px);
  letter-spacing: -0.04em;
  color: var(--text, #0f0b1c);
  font-weight: 950;
}

/* “View all” pill link */
.planAhead__all{
  text-decoration:none;
  font-weight: 950;
  letter-spacing: .01em;
  color: #5a2e91;
  font-size: 13px;

  display:inline-flex;
  align-items:center;
  gap: 8px;

  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(90,46,145,.08);
  border: 1px solid rgba(90,46,145,.14);

  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.planAhead__all:hover{
  transform: translateY(-1px);
  background: rgba(90,46,145,.10);
  border-color: rgba(90,46,145,.20);
}

.planAhead__grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

/* card */
.planCard{
  display:flex;
  flex-direction: column;
  text-decoration:none;

  border-radius: 20px;
  overflow:hidden;

  background: rgba(255,255,255,.92);
  border: 1px solid rgba(17,12,26,.10);
  box-shadow: 0 14px 34px rgba(24, 12, 40, .10);

  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}

.planCard:hover{
  transform: translateY(-2px);
  box-shadow: 0 26px 70px rgba(24, 12, 40, .14);
  border-color: rgba(90,46,145,.18);
  filter: saturate(1.02);
}

/* image */
.planCard__media{
  position: relative;
  aspect-ratio: 4 / 2.6;
  background: linear-gradient(135deg, rgba(90,46,145,.10), rgba(123,67,196,.06));
}

.planCard__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  filter: contrast(1.03) saturate(1.05);
}

/* subtle fade into body */
.planCard__media::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: 72px;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(15,11,28,.18));
  pointer-events:none;
}

/* body (brand gradient, not deep blue) */
.planCard__body{
  padding: 16px 16px 16px;

  background:
    radial-gradient(520px 220px at 18% 0%, rgba(47,209,255,.14), rgba(47,209,255,0) 55%),
    linear-gradient(135deg, #5a2e91 0%, #7b43c4 58%, #2b1550 100%);

  color: #fff;
  min-height: 170px;

  display:flex;
  flex-direction: column;
  gap: 8px;
}

.planCard__kicker{
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.82);
}

.planCard__title{
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: rgba(255,255,255,.96);
}

.planCard__desc{
  margin: 0;
  font-size: 13.6px;
  line-height: 1.55;
  color: rgba(255,255,255,.84);
  flex: 1;
}

/* CTA */
.planCard__cta{
  margin-top: 6px;
  display:inline-flex;
  align-items:center;
  gap: 8px;

  font-weight: 950;
  font-size: 13px;
  color: rgba(255,255,255,.94);
  opacity: .96;
}

.planCard__cta::after{
  content: "›";
  font-size: 16px;
  line-height: 1;
  transform: translateY(-.5px);
  opacity: .95;
}

/* responsive */
@media (max-width: 1100px){
  .planAhead__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .planAhead__head{ align-items:flex-start; flex-direction: column; }
  .planAhead__grid{ grid-template-columns: 1fr; }
}


/* ============ SPLIT CTA (REFRESH / PURPLE) ============ */

.ctaSplit{ padding: 0; background: transparent; }

.ctaSplit__card{
  border-radius: 26px;
  overflow: hidden;

  display:grid;
  grid-template-columns: 1.1fr .9fr;

  background: rgba(255,255,255,.92);
  border: 1px solid rgba(17,12,26,.10);
  box-shadow: 0 30px 84px rgba(24, 12, 40, .14);

  transform: translateZ(0);
}

/* Left media */
.ctaSplit__media{
  min-height: 320px;
  background:
    /* purple bloom */
    radial-gradient(900px 520px at 18% 22%, rgba(123,67,196,.30), rgba(123,67,196,0) 60%),
    /* subtle cyan accent (optional premium glow) */
    radial-gradient(700px 420px at 74% 18%, rgba(47,209,255,.16), rgba(47,209,255,0) 55%),
    /* image */
    url("/images/banner.png");

  background-size: cover;
  background-position: center;
  position: relative;
}

/* Right content */
.ctaSplit__content{
  padding: 44px 44px;

  background:
    radial-gradient(520px 240px at 20% 0%, rgba(47,209,255,.14), rgba(47,209,255,0) 55%),
    linear-gradient(135deg, #5a2e91 0%, #7b43c4 58%, #2b1550 100%);

  color: #fff;
  display:flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}

.ctaSplit__badge{
  display:inline-flex;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;

  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);

  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 11px;
}

.ctaSplit__title{
  margin: 0;
  font-size: 28px;
  letter-spacing: -0.04em;
  line-height: 1.12;
  font-weight: 950;
  text-shadow: 0 18px 42px rgba(0,0,0,.22);
}

.ctaSplit__text{
  margin: 0;
  max-width: 46ch;
  color: rgba(255,255,255,.86);
  font-size: 14.6px;
  line-height: 1.6;
}

.ctaSplit__actions{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-top: 10px;
}

.ctaSplit__primary,
.ctaSplit__secondary{
  text-decoration:none;
  font-weight: 950;
  letter-spacing: .01em;

  border-radius: 14px;
  padding: 11px 16px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, filter .15s ease;
}

/* Primary: white button */
.ctaSplit__primary{
  background: rgba(255,255,255,.96);
  color: rgba(15,11,28,.94);
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
}
.ctaSplit__primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 52px rgba(0,0,0,.22);
  filter: brightness(1.02);
}

/* Secondary: glass button */
.ctaSplit__secondary{
  color: rgba(255,255,255,.94);
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(10px);
}
.ctaSplit__secondary:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.30);
}

.ctaSplit__meta{
  margin-top: 10px;
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items:center;

  color: rgba(255,255,255,.80);
  font-size: 13px;
  font-weight: 750;
}
.ctaSplit__meta .dot{ opacity: .7; }

/* Responsive */
@media (max-width: 980px){
  .ctaSplit__card{ grid-template-columns: 1fr; }
  .ctaSplit__media{ min-height: 240px; }
  .ctaSplit__content{ padding: 28px 22px; }
  .ctaSplit__title{ font-size: 24px; }
}

