/* ============================================================
   ANSH STUDIO — Home page section styles
   ============================================================ */

/* ---------- Brand introduction ---------- */
.brand-intro {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.brand-intro .visual {
  position: relative;
}
.brand-intro .visual .frame {
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.brand-intro .visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.brand-intro .visual .float-card {
  position: absolute;
  bottom: -34px;
  left: -34px;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  padding: 26px 30px;
  box-shadow: var(--shadow-soft);
  z-index: 2;
  min-width: 220px;
}
.brand-intro .visual .float-card .num {
  font-family: var(--serif);
  font-style: italic;
  font-size: 2.2rem;
  color: var(--rose-deep);
  line-height: 1;
}
.brand-intro .visual .float-card p {
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-top: 8px;
}
.brand-intro .copy .overline { margin-bottom: 20px; }
.brand-intro .copy h2 { margin: 16px 0 26px; }
.brand-intro .facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  margin-top: 40px;
  border-top: 1px solid var(--line-soft);
  padding-top: 28px;
}
.brand-intro .facts li {
  list-style: none;
  flex: 1 1 33%;
  min-width: 160px;
  padding-right: 20px;
}
.brand-intro .facts .k {
  font-size: 9.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--rose-deep);
  display: block;
  margin-bottom: 6px;
}
.brand-intro .facts .v {
  font-family: var(--serif);
  font-size: 1.25rem;
  color: var(--ink);
}

/* ---------- Signature services (editorial list) ---------- */
.services-preview .section-head { margin-bottom: 30px; }
.svc-row {
  display: grid;
  grid-template-columns: 90px 1.4fr 1fr auto;
  align-items: center;
  gap: clamp(20px, 3.4vw, 48px);
  padding: 30px 8px;
  border-bottom: 1px solid var(--line-soft);
  position: relative;
  cursor: pointer;
  transition: padding-left 0.5s var(--ease), background 0.5s var(--ease);
}
.svc-row::before {
  content: "";
  position: absolute;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, var(--blush), transparent 70%);
  opacity: 0;
  transition: opacity 0.5s var(--ease);
  pointer-events: none;
}
.svc-row:hover { padding-left: 18px; }
.svc-row:hover::before { opacity: 1; }
.svc-row .num {
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.3rem;
  color: var(--rose);
}
.svc-row h3 { font-size: clamp(1.5rem, 2.6vw, 2.3rem); font-weight: 400; }
.svc-row p { color: var(--ink-soft); font-size: 0.95rem; max-width: 46ch; }
.svc-row .price {
  font-family: var(--serif);
  font-size: 1.15rem;
  color: var(--rose-deep);
  white-space: nowrap;
}
.svc-row .go {
  width: 46px; height: 46px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: background 0.4s var(--ease), border-color 0.4s var(--ease), transform 0.4s var(--ease);
}
.svc-row:hover .go { background: var(--ink); border-color: var(--ink); transform: rotate(-45deg); }
.svc-row:hover .go svg { color: var(--paper); }

/* ---------- Makeup showcase ---------- */
.makeup-show { position: relative; }
.makeup-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 90px;
  gap: 18px;
}
.makeup-grid .cell { position: relative; overflow: hidden; }
.makeup-grid .cell img { width: 100%; height: 100%; object-fit: cover; }
.makeup-grid .c1 { grid-column: 1 / 6; grid-row: 1 / 8; }
.makeup-grid .c2 { grid-column: 6 / 13; grid-row: 1 / 5; }
.makeup-grid .c3 { grid-column: 6 / 10; grid-row: 5 / 9; }
.makeup-grid .c4 { grid-column: 10 / 13; grid-row: 5 / 9; }
.makeup-grid .note {
  grid-column: 1 / 6;
  grid-row: 8 / 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px 0;
}
.makeup-grid .note .overline { margin-bottom: 14px; }
.makeup-grid .note h3 { font-size: clamp(1.4rem, 2.2vw, 2rem); max-width: 16ch; }
.makeup-grid .note p { color: var(--ink-soft); margin-top: 10px; font-size: 0.95rem; max-width: 40ch; }
.makeup-quote {
  margin-top: clamp(48px, 7vw, 96px);
  text-align: center;
  max-width: 62ch;
  margin-inline: auto;
}
.makeup-quote .mark { font-family: var(--serif2); font-style: italic; color: var(--rose); font-size: 2.4rem; line-height: 0; display: block; margin-bottom: 10px; }
.makeup-quote p { font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2.4rem); line-height: 1.4; }

