:root {
  --bg: #fff8f3;
  --bg-2: #f8eee8;
  --paper: rgba(255,255,255,.78);
  --paper-strong: rgba(255,255,255,.92);
  --paper-solid: #fffdfb;
  --text: #3d2622;
  --muted: #7f5f56;
  --brand: #ad6259;
  --brand-dark: #8f4a43;
  --brand-soft: #f0cfc8;
  --line: rgba(185,109,98,.22);
  --shadow: 0 24px 80px rgba(126,64,54,.14);
  --shadow-soft: 0 14px 38px rgba(126,64,54,.08);
  --radius: 30px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(240,207,200,.58), transparent 36rem),
    radial-gradient(circle at 90% 10%, rgba(255,240,226,.92), transparent 34rem),
    linear-gradient(135deg, var(--bg), #fffdfb 56%, var(--bg-2));
  min-height: 100vh;
}
a, button { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.site-shell { overflow: clip; }

.wrap,
.article-hero,
.article-section,
.footer {
  width: min(1180px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

/* Exact ElviGlow header structure */
.topbar {
  width: min(1220px, calc(100% - 24px));
  position: sticky;
  top: 10px;
  z-index: 50;
  margin: 10px auto 0;
  padding: 9px 12px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(143,74,67,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 12px 34px rgba(83,43,37,.08);
}
.brand-row { display: contents; }
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 900;
  letter-spacing: -.035em;
  white-space: nowrap;
  color: var(--brand-dark);
  font-size: 1.14rem;
}
.brand img { width: 54px; height: 54px; object-fit: contain; border-radius: 50%; }
.brand span { display: flex; flex-direction: column; gap: 2px; line-height: 1.05; }
.brand strong { font-size: 1.08rem; letter-spacing: -.04em; }
.brand small {
  display: none;
  max-width: 190px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: -.02em;
}
.nav-tabs {
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.nav-tabs a,
.nav-cta {
  padding: 10px 12px;
  border-radius: 999px;
  color: var(--muted);
  transition: .2s ease;
  white-space: nowrap;
  font-size: .94rem;
  font-weight: 700;
}
.nav-tabs a:hover,
.nav-tabs a.active {
  background: rgba(185,109,98,.12);
  color: var(--brand-dark);
}
.top-actions { display: flex; gap: 8px; align-items: center; justify-content: flex-end; }
.nav-cta {
  background: linear-gradient(135deg,var(--brand),var(--brand-dark));
  color: white;
  font-weight: 900;
  box-shadow: 0 14px 32px rgba(143,74,67,.2);
}
.desktop-nav { display: flex; }
.mobile-nav { display: none; }
.language-menu,
.nav-more { position: relative; }
.language-trigger {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.78);
  color: var(--text);
  border-radius: 999px;
  padding: 10px 14px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 900;
}
.language-options,
.nav-more-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  display: none;
  min-width: 112px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 50px rgba(92,45,38,.16);
  z-index: 999;
}
.language-menu.open .language-options,
.nav-more.open .nav-more-panel { display: grid; }
.language-options a,
.nav-more-panel a {
  border-radius: 16px;
  padding: 10px 12px;
  font-weight: 900;
  text-align: left;
  display: block;
  color: var(--muted);
}
.language-options a.active,
.language-options a:hover,
.nav-more-panel a.active,
.nav-more-panel a:hover {
  background: rgba(185,109,98,.12);
  color: var(--brand-dark);
}
.nav-more-trigger {
  border: 1px solid rgba(185,109,98,.16);
  background: rgba(255,255,255,.76);
  color: var(--muted);
  border-radius: 999px;
  font-weight: 900;
}

/* Article: same scale and spacing language as the normal ElviGlow subpages */
.article-hero { padding: 56px 0 28px; }
.article-hero > div { max-width: 980px; }
.eyebrow {
  margin: 0 0 14px;
  color: var(--brand-dark);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .78rem;
}
h1,h2,h3 {
  font-family: "Playfair Display", Georgia, serif;
  line-height: .98;
  letter-spacing: -.05em;
  margin: 0;
}
.article-hero h1 {
  font-size: clamp(3rem, 5.15vw, 5.25rem);
  max-width: 940px;
}
h2 { font-size: clamp(2.15rem,4.4vw,4.55rem); }
h3 { font-size: clamp(1.35rem,2.3vw,2.05rem); }
.lead {
  margin: 24px 0 0;
  max-width: 780px;
  color: var(--muted);
  font-size: clamp(1.05rem,1.55vw,1.24rem);
  line-height: 1.72;
}
p { line-height: 1.72; color: var(--muted); }

.actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.btn {
  border: 1px solid transparent;
  padding: 14px 22px;
  border-radius: 999px;
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
}
.btn.primary {
  background: linear-gradient(135deg,var(--brand),var(--brand-dark));
  color: white;
  box-shadow: 0 18px 40px rgba(143,74,67,.22);
}
.btn.secondary {
  background: rgba(255,255,255,.72);
  color: var(--brand-dark);
  border-color: var(--line);
}
.btn:hover { transform: translateY(-2px); }

.trust { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.trust span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(185,109,98,.18);
  background: rgba(255,255,255,.58);
  color: #5f4540;
  font-size: .82rem;
  font-weight: 800;
}

.article-section { padding: 58px 0; scroll-margin-top: 120px; }
.section-head { max-width: 820px; margin-bottom: 30px; }
.section-head p:last-child { font-size: 1.03rem; }
.grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow-soft);
}
.card .mark {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(185,109,98,.1);
  color: var(--brand-dark);
  margin-bottom: 18px;
}
.card p { margin-bottom: 0; }

