
:root {
  --plum:#2c1b25;
  --deep:#21151d;
  --rose:#d7647e;
  --rose-dark:#b94d66;
  --blush:#f9e1e5;
  --blush-2:#f4c8d0;
  --ivory:#fffaf6;
  --cream:#fbf3ed;
  --champagne:#d7a65a;
  --ink:#2a2025;
  --muted:#6e5f62;
  --line:rgba(80,45,55,.15);
  --shell:1180px;
}
* { box-sizing:border-box; }
body {
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:var(--ivory);
  color:var(--ink);
  line-height:1.6;
}
a { color:inherit; }
img { max-width:100%; display:block; }
.skip-link {
  position:absolute;
  left:-999px;
  top:0;
  z-index:1000;
  background:#fff;
  color:#000;
  padding:.8rem 1rem;
}
.skip-link:focus { left:1rem; top:1rem; }

.site-header {
  background:linear-gradient(90deg, #21151d, #2a1923);
  border-bottom:1px solid rgba(255,255,255,.12);
  position:sticky;
  top:0;
  z-index:100;
}
.header-inner {
  width:min(calc(100% - 2rem), var(--shell));
  margin:0 auto;
  min-height:92px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:2rem;
}
.logo-lockup {
  display:inline-flex;
  align-items:center;
  gap:.95rem;
  text-decoration:none;
}
.logo-image {
  width:auto;
  height:84px;
  border-radius:12px;
}
.logo-text {
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.logo-title {
  font-weight:900;
  letter-spacing:-.02em;
  color:#fff;
}
.logo-place {
  color:rgba(255,255,255,.72);
  font-size:.9rem;
}
.nav {
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}
.nav a {
  color:rgba(255,255,255,.86);
  text-decoration:none;
  font-weight:800;
  font-size:.9rem;
  padding:.7rem .78rem;
  border-radius:999px;
}
.nav a:hover,
.nav a.active {
  color:#fff;
  background:rgba(215,166,90,.15);
}
.nav a.active {
  box-shadow:inset 0 -2px 0 var(--champagne);
}

.nail-hero {
  position:relative;
  min-height:620px;
  display:grid;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(255,250,246,.98) 0%, rgba(255,250,246,.92) 42%, rgba(255,250,246,.2) 72%),
    url("assets/nails-hero.jpg") center right / cover no-repeat;
  border-bottom:1px solid var(--line);
}
.nail-hero::after {
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:120px;
  background:linear-gradient(180deg, transparent, rgba(255,250,246,.96));
  pointer-events:none;
}
.hero-content {
  width:min(calc(100% - 2rem), var(--shell));
  margin:0 auto;
  position:relative;
  z-index:2;
  padding:5rem 0;
}
.script-title {
  display:block;
  font-family:"Brush Script MT", "Segoe Script", cursive;
  color:var(--rose);
  font-size:clamp(2.5rem, 6vw, 5.2rem);
  line-height:.85;
  font-weight:400;
  margin-bottom:.15rem;
}
.nail-hero h1 {
  margin:0;
  max-width:710px;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(4rem, 9vw, 8rem);
  line-height:.85;
  letter-spacing:-.06em;
  font-weight:500;
  color:var(--plum);
}
.nail-hero h1 span {
  color:var(--rose);
}
.nail-strap {
  margin:1.1rem 0 1rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--rose-dark);
  font-weight:900;
  font-size:1.02rem;
}
.hero-copy {
  max-width:540px;
  color:#3b3035;
  font-size:1.16rem;
  margin:0 0 1.35rem;
}
.rose-button,
.outline-button,
.soft-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:900;
  border-radius:5px;
  padding:.95rem 1.3rem;
  transition:transform .18s ease, filter .18s ease;
}
.rose-button {
  background:linear-gradient(135deg, var(--rose), var(--rose-dark));
  color:#fff;
  box-shadow:0 14px 32px rgba(185,77,102,.24);
}
.rose-button:hover,
.outline-button:hover,
.soft-button:hover {
  transform:translateY(-1px);
  filter:brightness(1.04);
}
.example-pill {
  display:inline-flex;
  margin-top:.9rem;
  padding:.45rem .8rem;
  border-radius:999px;
  border:1px solid rgba(185,77,102,.25);
  color:var(--rose-dark);
  background:rgba(255,255,255,.72);
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.08em;
  font-weight:900;
}