/* ---------- Nail showcase ---------- */
.nail-show { background: var(--paper); }
.nail-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; margin-bottom: clamp(44px, 6vw, 76px); }
.nail-head .right { max-width: 38ch; }
.nail-mosaic {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 88px;
  gap: 18px;
}
.nail-mosaic .tile { overflow: hidden; position: relative; }
.nail-mosaic .tile img { width: 100%; height: 100%; object-fit: cover; }
.nail-mosaic .t1 { grid-column: 1 / 4; grid-row: 1 / 6; }
.nail-mosaic .t2 { grid-column: 4 / 8; grid-row: 1 / 7; }
.nail-mosaic .t3 { grid-column: 8 / 13; grid-row: 1 / 5; }
.nail-mosaic .t4 { grid-column: 1 / 5; grid-row: 6 / 11; }
.nail-mosaic .t5 { grid-column: 5 / 9; grid-row: 7 / 12; }
.nail-mosaic .t6 { grid-column: 9 / 13; grid-row: 5 / 9; }
.nail-mosaic .t7 { grid-column: 9 / 13; grid-row: 9 / 12; }
.nail-mosaic .tile .cap {
  position: absolute;
  left: 16px; bottom: 14px;
  z-index: 2;
  color: #fff;
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  text-shadow: 0 2px 14px rgba(40, 20, 10, 0.5);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s var(--ease), transform 0.5s var(--ease);
}
.nail-mosaic .tile:hover .cap { opacity: 1; transform: none; }

/* ---------- Why choose us ---------- */
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line-soft);
}
.why-item {
  padding: clamp(28px, 3.4vw, 46px) clamp(20px, 2.6vw, 40px);
  border-right: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  position: relative;
  transition: background 0.5s var(--ease);
}
.why-item:nth-child(3n) { border-right: none; }
.why-item:nth-last-child(-n+3) { border-bottom: none; }
.why-item:hover { background: var(--paper); }
.why-item .idx {
  font-family: var(--serif);
  font-style: italic;
  color: var(--rose);
  font-size: 1.1rem;
  display: block;
  margin-bottom: 18px;
}
.why-item h3 { font-size: clamp(1.25rem, 1.8vw, 1.6rem); margin-bottom: 12px; }
.why-item p { color: var(--ink-soft); font-size: 0.93rem; }