.price-list { display: grid; gap: 12px; }
.price-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 22px 24px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow-soft);
}
.price-row h3 {
  font-size: clamp(1.25rem,2vw,1.75rem);
  margin: 0;
}
.price-row p { margin: 8px 0 0; }
.price-row strong {
  color: var(--brand-dark);
  font-size: 1.18rem;
  white-space: nowrap;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(185,109,98,.1);
}

.steps { display: grid; gap: 14px; }
.step {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  align-items: start;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.68);
}
.step span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--brand);
  color: white;
  font-weight: 900;
}
.step p { margin: 6px 0 0; }

.faq { display: grid; gap: 12px; }
.faq details {
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.68);
  padding: 18px 20px;
}
.faq summary { cursor: pointer; font-weight: 900; color: var(--text); }
.faq p { margin: 12px 0 0; }
.note { font-size: .9rem; margin-top: 18px; }

.studio-disclosure {
  padding: 34px;
  margin-top: 30px;
  margin-bottom: 18px;
  border: 1px solid var(--line);
  border-radius: 34px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow-soft);
}
.studio-disclosure .section-head { margin-bottom: 0; }
.studio-disclosure h2 { font-size: clamp(1.8rem,3vw,3rem); }
.studio-disclosure .trust { margin-top: 20px; }

.cta {
  width: min(1180px,calc(100% - 32px));
  margin: 36px auto 0;
  padding: 34px;
  border-radius: 38px;
  border: 1px solid var(--line);
  background: var(--paper);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
}
.cta h2 { font-size: clamp(2rem,3.8vw,4rem); }
.cta p { max-width: 640px; }
.cta .actions { margin-top: 0; }
.related { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.related a {
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.66);
  font-weight: 800;
  color: var(--brand-dark);
  font-size: .9rem;
}

/* Exact ElviGlow footer style */
.footer {
  padding: 56px 0 88px;
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
  color: var(--muted);
}
.footer-brand { display: flex; align-items: center; gap: 14px; }
.footer img { width: 72px; border-radius: 50%; }
.footer p { margin: 6px 0 2px; }
.footer small { color: var(--muted); }
.footer-links { display: flex; flex-wrap: wrap; gap: 14px; justify-content: flex-end; }
.footer-links a { color: var(--brand-dark); font-weight: 900; }

/* Mobile bottom actions like the main site */
.mobile-booking-bar { display: none; }

@media (min-width:1041px) {
  .brand-row { display: contents; }
  .brand { grid-column:1; grid-row:1; }
  .desktop-nav { grid-column:2; grid-row:1; }
  .top-actions { grid-column:3; grid-row:1; }
  .mobile-nav { display:none; }
  .desktop-nav a { padding-left:10px; padding-right:10px; font-size:.88rem; }
}

@media (max-width:1040px) {
  .topbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    border-radius: 30px;
  }
  .brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
  }
  .desktop-nav { display:none; }
  .mobile-nav { display:flex; }
  .grid { grid-template-columns:1fr; }
  .cta { display:grid; }
}