.trust-strip {
  width:min(calc(100% - 2rem), var(--shell));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  padding:2.15rem 0;
}
.trust-item {
  display:grid;
  grid-template-columns:48px 1fr;
  gap:1rem;
  align-items:start;
  padding:0 1.6rem;
  border-right:1px solid var(--line);
}
.trust-item:last-child { border-right:0; }
.trust-icon {
  color:var(--rose);
  font-size:2rem;
  line-height:1;
}
.trust-item h2 {
  margin:0 0 .2rem;
  font-size:1rem;
  letter-spacing:.02em;
}
.trust-item p {
  margin:0;
  color:var(--muted);
  font-size:.95rem;
}

.cream-section {
  background:var(--cream);
}
.services-about {
  display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(280px,.9fr) minmax(320px,1fr);
  gap:2.1rem;
  padding:3rem max(1rem, calc((100vw - var(--shell)) / 2));
  align-items:stretch;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.section-card {
  background:rgba(255,255,255,.62);
  border:1px solid rgba(80,45,55,.08);
  border-radius:18px;
  padding:1.75rem;
  box-shadow:0 18px 42px rgba(90,45,60,.06);
}
.section-card h2,
.gallery-section h2,
.info-block h2 {
  margin:0;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:1.35rem;
  color:var(--plum);
}
.section-card h2.center,
.gallery-section h2 {
  text-align:center;
}
.underline {
  width:78px;
  height:2px;
  background:var(--champagne);
  margin:.85rem 0 1.35rem;
}
.underline.center {
  margin-left:auto;
  margin-right:auto;
}
.price-list {
  margin:0;
}
.price-list div {
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  padding:.75rem 0;
  border-bottom:1px solid var(--line);
}
.price-list dt {
  font-weight:900;
}
.price-list dt span {
  display:block;
  font-weight:600;
  color:var(--muted);
  font-size:.88rem;
  margin-top:.1rem;
}
.price-list dd {
  margin:0;
  font-weight:900;
  color:var(--plum);
}
.note-row {
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  color:var(--muted);
  font-size:.94rem;
  margin-top:1rem;
}
.outline-button {
  margin-top:1.15rem;
  color:var(--rose-dark);
  border:1px solid var(--rose);
  background:transparent;
}
.studio-photo {
  position:relative;
  overflow:hidden;
  border-radius:16px;
  min-height:100%;
  background:var(--blush);
  box-shadow:0 18px 42px rgba(90,45,60,.08);
}
.studio-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  min-height:390px;
}
.about-card p {
  color:#55464c;
  margin:0 0 1rem;
}
.script-note {
  font-family:"Brush Script MT", "Segoe Script", cursive;
  color:var(--rose);
  font-size:2rem;
  margin-top:.85rem;
  text-align:center;
}
.heart {
  color:var(--champagne);
  text-align:center;
  font-size:1.4rem;
}

.gallery-section {
  padding:2.7rem max(1rem, calc((100vw - var(--shell)) / 2));
  background:var(--ivory);
}
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:.85rem;
  margin-top:1.1rem;
}
.gallery-grid img {
  width:100%;
  aspect-ratio:1.15 / 1;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(185,77,102,.18);
  box-shadow:0 10px 24px rgba(90,45,60,.08);
}
.social-strip {
  display:flex;
  justify-content:center;
  margin-top:1.15rem;
}
.soft-button {
  color:var(--rose-dark);
  border:1px solid rgba(185,77,102,.35);
  background:#fff;
  padding:.7rem 1rem;
  font-size:.9rem;
}