/* ---------- Home service (concierge) ---------- */
.homesvc {
  position: relative;
  overflow: hidden;
  background: linear-gradient(120deg, #3A312D 0%, #52423B 55%, #6B5247 100%);
  color: var(--paper);
}
.homesvc::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(60% 80% at 85% 20%, rgba(216, 175, 163, 0.16), transparent 70%),
    radial-gradient(50% 70% at 10% 90%, rgba(234, 217, 199, 0.12), transparent 70%);
  pointer-events: none;
}
.homesvc .wrap {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}
.homesvc .overline { color: var(--rose-soft); }
.homesvc .overline::before { background: var(--rose-soft); }
.homesvc h2 { color: #fff; margin: 18px 0 24px; }
.homesvc p { color: rgba(251, 247, 242, 0.78); max-width: 48ch; }
.homesvc .cities {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(251, 247, 242, 0.14);
  border: 1px solid rgba(251, 247, 242, 0.14);
  margin-top: 44px;
  max-width: 460px;
}
.homesvc .cities div {
  background: #453A34;
  padding: 22px 12px;
  text-align: center;
}
.homesvc .cities .city { font-family: var(--serif); font-size: 1.35rem; color: #fff; display: block; }
.homesvc .cities .tag { font-size: 9px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--rose-soft); margin-top: 4px; display: block; }
.homesvc .visual { position: relative; }
.homesvc .visual .frame { aspect-ratio: 4 / 5; overflow: hidden; }
.homesvc .visual img { width: 100%; height: 100%; object-fit: cover; }
.homesvc .visual .stamp {
  position: absolute;
  top: -26px; right: -26px;
  width: 130px; height: 130px;
  background: var(--champagne);
  border-radius: 50%;
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink);
  line-height: 1.8;
  box-shadow: var(--shadow-soft);
  animation: floaty 6s ease-in-out infinite;
}
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* ---------- Gallery preview ---------- */
.galprev { background: var(--paper); }
.galprev-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
  grid-auto-rows: 100px;
}
.galprev-grid .gp { overflow: hidden; position: relative; }
.galprev-grid .gp img { width: 100%; height: 100%; object-fit: cover; }
.galprev-grid .g1 { grid-column: 1 / 5; grid-row: 1 / 8; }
.galprev-grid .g2 { grid-column: 5 / 9; grid-row: 1 / 6; }
.galprev-grid .g3 { grid-column: 9 / 13; grid-row: 1 / 9; }
.galprev-grid .g4 { grid-column: 1 / 5; grid-row: 8 / 12; }
.galprev-grid .g5 { grid-column: 5 / 9; grid-row: 6 / 12; }
.galprev-grid .g6 { grid-column: 9 / 13; grid-row: 9 / 12; }
.galprev-cta { text-align: center; margin-top: clamp(40px, 5vw, 64px); }

/* ---------- Booking CTA band ---------- */
.cta-band {
  position: relative;
  text-align: center;
  overflow: hidden;
  background: var(--blush);
}
.cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(45% 70% at 20% 110%, rgba(192, 130, 114, 0.18), transparent 70%),
    radial-gradient(40% 60% at 85% -20%, rgba(234, 217, 199, 0.55), transparent 70%);
}
.cta-band .wrap { position: relative; }
.cta-band .overline { margin-bottom: 20px; }
.cta-band h2 { margin: 18px auto 24px; max-width: 18ch; }
.cta-band p { max-width: 48ch; margin: 0 auto 40px; }