@media (max-width:740px) {
  body {
    background:
      radial-gradient(circle at top left,rgba(240,207,200,.52),transparent 24rem),
      linear-gradient(180deg,#fff8f3,#fffdfb 58%,#f8eee8);
  }
  .wrap,.article-hero,.article-section,.footer { width:min(100% - 28px,1180px); }
  .topbar {
    width:100%;
    top:0;
    margin:0;
    padding:10px 14px 12px;
    border-radius:0 0 28px 28px;
    border-left:0;
    border-right:0;
    background:rgba(255,255,255,.94);
    box-shadow:0 14px 34px rgba(88,48,41,.08);
    overflow:visible;
  }
  .brand-row { position:relative; z-index:120; }
  .brand { flex:1 1 auto; min-width:0; gap:11px; font-size:1rem; }
  .brand img { width:50px; height:50px; }
  .brand strong { font-size:1.08rem; }
  .brand small {
    display:block;
    font-size:.68rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .top-actions { flex:0 0 auto; gap:8px; }
  .nav-cta {
    display:inline-flex;
    min-height:44px;
    padding:10px 15px;
    font-size:.82rem;
  }
  .language-trigger { min-height:44px; padding:9px 13px; font-size:.86rem; }
  .language-options { right:0; min-width:112px; }

  .mobile-nav {
    position:relative;
    z-index:110;
    width:100%;
    margin-top:10px;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) 54px;
    gap:7px;
    overflow:visible !important;
    padding:0;
  }
  .mobile-nav a,
  .mobile-nav .nav-more-trigger {
    width:100%;
    min-width:0 !important;
    min-height:42px;
    padding:8px 6px;
    border:1px solid rgba(185,109,98,.16);
    background:rgba(255,255,255,.72);
    color:var(--muted);
    border-radius:999px;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:-.03em;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
  }
  .mobile-nav a.active,
  .mobile-nav a:hover,
  .nav-more.active .nav-more-trigger {
    background:rgba(185,109,98,.14);
    color:var(--brand-dark);
    border-color:rgba(185,109,98,.24);
  }
  .mobile-nav .nav-more { position:relative; min-width:0; width:100%; z-index:140; }
  .mobile-nav .nav-more-trigger {
    letter-spacing:.12em;
    font-size:1rem;
    padding-left:0;
    padding-right:0;
  }
  .mobile-nav .nav-more-panel {
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    z-index:999;
    width:min(260px,calc(100vw - 28px));
    min-width:0;
    padding:8px;
    border-radius:24px;
  }
  .mobile-nav .nav-more-panel a {
    min-height:46px;
    justify-content:flex-start;
    padding:12px 14px;
    border-radius:18px;
    font-size:.88rem;
    letter-spacing:-.02em;
    background:transparent;
    border-color:transparent;
  }

  .article-hero { padding:50px 0 22px; }
  .eyebrow { font-size:.72rem; letter-spacing:.14em; margin-bottom:12px; }
  .article-hero h1 { font-size:clamp(2.7rem,12.2vw,4.05rem); line-height:.96; letter-spacing:-.055em; }
  h2 { font-size:clamp(2.05rem,9vw,3.25rem); }
  h3 { font-size:clamp(1.35rem,6.2vw,2rem); }
  .lead { margin-top:20px; font-size:1rem; line-height:1.62; }
  p { line-height:1.62; }
  .actions { gap:10px; margin-top:26px; }
  .btn { min-height:52px; padding:13px 18px; flex:1 1 155px; text-align:center; }

  .article-section { padding:40px 0; }
  .card { border-radius:26px; padding:22px; box-shadow:0 14px 34px rgba(126,64,54,.08); }
  .price-row { grid-template-columns:1fr; gap:12px; padding:20px; border-radius:24px; }
  .price-row strong { width:fit-content; font-size:1.05rem; }
  .step { grid-template-columns:38px 1fr; gap:12px; padding:16px; border-radius:22px; }
  .step span { width:36px; height:36px; }
  .cta { width:min(100% - 28px,1180px); padding:24px; border-radius:28px; gap:20px; }
  .cta .actions { margin-top:0; }
  .cta .btn { flex:1 1 100%; width:100%; }

  .footer {
    padding:42px 0 92px;
    display:grid;
    gap:22px;
  }
  .footer-links {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    justify-content:stretch;
  }
  .footer-links a {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 8px;
    border:1px solid var(--line);
    border-radius:999px;
    background:rgba(255,255,255,.66);
    text-align:center;
    font-size:.9rem;
    line-height:1.15;
  }

  .mobile-booking-bar {
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:300;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:8px;
    border:1px solid rgba(143,74,67,.16);
    border-radius:22px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(18px);
    box-shadow:0 18px 50px rgba(92,45,38,.16);
  }
  .mobile-booking-bar a {
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    font-weight:900;
    font-size:.82rem;
    text-align:center;
    padding:8px 10px;
  }
  .mobile-booking-secondary {
    color:var(--brand-dark);
    background:rgba(185,109,98,.09);
  }
  .mobile-booking-primary {
    color:white;
    background:linear-gradient(135deg,var(--brand),var(--brand-dark));
  }
}

@media (max-width:480px) {
  .nav-cta { display:none; }
  .brand img { width:46px; height:46px; }
  .brand strong { font-size:1.02rem; }
  .brand small { display:none; }
}

@media (max-width:380px) {
  .mobile-nav { grid-template-columns:repeat(4,minmax(0,1fr)) 48px; gap:6px; }
  .mobile-nav a,
  .mobile-nav .nav-more-trigger { min-height:40px; padding:7px 4px; font-size:.69rem; }
  .mobile-nav .nav-more-trigger { font-size:.92rem; }
}