.info-section {
  background:var(--cream);
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2rem;
  padding:3rem max(1rem, calc((100vw - var(--shell)) / 2));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.info-block {
  padding:0 2rem;
  border-right:1px solid var(--line);
}
.info-block:last-child {
  border-right:0;
}
.info-block h2 {
  font-size:1rem;
  display:flex;
  align-items:center;
  gap:.75rem;
}
.info-block h2 span {
  color:var(--rose);
  font-size:1.4rem;
}
.hours-list {
  margin:0;
}
.hours-list div {
  display:grid;
  grid-template-columns:105px 1fr;
  gap:.8rem;
  margin-bottom:.28rem;
}
.hours-list dt {
  font-weight:800;
}
.hours-list dd {
  margin:0;
  color:#4f4348;
}
.check-list {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.65rem;
}
.check-list li {
  position:relative;
  padding-left:1.75rem;
}
.check-list li::before {
  content:"✓";
  position:absolute;
  left:0;
  color:var(--champagne);
  font-weight:900;
}
.fiction-note {
  font-size:.9rem;
  color:var(--muted);
  font-style:italic;
}

.nail-cta {
  background:
    linear-gradient(90deg, rgba(249,225,229,.95), rgba(255,250,246,.96)),
    radial-gradient(circle at 7% 25%, rgba(215,100,126,.32), transparent 20%),
    radial-gradient(circle at 94% 72%, rgba(215,100,126,.28), transparent 22%);
  padding:2.2rem max(1rem, calc((100vw - var(--shell)) / 2));
  border-bottom:1px solid var(--line);
}
.cta-content {
  display:grid;
  grid-template-columns:1fr auto;
  gap:2rem;
  align-items:center;
}
.nail-cta h2 {
  margin:0 0 .3rem;
  font-family:Georgia, "Times New Roman", serif;
  font-size:2rem;
  font-weight:500;
  color:var(--plum);
}
.nail-cta p {
  margin:0;
  color:var(--muted);
}

.site-footer {
  background:linear-gradient(90deg, #21151d, #2a1923);
  color:#fff;
}
.footer-inner {
  width:min(calc(100% - 2rem), var(--shell));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.25fr .7fr .85fr;
  gap:3rem;
  padding:2.6rem 0;
}
.footer-logo {
  width:110px;
  border-radius:999px;
  margin-bottom:.9rem;
}
.footer-brand-block p {
  color:rgba(255,255,255,.7);
  max-width:390px;
}
.footer-tagline {
  color:#fff!important;
}
.site-footer h3 {
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.95rem;
}
.footer-links {
  margin:0;
  padding:0;
  list-style:none;
}
.footer-links a,
.site-footer a {
  color:rgba(255,255,255,.84);
}
.footer-links li {
  margin-bottom:.42rem;
}
.footer-bottom {
  width:min(calc(100% - 2rem), var(--shell));
  margin:0 auto;
  padding:1.25rem 0;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;
  justify-content:space-between;
  gap:1rem;
  color:rgba(255,255,255,.6);
  font-size:.9rem;
}

@media (max-width:1080px) {
  .header-inner {
    align-items:flex-start;
    flex-direction:column;
    padding:1rem 0;
  }
  .trust-strip {
    grid-template-columns:repeat(2, 1fr);
  }
  .trust-item:nth-child(2) {
    border-right:0;
  }
  .services-about,
  .info-section,
  .footer-inner,
  .cta-content {
    grid-template-columns:1fr;
  }
  .info-block {
    border-right:0;
    padding:0;
  }
  .gallery-grid {
    grid-template-columns:repeat(3, 1fr);
  }
}

@media (max-width:680px) {
  .logo-image {
    height:70px;
  }
  .logo-text {
    display:none;
  }
  .nav {
    gap:.1rem;
  }
  .nav a {
    font-size:.82rem;
    padding:.55rem .62rem;
  }
  .nail-hero {
    min-height:560px;
    background:
      linear-gradient(90deg, rgba(255,250,246,.98) 0%, rgba(255,250,246,.9) 82%),
      url("assets/nails-hero.jpg") center right / cover no-repeat;
  }
  .nail-hero h1 {
    font-size:clamp(3.3rem, 18vw, 5.4rem);
  }
  .script-title {
    font-size:3rem;
  }
  .trust-strip {
    grid-template-columns:1fr;
  }
  .trust-item {
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:1.1rem 0;
  }
  .gallery-grid {
    grid-template-columns:repeat(2, 1fr);
  }
  .hours-list div {
    grid-template-columns:1fr;
    gap:.05rem;
  }
  .footer-bottom {
    flex-direction:column;
  }
}