/* ---------- Contact preview ---------- */
.contact-preview { border-top: 1px solid var(--line-soft); }
.cp-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line-soft);
  border: 1px solid var(--line-soft);
}
.cp-item {
  background: var(--paper);
  padding: clamp(26px, 3vw, 42px);
}
.cp-item .k { font-size: 9.5px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--rose-deep); margin-bottom: 14px; display: block; }
.cp-item .v { font-family: var(--serif); font-size: clamp(1.15rem, 1.6vw, 1.4rem); color: var(--ink); line-height: 1.4; }
.cp-item a.v:hover { color: var(--rose-deep); }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .brand-intro { grid-template-columns: 1fr; }
  .brand-intro .visual { max-width: 520px; }
  .brand-intro .visual .float-card { left: -12px; }
  .svc-row { grid-template-columns: 60px 1fr auto; }
  .svc-row p { grid-column: 2 / 3; grid-row: 2; margin-top: 4px; }
  .svc-row .price { grid-column: 3; grid-row: 1; }
  .svc-row .go { display: none; }
  .makeup-grid, .nail-mosaic, .galprev-grid { grid-auto-rows: 64px; }
  .why-grid { grid-template-columns: 1fr 1fr; }
  .why-item:nth-child(3n) { border-right: 1px solid var(--line-soft); }
  .why-item:nth-child(2n) { border-right: none; }
  .why-item:nth-last-child(-n+3) { border-bottom: 1px solid var(--line-soft); }
  .why-item:nth-last-child(-n+2) { border-bottom: none; }
  .homesvc .wrap { grid-template-columns: 1fr; }
  .homesvc .visual { order: -1; max-width: 480px; }
  .cp-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .makeup-grid .c1 { grid-column: 1 / 13; grid-row: 1 / 8; }
  .makeup-grid .c2 { grid-column: 1 / 13; grid-row: 8 / 13; }
  .makeup-grid .c3 { grid-column: 1 / 7; grid-row: 13 / 19; }
  .makeup-grid .c4 { grid-column: 7 / 13; grid-row: 13 / 19; }
  .makeup-grid .note { grid-column: 1 / 13; grid-row: 19 / 22; }
  .nail-mosaic .t1 { grid-column: 1 / 7; grid-row: 1 / 6; }
  .nail-mosaic .t2 { grid-column: 7 / 13; grid-row: 1 / 8; }
  .nail-mosaic .t3 { grid-column: 1 / 13; grid-row: 6 / 10; }
  .nail-mosaic .t4 { grid-column: 1 / 7; grid-row: 10 / 16; }
  .nail-mosaic .t5 { grid-column: 7 / 13; grid-row: 10 / 15; }
  .nail-mosaic .t6 { grid-column: 1 / 7; grid-row: 16 / 20; }
  .nail-mosaic .t7 { grid-column: 7 / 13; grid-row: 15 / 20; }
  .galprev-grid .g1 { grid-column: 1 / 13; grid-row: 1 / 7; }
  .galprev-grid .g2 { grid-column: 1 / 7; grid-row: 7 / 12; }
  .galprev-grid .g3 { grid-column: 7 / 13; grid-row: 7 / 12; }
  .galprev-grid .g4 { grid-column: 1 / 7; grid-row: 12 / 17; }
  .galprev-grid .g5 { grid-column: 7 / 13; grid-row: 12 / 17; }
  .galprev-grid .g6 { grid-column: 1 / 13; grid-row: 17 / 20; }
  .svc-row { grid-template-columns: 1fr; padding: 26px 4px; }
  .svc-row .num { grid-row: 1; }
  .svc-row h3 { grid-row: 2; }
  .svc-row p { grid-row: 3; grid-column: 1; margin-top: 6px; }
  .svc-row .price { grid-row: 4; }
  .homesvc .visual .stamp { right: -8px; top: -20px; width: 110px; height: 110px; }
}

/* Homepage editorial media upgrades */
.media-film{position:relative;overflow:hidden;background:#e8d8d3;box-shadow:var(--lux-shadow)}
.media-film video{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.media-film:hover video{transform:scale(1.04)}
.media-film .film-label{position:absolute;left:18px;bottom:18px;padding:8px 12px;background:rgba(251,247,242,.88);backdrop-filter:blur(12px);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink)}
.makeup-mosaic .c5{grid-column:span 4;min-height:260px}
.nail-mosaic .t5{grid-column:span 2;min-height:260px}
.nail-mosaic .t5 .cap{position:absolute;left:16px;bottom:16px;background:rgba(251,247,242,.9);padding:7px 10px;font-size:9px;letter-spacing:.22em;text-transform:uppercase}
@media(max-width:760px){
  .makeup-mosaic .c5,.nail-mosaic .t5{grid-column:span 1;min-height:220px}
  .lux-chapter-marker{display:none}
  .lux-scroll-progress{right:5px;height:24vh}
}


/* ============================================================
   ANSH STUDIO — BLUSH PINK LUXURY BEAUTY THEME
   ============================================================ */
:root{
  --ivory:#fff9f8;
  --paper:#fff5f4;
  --paper-2:#fdf0ef;
  --ink:#302527;
  --ink-soft:#78696a;
  --rose:#d99a9f;
  --rose-deep:#a9616b;
  --line-soft:rgba(169,97,107,.16);
  --pink-soft:#f7dfe1;
  --pink:#e8b5ba;
  --champagne:#ead8ce;
}
html,body{
  background:
    radial-gradient(circle at 8% 8%,rgba(232,181,186,.18),transparent 28%),
    radial-gradient(circle at 92% 34%,rgba(247,223,225,.24),transparent 30%),
    var(--ivory);
  color:var(--ink);
}
body:before{
  background:linear-gradient(90deg,rgba(232,181,186,.035),transparent 35%,rgba(217,154,159,.025));
}
.site-nav{
  background:rgba(255,249,248,.68);
  border-color:rgba(169,97,107,.12);
}
body.scrolled .site-nav{
  background:rgba(255,249,248,.90);
  box-shadow:0 12px 42px rgba(132,79,87,.10);
  border-color:rgba(169,97,107,.16);
}
.nav-links a:hover,.nav-links a.active{color:var(--rose-deep)}
.nav-cta,.btn.solid{
  background:linear-gradient(135deg,#b96f79,#d7969d);
  color:#fff;
  box-shadow:0 12px 28px rgba(169,97,107,.18);
}
.btn.outline{
  border-color:rgba(169,97,107,.32);
  color:var(--rose-deep);
  background:rgba(255,255,255,.34);
}
.btn.outline:hover{background:#f8e4e5;border-color:var(--rose)}
.hero-overlay{
  background:
    linear-gradient(180deg,rgba(80,34,43,.12),rgba(255,209,215,.04) 45%,rgba(70,34,40,.34));
}
.hero::after{
  background:linear-gradient(to bottom,transparent,rgba(255,249,248,.82));
}
.overline,.booking-kicker,.page-chapter-label,.booking-image-caption span,
.contact-hero-note span,.form-topline,.lux-chapter-num{
  color:var(--rose-deep);
}
.display em,.hero-title em,.booking-intro em,.contact-form-side em{
  color:var(--rose-deep);
}
.section-label,.eyebrow{color:var(--rose-deep)}
.section-title:after,.rule,.line{background:var(--rose)}
.paper,.paper-section{
  background:linear-gradient(145deg,#fffafa,#fdf0ef);
}
.card,.frame,.contact-form-card,.booking-shell{
  background:rgba(255,250,249,.82);
  border-color:rgba(169,97,107,.13);
  box-shadow:0 28px 75px rgba(126,76,83,.09);
}
.service-section .text::before{background:var(--rose)}
.price .amount,.service-price,.amount{color:var(--rose-deep)}
.we-cell:hover{
  background:rgba(250,228,229,.45);
  box-shadow:0 22px 55px rgba(126,76,83,.08);
}
.gallery-toolbar{
  background:rgba(255,249,248,.84);
  border-color:rgba(169,97,107,.13);
}
.gallery-toolbar button.active,.filter-btn.active{
  background:#f2d2d5;
  color:#75434b;
  border-color:#e2b0b5;
}
.contact-quick a:hover{
  background:rgba(249,224,226,.68);
}
.contact-conversation{
  background:
    radial-gradient(circle at 85% 10%,rgba(232,181,186,.22),transparent 30%),
    linear-gradient(180deg,#fff9f8,#f8e6e5);
}
.conversation-steps span,.assurance-card>span{color:var(--rose-deep)}
.booking-intro,.conversation-steps,.assurance-grid{
  border-color:rgba(169,97,107,.15);
}
.booking-assurance{
  background:linear-gradient(180deg,#fff9f8,#f9e5e5);
}
.assurance-card:hover{
  background:rgba(246,220,222,.38);
}
.bk-option{
  background:linear-gradient(100deg,rgba(255,255,255,.86),rgba(250,229,230,.52));
  border-color:rgba(169,97,107,.12);
}
.bk-option:hover,.bk-option.selected{
  border-color:#d79ba2;
  background:linear-gradient(100deg,#fffafa,#f8e1e2);
  box-shadow:0 18px 45px rgba(126,76,83,.11);
}
.bk-option.selected{
  box-shadow:inset 3px 0 #bd727d,0 18px 45px rgba(126,76,83,.11);
}
.bk-time.selected{
  background:#f2d2d5;
  border-color:#d99a9f;
  color:#6f3f47;
}
.bk-confirm-note{
  background:linear-gradient(135deg,#f5dadd,#fff8f7);
  border-color:#e1b2b6;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,
.booking-shell input:focus,.booking-shell select:focus,.booking-shell textarea:focus{
  border-color:#d99a9f;
  box-shadow:0 0 0 4px rgba(217,154,159,.12);
  background:#fffdfd;
}
.float-actions a,.floating-actions a{
  background:rgba(255,249,248,.92);
  border-color:rgba(169,97,107,.16);
  color:var(--rose-deep);
  box-shadow:0 12px 32px rgba(126,76,83,.10);
}
.lux-scroll-progress span{background:var(--rose-deep)}
.lux-scroll-progress{background:rgba(169,97,107,.13)}
.lux-chapter-marker{color:#8a7476}
.mobile-menu{
  background:
    radial-gradient(circle at 80% 10%,rgba(232,181,186,.24),transparent 28%),
    #fff8f7;
}
.mobile-menu a:hover{color:var(--rose-deep)}
footer{
  background:linear-gradient(145deg,#f4dddd,#ead0d1);
}
footer a:hover{color:#7d454d}
@media(max-width:760px){
  .site-nav{background:rgba(255,249,248,.88)}
}

/* ============================================================
   SIGNATURE SERVICES — VISUAL LUXURY GRID
   ============================================================ */
.luxury-services{
  background:
    radial-gradient(circle at 8% 20%,rgba(232,181,186,.18),transparent 28%),
    radial-gradient(circle at 92% 72%,rgba(247,223,225,.24),transparent 30%),
    #fff8f7;
}
.luxury-services-head{align-items:end;margin-bottom:48px}
.services-intro{max-width:430px}
.services-intro .lead{margin-bottom:20px}
.lux-service-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  grid-template-rows:420px 210px 210px;
  gap:14px;
}
.lux-service-card{
  position:relative;
  display:block;
  overflow:hidden;
  min-height:0;
  isolation:isolate;
  background:#e7d4d2;
  box-shadow:0 25px 70px rgba(110,67,73,.10);
  color:#fff;
  transform:translateZ(0);
}
.lux-service-feature{grid-row:span 2}
.lux-service-card img{
  width:100%;height:100%;object-fit:cover;
  display:block;
  transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .8s ease;
}
.lux-service-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(40,20,24,.02) 25%,rgba(40,20,24,.74) 100%);
  transition:background .7s ease;
}
.lux-service-copy{
  position:absolute;left:26px;right:26px;bottom:25px;
  transform:translateY(8px);
  transition:transform .65s cubic-bezier(.16,1,.3,1);
}
.lux-service-copy span,.lux-service-mini span{
  font-size:8px;letter-spacing:.30em;text-transform:uppercase;
  opacity:.78;
}
.lux-service-copy h3{
  font-family:var(--serif);
  font-size:clamp(2rem,3.3vw,3.45rem);
  font-weight:400;
  line-height:.9;
  margin:12px 0 14px;
}
.lux-service-card:not(.lux-service-feature) .lux-service-copy h3{font-size:clamp(1.6rem,2.3vw,2.35rem)}
.lux-service-copy p{
  max-width:32ch;
  font-size:.78rem;
  line-height:1.65;
  opacity:.84;
  margin:0 0 16px;
}
.lux-service-copy strong{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--serif);font-size:1.05rem;font-weight:400;
}
.lux-service-copy strong i{font-style:normal;font-family:var(--sans);font-size:12px;opacity:.8}
.lux-service-card:hover img{transform:scale(1.065);filter:saturate(1.04)}
.lux-service-card:hover .lux-service-copy{transform:translateY(0)}
.lux-service-card:hover .lux-service-shade{background:linear-gradient(180deg,rgba(40,20,24,.04) 15%,rgba(40,20,24,.82) 100%)}
.lux-service-mini{
  display:grid;
  grid-template-columns:115px 1fr;
  gap:20px;
  align-items:center;
  padding:13px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(169,97,107,.12);
  color:var(--ink);
  transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s ease,background .55s ease;
}
.lux-service-mini:hover{
  transform:translateY(-5px);
  background:#fff;
  box-shadow:0 22px 55px rgba(110,67,73,.09);
}
.mini-image{height:100%;min-height:180px;overflow:hidden}
.mini-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .9s cubic-bezier(.16,1,.3,1);
}
.lux-service-mini:hover .mini-image img{transform:scale(1.06)}
.lux-service-mini span{color:var(--rose-deep)}
.lux-service-mini h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;margin:8px 0 4px}
.lux-service-mini p{font-size:.72rem;color:var(--ink-soft);margin:0 0 8px}
.lux-service-mini strong{font-family:var(--serif);font-size:.95rem;font-weight:400;color:var(--rose-deep)}
.services-bottom-note{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:25px;
  align-items:center;
  margin-top:25px;
  padding:19px 0;
  border-top:1px solid rgba(169,97,107,.14);
  border-bottom:1px solid rgba(169,97,107,.14);
}
.services-bottom-note>span{font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--rose-deep)}
.services-bottom-note p{margin:0;font-size:.78rem;color:var(--ink-soft)}
.services-bottom-note a{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-deep)}
.services-bottom-note a span{display:inline-block;margin-left:7px;transition:transform .35s ease}
.services-bottom-note a:hover span{transform:translateX(5px)}
@media(max-width:900px){
  .lux-service-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:420px 320px 190px;
  }
  .lux-service-feature{grid-row:span 1;grid-column:span 2}
  .lux-service-mini{grid-column:span 1}
}
@media(max-width:620px){
  .luxury-services-head{margin-bottom:32px}
  .lux-service-grid{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:12px;
  }
  .lux-service-feature,.lux-service-card,.lux-service-mini{grid-column:span 1;grid-row:auto}
  .lux-service-card{height:390px}
  .lux-service-feature{height:470px}
  .lux-service-copy{left:20px;right:20px;bottom:20px}
  .lux-service-copy h3{font-size:2.5rem!important}
  .lux-service-copy p{font-size:.76rem}
  .lux-service-mini{min-height:170px}
  .mini-image{min-height:145px}
  .services-bottom-note{grid-template-columns:1fr;gap:8px}
  .services-bottom-note a{margin-top:8px}
}

/* ============================================================
   WHY ANSH STUDIO — LUXURY EDITORIAL EXPERIENCE
   ============================================================ */
.why-ansh-premium{
  background:
    radial-gradient(circle at 92% 12%,rgba(232,181,186,.20),transparent 30%),
    linear-gradient(135deg,#fffafa 0%,#f9e8e7 100%);
  overflow:hidden;
}
.why-premium-head{
  display:grid;
  grid-template-columns:1fr .58fr;
  gap:60px;
  align-items:end;
  margin-bottom:54px;
}
.why-premium-head h2{margin-top:15px}
.why-premium-intro{
  padding:0 0 7px 28px;
  border-left:1px solid rgba(169,97,107,.25);
}
.why-number{
  display:block;
  color:var(--rose-deep);
  font-size:8px;
  letter-spacing:.32em;
  margin-bottom:18px;
}
.why-premium-intro p{
  max-width:38ch;
  color:var(--ink-soft);
  font-size:.85rem;
  line-height:1.85;
}
.why-premium-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(30px,6vw,85px);
  align-items:start;
}
.why-premium-image{
  position:sticky;
  top:120px;
  height:clamp(500px,58vw,690px);
  overflow:hidden;
  box-shadow:0 35px 90px rgba(110,67,73,.13);
}
.why-premium-image::before{
  content:"";
  position:absolute;
  inset:18px -18px -18px 18px;
  border:1px solid rgba(169,97,107,.25);
  pointer-events:none;
  z-index:2;
}
.why-premium-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s cubic-bezier(.16,1,.3,1);
}
.why-premium-image:hover img{transform:scale(1.045)}
.why-image-note{
  position:absolute;
  left:22px;bottom:22px;
  background:rgba(255,249,248,.90);
  backdrop-filter:blur(16px);
  padding:16px 20px;
  box-shadow:0 15px 40px rgba(75,45,50,.12);
}
.why-image-note span{
  display:block;
  font-size:8px;
  letter-spacing:.28em;
  color:var(--rose-deep);
  margin-bottom:5px;
}
.why-image-note strong{
  font-family:var(--serif);
  font-size:1.2rem;
  font-weight:400;
}
.why-premium-list{
  border-top:1px solid rgba(169,97,107,.15);
}
.why-item{
  display:grid;
  grid-template-columns:38px 1fr 25px;
  gap:20px;
  align-items:start;
  padding:25px 0;
  border-bottom:1px solid rgba(169,97,107,.15);
  transition:padding .55s cubic-bezier(.16,1,.3,1),background .55s ease;
}
.why-item:hover,.why-item.active{
  padding-left:16px;
  padding-right:16px;
  background:rgba(255,255,255,.42);
}
.why-index{
  font-family:var(--serif);
  font-size:13px;
  color:var(--rose-deep);
  padding-top:3px;
}
.why-item h3{
  font-family:var(--serif);
  font-size:clamp(1.35rem,2.1vw,2rem);
  font-weight:400;
  line-height:1.05;
  margin:0 0 9px;
}
.why-item p{
  max-width:52ch;
  color:var(--ink-soft);
  font-size:.78rem;
  line-height:1.7;
  margin:0;
}
.why-arrow{
  font-size:15px;
  color:var(--rose-deep);
  opacity:.35;
  transform:translate(0,0);
  transition:opacity .4s ease,transform .4s ease;
}
.why-item:hover .why-arrow{opacity:1;transform:translate(4px,-4px)}
.why-quote{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin:95px auto 0;
  padding-top:55px;
  border-top:1px solid rgba(169,97,107,.15);
}
.quote-mark{
  font-family:var(--serif);
  font-size:4.5rem;
  line-height:.5;
  color:var(--rose);
}
.why-quote p{
  font-family:var(--serif);
  font-size:clamp(2rem,4.2vw,4rem);
  line-height:1;
  font-weight:400;
  margin:25px 0 22px;
}
.why-quote p em{color:var(--rose-deep)}
.quote-line{
  width:55px;height:1px;background:var(--rose);
  margin-bottom:14px;
}
.why-quote small{
  font-size:8px;
  letter-spacing:.35em;
  color:var(--rose-deep);
}
@media(max-width:900px){
  .why-premium-head{grid-template-columns:1fr;gap:25px}
  .why-premium-intro{padding-left:20px}
  .why-premium-layout{grid-template-columns:1fr}
  .why-premium-image{position:relative;top:auto;height:560px}
}
@media(max-width:620px){
  .why-premium-head{margin-bottom:35px}
  .why-premium-image{height:440px}
  .why-premium-image::before{inset:10px -10px -10px 10px}
  .why-image-note{left:14px;bottom:14px}
  .why-item{grid-template-columns:28px 1fr 18px;gap:12px;padding:21px 0}
  .why-item:hover,.why-item.active{padding-left:10px;padding-right:10px}
  .why-item h3{font-size:1.35rem}
  .why-item p{font-size:.75rem}
  .why-quote{margin-top:65px;padding-top:40px}
  .why-quote p{font-size:2rem}
}
