:root {
  --ink: #202020;
  --muted: #6d6864;
  --pink: #eeb9b9;
  --pink-soft: #fbefee;
  --gold: #cda166;
  --paper: #fffdfb;
  --line: #eaded8;
  --dark: #191b1f;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #f1efed; }
body {
  margin: 0;
  color: var(--ink);
  font-family: "Heebo", Arial, sans-serif;
  background: #f1efed;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }
.site-shell {
  width: min(100%, 1920px);
  margin-inline: auto;
  background:
    radial-gradient(circle at 23% 6%, rgba(246,213,211,.28), transparent 23%),
    linear-gradient(180deg, #fff, #fffdfb);
  box-shadow: 0 0 46px rgba(46,34,30,.08);
  overflow: hidden;
}
.section { padding-inline: 84px; }
h1, h2, h3, p { margin-top: 0; }
h2 { font-size: 54px; line-height: 1.05; margin-bottom: 42px; font-weight: 800; }
.button {
  min-width: 240px;
  height: 78px;
  border-radius: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 34px;
  font-size: 24px;
  font-weight: 600;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(0,0,0,.12); }
.button-dark { background: var(--ink); color: white; }
.button-light { border: 1.5px solid #4e4a47; background: rgba(255,255,255,.74); }
.button-pink { background: #edb5b6; color: white; }

.header {
  height: 140px;
  padding: 22px 64px;
  display: grid;
  grid-template-columns: 280px 1fr 280px;
  align-items: center;
  border-bottom: 1px solid rgba(231,220,215,.52);
  position: relative;
  z-index: 10;
  background: rgba(255,255,255,.88);
}
.brand {
  width: 230px;
  height: 106px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  direction: ltr;
  position: relative;
}
.brand-arc { font-family: Georgia, serif; letter-spacing: 6px; font-size: 13px; transform: rotate(-5deg); }
.brand-eye { font: 42px/25px Georgia, serif; transform: rotate(-7deg); margin-top: 4px; }
.brand-lashes { font-size: 18px; line-height: 15px; }
.brand strong { font: 29px/1.1 Georgia, serif; font-weight: 400; }
.nav { display: flex; justify-content: center; gap: clamp(45px, 5vw, 100px); font-size: 23px; }
.nav a { position: relative; padding: 12px 0; }
.nav a:hover::after, .nav a.active::after { right: 0; left: 0; }
.header-cta { justify-self: start; min-width: 210px; height: 74px; }
.menu-toggle { display: none; }

.hero {
  min-height: 885px;
  display: grid;
  grid-template-columns: 49.5% 50.5%;
  direction: rtl;
  position: relative;
}
.hero-copy {
  padding: 92px 128px 64px 82px;
  align-self: center;
  text-align: right;
}
.eyebrow { color: #dca5a5; font-size: 35px; font-weight: 600; margin-bottom: 25px; }
.hero h1 { font-size: 82px; line-height: 1.08; margin-bottom: 29px; letter-spacing: -2px; font-weight: 900; }
.lead { font-size: 40px; line-height: 1.26; margin-bottom: 38px; }
.lead span { direction: ltr; unicode-bidi: isolate; display: inline-block; }
.hero-actions { display: flex; gap: 40px; margin-bottom: 44px; }
.hero-points { list-style: none; padding: 0; margin: 0; display: flex; gap: 48px; color: #6a6562; font-size: 23px; }
.hero-points li + li::before { content: "•"; color: var(--pink); margin-left: 34px; }
.hero-visual {
  align-self: stretch;
  background: #fffaf8;
  overflow: hidden;
}
.hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 21%;
}

.services {
  min-height: 640px;
  text-align: center;
  padding-top: 66px;
  padding-bottom: 64px;
  background: rgba(255,255,255,.78);
  border-top: 1px solid var(--line);
}
.spark { display: block; color: #e6b8b8; font-size: 28px; line-height: 1; margin-bottom: 14px; }
.service-grid { direction: rtl; display: grid; grid-template-columns: repeat(5, 1fr); gap: 34px; }
.service-card {
  height: 390px;
  border: 1px solid #e2d2cc;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  display: grid;
  grid-template-rows: 285px 1fr;
  box-shadow: 0 9px 25px rgba(83,54,43,.045);
  transition: transform .2s, box-shadow .2s;
}
.service-card:hover { transform: translateY(-6px); box-shadow: 0 18px 35px rgba(83,54,43,.12); }
.service-card img { width: 100%; height: 100%; object-fit: cover; }
.service-card span { align-self: center; font-size: 26px; line-height: 1.18; font-weight: 500; }
.service-card .english { direction: ltr; font-weight: 600; }

.about {
  min-height: 590px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  direction: rtl;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  background: linear-gradient(90deg, #fff 0%, #fffaf9 56%, #fceeee 100%);
  overflow: hidden;
}
.about-copy { direction: rtl; text-align: right; padding: 60px 112px 60px 130px; }
.about-copy h2 { font-size: 72px; margin-bottom: 34px; white-space: nowrap; }
.about-copy p { max-width: 670px; font-size: 30px; line-height: 1.65; color: #514d4a; margin-bottom: 38px; }
.about-copy .button { min-width: 220px; }
.about-visual {
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding-right: 55px;
}
.about-shape {
  width: 690px;
  height: 590px;
  background: #ecd1d0;
  border: 2px solid #d8b482;
  border-radius: 48% 52% 45% 55% / 56% 42% 58% 44%;
  overflow: hidden;
  transform: translateY(16px);
}
.about-shape img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }

.spa-feature { height: 495px; position: relative; background: #1c0d08; color: white; overflow: hidden; }
.spa-feature > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.spa-feature-copy { position: absolute; z-index: 2; right: 84px; top: 66px; width: 565px; text-align: right; }
.spa-feature-copy h2 { font-size: 57px; line-height: 1.05; margin-bottom: 26px; }
.spa-feature-copy p { font-size: 29px; line-height: 1.45; margin-bottom: 30px; color: #f3e9e3; }
.spa-feature-copy .button { min-width: 360px; height: 70px; }

.results { min-height: 500px; padding-top: 48px; padding-bottom: 45px; text-align: center; background: #fff; }
.results h2 { margin-bottom: 34px; }
.results-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 54px; }
.result-card { margin: 0; border: 1px solid #dfd2cc; border-radius: 18px; overflow: hidden; background: #fff; }
.result-card img { width: 100%; height: 260px; object-fit: cover; }
.result-card .closed-result { object-position: center 35%; }
.result-card figcaption { height: 58px; display: grid; place-items: center; font-size: 23px; color: #615b58; }

.why { min-height: 290px; text-align: center; padding-top: 38px; padding-bottom: 46px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.why h2 { font-size: 43px; margin-bottom: 32px; }
.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.why-grid article { display: flex; align-items: center; justify-content: center; gap: 28px; min-height: 110px; padding: 0 40px; border-left: 1px solid #dfd5d0; }
.why-grid article:last-child { border-left: 0; }
.line-icon { color: #dc9e9f; font: 64px/1 Georgia, serif; font-weight: 300; min-width: 90px; }
.why h3 { font-size: 27px; margin: 0 0 6px; }
.why p { font-size: 20px; line-height: 1.45; color: #67615e; margin: 0; }

.reviews { min-height: 390px; padding-top: 38px; padding-bottom: 48px; text-align: center; }
.reviews h2 { font-size: 45px; margin-bottom: 34px; }
.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 55px; }
.reviews blockquote { position: relative; margin: 0; min-height: 205px; padding: 38px 48px 25px; border: 1px solid #e0c9c3; border-radius: 16px; background: rgba(255,255,255,.8); font-size: 20px; color: #625c59; }
.reviews blockquote > span { position: absolute; top: 5px; right: 18px; font: 68px/1 Georgia, serif; color: #e4a9aa; }
.reviews blockquote p { line-height: 1.5; margin-bottom: 14px; }
.reviews cite { font-style: normal; font-weight: 700; color: #403c39; }

.final-cta { min-height: 175px; margin: 0 84px 12px; padding: 20px; border: 1.5px solid #cfa26d; border-radius: 18px; background: linear-gradient(90deg, #f8d8d7, #fff8f7, #f9dcda); text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.final-cta h2 { font-size: 42px; margin-bottom: 14px; }
.final-cta .button { height: 60px; min-width: 400px; font-size: 22px; }
.whatsapp span { font-size: 28px; margin-left: 8px; }

.footer { background: #1b1d23; color: #c9c4c1; display: grid; grid-template-columns: 1.2fr .8fr .8fr .9fr 1.1fr; gap: 55px; padding: 38px 55px; align-items: start; font-size: 17px; }
.footer .brand { color: #d5a7a0; transform: scale(.92); transform-origin: top right; }
.footer h3 { color: white; margin: 0 0 12px; font-size: 20px; }
.footer a { display: block; margin: 5px 0; }
.footer p { margin: 5px 0; }
.social { display: flex; align-items: center; gap: 20px; direction: ltr; }
.social > span { border: 2px solid #d9a59d; color: #d9a59d; width: 58px; height: 58px; border-radius: 15px; display: grid; place-items: center; font-size: 38px; }

@media (max-width: 1250px) {
  .header { grid-template-columns: 220px 1fr 210px; padding-inline: 35px; }
  .nav { gap: 34px; font-size: 19px; }
  .brand { transform: scale(.82); transform-origin: right center; }
  .hero-copy { padding-inline: 45px; }
  .hero h1 { font-size: 62px; }
  .lead { font-size: 31px; }
  .section { padding-inline: 45px; }
  .service-grid { gap: 20px; }
  .about-copy h2 { font-size: 52px; }
}

@media (max-width: 850px) {
  .site-shell { width: 100%; }
  .header { height: 88px; display: flex; justify-content: space-between; padding: 10px 20px; }
  .header .brand { width: 140px; transform: scale(.6); transform-origin: right center; }
  .header-cta { display: none; }
  .menu-toggle { display: block; border: 0; background: transparent; font-size: 31px; cursor: pointer; }
  .nav { position: absolute; top: 88px; inset-inline: 0; background: white; display: none; flex-direction: column; gap: 0; padding: 12px 25px 25px; box-shadow: 0 15px 30px rgba(0,0,0,.1); }
  .nav.open { display: flex; }
  .nav a { border-bottom: 1px solid #eee; }
  .hero { min-height: auto; grid-template-columns: 1fr; }
  .hero-copy { grid-row: 2; padding: 48px 24px 55px; text-align: center; }
  .hero-visual { height: 520px; grid-row: 1; }
  .hero-visual img { object-position: center 15%; }
  .eyebrow { font-size: 24px; }
  .hero h1 { font-size: 48px; letter-spacing: -1px; }
  .lead { font-size: 27px; }
  .hero-actions { justify-content: center; gap: 14px; }
  .button { min-width: 0; height: 60px; padding-inline: 24px; font-size: 18px; }
  .hero-points { justify-content: center; gap: 10px; font-size: 16px; flex-wrap: wrap; }
  .hero-points li + li::before { margin-left: 10px; }
  .section { padding-inline: 20px; }
  h2 { font-size: 36px; }
  .services { padding-top: 45px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
  .service-card { height: 290px; grid-template-rows: 220px 1fr; }
  .service-card span { font-size: 19px; }
  .about { grid-template-columns: 1fr; padding: 0; }
  .about-visual { grid-row: 1; height: 540px; justify-content: center; padding-right: 0; }
  .about-shape { width: min(90%, 520px); height: 540px; }
  .about-copy { grid-row: 2; padding: 48px 25px 58px; text-align: center; }
  .about-copy h2 { font-size: 46px; }
  .about-copy p { font-size: 23px; }
  .spa-feature { height: 620px; }
  .spa-feature > img { object-position: 34% center; }
  .spa-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(23,11,7,.95), rgba(23,11,7,.06) 70%); }
  .spa-feature-copy { top: auto; bottom: 35px; right: 22px; left: 22px; width: auto; text-align: center; }
  .spa-feature-copy h2 { font-size: 40px; }
  .spa-feature-copy p { font-size: 21px; }
  .results-grid, .reviews-grid { grid-template-columns: 1fr; gap: 20px; }
  .result-card img { height: auto; aspect-ratio: 2 / 1; }
  .why-grid { grid-template-columns: 1fr; }
  .why-grid article { border-left: 0; border-bottom: 1px solid #dfd5d0; padding-block: 22px; }
  .why-grid article:last-child { border-bottom: 0; }
  .final-cta { margin-inline: 15px; }
  .final-cta h2 { font-size: 28px; }
  .final-cta .button { min-width: 0; width: min(100%, 360px); }
  .footer { grid-template-columns: repeat(2, 1fr); gap: 30px; padding: 35px 25px; }
}

@media (max-width: 480px) {
  .hero-visual { height: 440px; }
  .hero h1 { font-size: 41px; }
  .hero-actions { flex-direction: column; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { height: 360px; grid-template-rows: 285px 1fr; }
  .footer { grid-template-columns: 1fr; }
}

/* for inner pages */

.inner-page .site-shell {
  background:
    radial-gradient(circle at 15% 7%, rgba(247, 211, 211, .26), transparent 22%),
    linear-gradient(180deg, #fffdfc, #fff9f8);
}
.inner-page .header { border-bottom-color: rgba(226, 211, 205, .8); }
.inner-hero {
  min-height: 470px;
  padding: 72px 110px;
  display: grid;
  place-items: center;
  text-align: center;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(ellipse at 50% 110%, rgba(238, 185, 185, .4), transparent 50%),
    linear-gradient(115deg, #fff, #fff7f6);
}
.inner-hero .spark { margin-bottom: 18px; }
.inner-hero h1 { margin: 0 0 22px; font-size: 76px; line-height: 1.08; font-weight: 900; }
.inner-hero p { max-width: 830px; margin: 0 auto; font-size: 29px; line-height: 1.6; color: #655e5a; }
.inner-hero .breadcrumbs { margin-bottom: 18px; color: #c88f8d; font-size: 20px; }

.contact-main {
  padding: 75px 100px 90px;
  display: grid;
  grid-template-columns: 1.04fr .96fr;
  gap: 75px;
  direction: rtl;
}
.contact-form-wrap, .contact-details {
  border: 1px solid #ead7d2;
  border-radius: 24px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 18px 42px rgba(85,53,43,.055);
}
.contact-form-wrap { padding: 54px 60px; }
.contact-form-wrap h2, .contact-details h2 { font-size: 48px; margin-bottom: 14px; }
.contact-form-wrap > p, .contact-details > p { color: #706864; font-size: 21px; line-height: 1.55; margin-bottom: 35px; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.contact-form label { display: block; font-size: 19px; color: #4f4946; }
.contact-form label.full { grid-column: 1 / -1; }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%;
  margin-top: 8px;
  border: 1px solid #decfc9;
  border-radius: 12px;
  background: #fffdfc;
  padding: 0 18px;
  font: inherit;
  color: #282422;
  outline: none;
}
.contact-form input, .contact-form select { height: 58px; }
.contact-form textarea { min-height: 155px; resize: vertical; padding-top: 15px; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #d18f8f; box-shadow: 0 0 0 3px rgba(209,143,143,.13); }
.contact-form .button { grid-column: 1 / -1; width: 100%; border: 0; cursor: pointer; }
.contact-details { padding: 54px; display: flex; flex-direction: column; }
.contact-list { display: grid; gap: 18px; margin-bottom: 34px; }
.contact-item {
  min-height: 94px;
  padding: 18px 22px;
  border: 1px solid #eadbd5;
  border-radius: 15px;
  display: flex;
  align-items: center;
  gap: 20px;
  background: #fffdfc;
}
.contact-item > span { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: #f8e4e3; color: #c98686; font-size: 27px; }
.contact-item h3 { font-size: 21px; margin: 0 0 3px; }
.contact-item p { margin: 0; color: #706964; font-size: 18px; }
.contact-map {
  min-height: 225px;
  margin-top: auto;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  background:
    linear-gradient(rgba(255,249,247,.72),rgba(255,249,247,.72)),
    repeating-linear-gradient(25deg,#eadbd6 0 2px,transparent 2px 55px),
    repeating-linear-gradient(115deg,#eadbd6 0 2px,transparent 2px 70px);
}
.contact-map::after { content: "רחובות"; position: absolute; inset: 0; display: grid; place-items: center; color: #a66f6f; font-size: 27px; font-weight: 700; }

.blog-section { padding: 72px 90px 95px; }
.featured-post {
  min-height: 520px;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  direction: ltr;
  border: 1px solid #e6d6d0;
  border-radius: 24px;
  overflow: hidden;
  background: white;
  margin-bottom: 68px;
}
.featured-post img { width: 100%; height: 100%; object-fit: cover; }
.featured-copy { direction: rtl; padding: 62px 64px; align-self: center; text-align: right; }
.post-tag { display: inline-flex; min-height: 38px; padding: 7px 18px; border-radius: 999px; background: #f7dfdf; color: #af7171; font-size: 17px; font-weight: 600; }
.post-meta { margin: 18px 0 12px; color: #9a8f89; font-size: 17px; }
.featured-copy h2 { font-size: 53px; line-height: 1.15; margin-bottom: 20px; }
.featured-copy p { font-size: 22px; line-height: 1.65; color: #655e59; margin-bottom: 30px; }
.featured-copy .button { height: 62px; min-width: 205px; font-size: 20px; }
.blog-toolbar { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 32px; }
.blog-toolbar h2 { margin: 0; font-size: 48px; }
.blog-categories { display: flex; gap: 12px; flex-wrap: wrap; }
.blog-categories a { padding: 9px 22px; border: 1px solid #e0cec8; border-radius: 999px; background: white; color: #655d59; }
.blog-categories a.active { background: #202020; color: white; border-color: #202020; }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 38px; }
.post-card { border: 1px solid #e4d5cf; border-radius: 19px; overflow: hidden; background: white; transition: transform .2s, box-shadow .2s; }
.post-card:hover { transform: translateY(-5px); box-shadow: 0 18px 35px rgba(83,54,43,.1); }
.post-card img { width: 100%; height: 270px; object-fit: cover; }
.post-card-content { padding: 28px 30px 31px; text-align: right; }
.post-card-content .post-meta { margin: 13px 0 8px; }
.post-card h3 { font-size: 29px; line-height: 1.28; margin: 0 0 12px; }
.post-card p { color: #6e6662; line-height: 1.55; font-size: 18px; margin-bottom: 18px; }
.read-more { color: #bc7e7e; font-weight: 700; }

.article-hero {
  min-height: 590px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  direction: ltr;
  border-bottom: 1px solid var(--line);
}
.article-hero-image { overflow: hidden; }
.article-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.article-hero-copy { direction: rtl; padding: 75px 90px; align-self: center; text-align: right; }
.article-hero-copy h1 { font-size: 66px; line-height: 1.12; margin: 20px 0 24px; }
.article-hero-copy .article-deck { font-size: 25px; line-height: 1.58; color: #655d59; }
.article-author { margin-top: 28px; display: flex; align-items: center; gap: 15px; color: #776e69; }
.author-avatar { width: 49px; height: 49px; border-radius: 50%; display: grid; place-items: center; background: #efd2d1; color: #9e6767; font-weight: 800; }
.article-layout { max-width: 1350px; margin: 0 auto; padding: 75px 70px 95px; display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 85px; direction: rtl; }
.article-content { max-width: 850px; }
.article-content .lead-paragraph { font-size: 27px; line-height: 1.75; color: #4e4946; }
.article-content h2 { font-size: 43px; margin: 55px 0 20px; }
.article-content p, .article-content li { font-size: 21px; line-height: 1.85; color: #625b57; }
.article-content ul { padding-right: 25px; }
.article-content blockquote { margin: 45px 0; padding: 30px 40px; border-right: 5px solid #d58f8e; border-radius: 12px; background: #fff0ef; font-size: 26px; line-height: 1.55; color: #9c6666; }
.article-inline-image { margin: 45px 0; border-radius: 20px; overflow: hidden; }
.article-inline-image img { width: 100%; max-height: 470px; object-fit: cover; }
.article-sidebar { align-self: start; position: sticky; top: 25px; }
.sidebar-box { border: 1px solid #e6d8d2; border-radius: 17px; padding: 28px; background: white; margin-bottom: 22px; }
.sidebar-box h3 { font-size: 24px; margin-bottom: 15px; }
.sidebar-box a { display: block; padding: 10px 0; border-bottom: 1px solid #eee3df; color: #6e6561; }
.sidebar-box a:last-child { border-bottom: 0; }
.share-links { display: flex; gap: 12px; }
.share-links a { width: 42px; height: 42px; padding: 0; border: 1px solid #d8c8c2; border-radius: 50%; display: grid; place-items: center; }
.post-cta { max-width: 1250px; min-height: 205px; margin: 0 auto 75px; padding: 38px 55px; border: 1px solid #d8a27e; border-radius: 20px; background: linear-gradient(90deg,#f6d0d0,#fffaf8,#f5d4d2); display: flex; align-items: center; justify-content: space-between; }
.post-cta h2 { font-size: 38px; margin-bottom: 6px; }
.post-cta p { margin: 0; color: #685f5a; font-size: 20px; }
.post-cta .button { height: 62px; min-width: 300px; font-size: 20px; }

@media (max-width: 850px) {
  .inner-hero { min-height: 370px; padding: 55px 24px; }
  .inner-hero h1 { font-size: 48px; }
  .inner-hero p { font-size: 22px; }
  .contact-main, .article-layout { grid-template-columns: 1fr; padding: 45px 20px 65px; gap: 35px; }
  .contact-form-wrap, .contact-details { padding: 34px 24px; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form label.full, .contact-form .button { grid-column: auto; }
  .blog-section { padding: 45px 20px 70px; }
  .featured-post, .article-hero { grid-template-columns: 1fr; }
  .featured-post img, .article-hero-image { height: 390px; }
  .featured-copy, .article-hero-copy { padding: 38px 25px; }
  .featured-copy h2 { font-size: 39px; }
  .article-hero-copy h1 { font-size: 44px; }
  .blog-toolbar { align-items: flex-start; flex-direction: column; gap: 20px; }
  .posts-grid { grid-template-columns: 1fr; }
  .article-sidebar { position: static; }
  .post-cta { margin: 0 15px 40px; padding: 32px 24px; flex-direction: column; text-align: center; gap: 24px; }
}

@media (max-width: 480px) {
  .contact-form-wrap h2, .contact-details h2, .blog-toolbar h2 { font-size: 36px; }
  .blog-categories { gap: 7px; }
  .blog-categories a { padding-inline: 14px; font-size: 15px; }
  .article-content .lead-paragraph { font-size: 23px; }
  .article-content h2 { font-size: 34px; }
  .post-cta .button { min-width: 0; width: 100%; }
}

/* for services pages */

.service-page .site-shell {
  background:
    radial-gradient(circle at 17% 25%, rgba(247, 218, 215, .18), transparent 25%),
    #fffdfb;
}
.service-page .header { border-bottom-color: rgba(225, 212, 206, .74); }

.service-hero {
  height: 880px;
  display: grid;
  grid-template-columns: 49% 51%;
  direction: rtl;
  border-bottom: 1px solid var(--line);
}
.service-hero-copy {
  padding: 115px 118px 60px 92px;
  align-self: center;
  text-align: right;
}
.service-kicker {
  margin: 0 0 28px;
  color: #d29288;
  font-size: 35px;
  direction: ltr;
  text-align: right;
}
.service-hero h1 {
  margin: 0 0 36px;
  font-size: 72px;
  line-height: 1.17;
  letter-spacing: -1.6px;
  font-weight: 900;
}
.service-lead {
  margin: 0 0 50px;
  font-size: 33px;
  line-height: 1.6;
  color: #4d4946;
}
.service-actions { display: flex; align-items: center; gap: 54px; margin-bottom: 52px; }
.service-actions .button { min-width: 310px; height: 85px; }
.service-link { font-size: 25px; color: #57514e; }
.service-link span { font-size: 36px; margin-right: 15px; }
.service-meta { display: flex; align-items: center; gap: 20px; font-size: 22px; color: #66605c; }
.service-meta .person-icon { font: 35px/1 Georgia, serif; color: #444; margin-right: 45px; }
.service-meta .clock-icon { font-size: 39px; color: #333; }
.service-hero-image { overflow: hidden; height: 880px; }
.service-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 52% 48%; }

.ritual-intro {
  height: 490px;
  display: grid;
  grid-template-columns: 48% 52%;
  direction: ltr;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.ritual-copy { direction: rtl; text-align: right; padding: 56px 115px 50px 88px; }
.ritual-copy h2 { font-size: 56px; margin-bottom: 32px; }
.ritual-copy p { color: #5d5753; font-size: 25px; line-height: 1.65; margin-bottom: 22px; }
.ritual-image { height: 460px; overflow: hidden; margin: 15px 50px 15px 0; }
.ritual-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }

.benefits-section {
  height: 417px;
  padding: 42px 115px 55px;
  text-align: center;
  border-bottom: 1px solid var(--line);
}
.benefits-section h2 { font-size: 51px; margin-bottom: 35px; }
.benefits-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 42px; }
.benefits-grid article {
  height: 245px;
  border: 1px solid #ead8d2;
  border-radius: 13px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.66);
}
.benefit-icon { min-height: 96px; color: #cb8e88; font: 77px/1 Georgia, serif; }
.benefits-grid h3 { font-size: 26px; line-height: 1.35; margin: 10px 0 0; font-weight: 500; }

.process-section {
  padding: 40px 60px 40px 60px;
  border-bottom: 1px solid var(--line);
  text-align: center;
  position: relative;
}
.process-section h2 { font-size: 52px; margin-bottom: 110px; }
.process-line {
  position: absolute;
  top: 152px;
  left: 185px;
  right: 185px;
  border-top: 2px dashed #edcfca;
}
.process-grid { direction: rtl; display: grid; grid-template-columns: repeat(6, 1fr); gap: 28px; position: relative; }
.process-grid article {
  border: 1px solid #e5d8d3;
  border-radius: 13px;
  background: rgba(255,255,255,.8);
  position: relative;
  padding-top: 85px;
}
.step-number {
  position: absolute;
  top: -80px;
  right: 50%;
  transform: translateX(50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #d48f8c;
  color: white;
  font-size: 34px;
  z-index: 2;
}
.step-copy { height: 265px; padding: 0 15px; }
.step-copy h3 { font-size: 25px; line-height: 1.25; margin: 0 0 16px; }
.step-copy p { font-size: 21px; line-height: 1.5; color: #5e5753; margin: 0; }
.process-grid img { width: 100%; height: 220px; object-fit: cover; }

.quote-banner { height: 320px; position: relative; overflow: hidden; background: #25150f; color: white; }
.quote-banner > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.quote-banner blockquote {
  position: absolute;
  right: 105px;
  top: 48px;
  margin: 0;
  width: 620px;
  font-size: 43px;
  line-height: 1.42;
  font-weight: 600;
  text-align: right;
}
.quote-banner blockquote span { display: block; height: 28px; font: 78px/1 Georgia, serif; }
.quote-spark { position: absolute; right: 77px; bottom: 28px; color: #f3c8c5; font-size: 28px; }

.info-section {
  height: 447px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  direction: rtl;
  padding: 25px 90px 30px;
  gap: 80px;
  border-bottom: 1px solid var(--line);
}
.info-section h2 { text-align: center; font-size: 44px; margin-bottom: 22px; }
.faq-box details { border: 1px solid #e5d8d3; border-radius: 10px; margin-bottom: 10px; background: rgba(255,255,255,.6); }
.faq-box summary { min-height: 60px; padding: 14px 20px; font-size: 21px; cursor: pointer; list-style-position: inside; }
.faq-box details p { margin: 0; padding: 0 24px 15px; color: #625b57; }
.suitable-box { background: linear-gradient(120deg, #fff, #fcedeb); border: 1px solid #ecd8d2; border-radius: 14px; padding: 20px 35px; }
.suitable-content { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.suitable-box ul { list-style: none; padding: 0; margin: 0; font-size: 23px; line-height: 2.25; }
.suitable-box li::before { content: "✓"; color: #d8a179; margin-left: 25px; }
.suitable-card {
  min-width: 205px;
  height: 230px;
  border: 1px solid #e4cfc9;
  border-radius: 20px;
  display: grid;
  place-content: center;
  text-align: center;
  background: rgba(255,255,255,.72);
}
.suitable-card span { color: #d59491; font: 57px/1 Georgia, serif; }
.suitable-card p { margin: 12px 0 0; font-size: 21px; line-height: 1.5; }

.related-section { height: 297px; padding: 16px 112px 18px; text-align: center; border-bottom: 1px solid var(--line); }
.related-section h2 { font-size: 45px; margin-bottom: 18px; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 55px; }
.related-grid a { height: 195px; border: 1px solid #e2d5d0; border-radius: 14px; overflow: hidden; background: #fff; display: grid; grid-template-rows: 145px 1fr; }
.related-grid img { width: 100%; height: 100%; object-fit: cover; }
.related-grid span { align-self: center; font-size: 21px; color: #5a5450; }

.service-final-cta {
  height: 164px;
  margin: 0 66px 10px;
  border: 1.5px solid #d1a174;
  border-radius: 17px;
  background: linear-gradient(90deg, #f5d2d1, #fffaf8, #f4d0cf);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.service-final-cta h2 { font-size: 42px; margin: 0 0 0; }
.service-final-cta p { margin: 0 0 8px; font-size: 21px; color: #625a56; }
.service-final-cta .button { height: 55px; min-width: 390px; font-size: 20px; }
.service-page .footer { min-height: 205px; height: 205px; padding-top: 24px; padding-bottom: 22px; }

@media (max-width: 1250px) {
  .service-hero-copy { padding-inline: 55px; }
  .service-hero h1 { font-size: 57px; }
  .service-lead { font-size: 27px; }
  .ritual-copy { padding-inline: 50px; }
  .process-section { padding-inline: 28px; }
  .process-grid { gap: 14px; }
  .step-copy h3 { font-size: 21px; }
  .step-copy p { font-size: 18px; }
}

@media (max-width: 850px) {
  .service-hero, .ritual-intro, .info-section { height: auto; grid-template-columns: 1fr; }
  .service-hero-image { height: 560px; grid-row: 1; }
  .service-hero-copy { grid-row: 2; padding: 52px 25px 60px; text-align: center; }
  .service-kicker { text-align: center; font-size: 27px; }
  .service-hero h1 { font-size: 47px; }
  .service-lead { font-size: 23px; }
  .service-actions, .service-meta { justify-content: center; flex-wrap: wrap; }
  .ritual-copy { padding: 45px 24px; text-align: center; }
  .ritual-copy h2 { font-size: 40px; }
  .ritual-copy p { font-size: 20px; }
  .ritual-image { margin: 0; height: 420px; }
  .benefits-section, .process-section, .related-section { height: auto; padding: 40px 20px; }
  .benefits-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
  .benefits-grid article { height: 210px; }
  .process-line { display: none; }
  .process-grid { grid-template-columns: repeat(2, 1fr); gap: 55px 15px; }
  .quote-banner { height: 520px; }
  .quote-banner > img { object-position: 28% center; }
  .quote-banner blockquote { right: 25px; left: 25px; top: auto; bottom: 35px; width: auto; font-size: 30px; }
  .info-section { padding: 35px 20px; gap: 35px; }
  .related-grid { grid-template-columns: 1fr; gap: 15px; }
  .related-grid a { height: 250px; grid-template-rows: 195px 1fr; }
  .service-final-cta { margin-inline: 15px; padding-inline: 18px; height: 210px; }
  .service-final-cta h2 { font-size: 31px; }
}

@media (max-width: 480px) {
  .service-hero-image { height: 430px; }
  .service-hero h1 { font-size: 39px; }
  .service-actions { flex-direction: column; gap: 22px; }
  .benefits-grid, .process-grid { grid-template-columns: 1fr; }
  .suitable-content { flex-direction: column; }
  .suitable-card { width: 100%; }
  .service-final-cta .button { min-width: 0; width: 100%; }
}

/* for about page */

.about-page .site-shell {
  background:
    radial-gradient(circle at 21% 10%, rgba(248, 215, 214, .28), transparent 24%),
    #fffdfb;
}
.about-page .header { border-bottom-color: rgba(225, 212, 206, .72); }
.about-hero {
  height: 850px;
  display: grid;
  grid-template-columns: 50.5% 49.5%;
  direction: rtl;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, #fffafa 0%, #fffdfb 58%, #fff 100%);
}
.about-hero-copy {
  align-self: center;
  padding: 70px 120px 65px 95px;
  text-align: right;
}
.about-kicker {
  margin: 0 0 12px;
  color: #ce9190;
  font-size: 32px;
  font-weight: 600;
}
.about-hero h1 {
  margin: 0 0 20px;
  font-size: 82px;
  line-height: 1.06;
  font-weight: 900;
  letter-spacing: -2px;
}
.about-hero-lead {
  margin-bottom: 30px;
  font-size: 41px;
  line-height: 1.38;
  color: #282524;
}
.about-hero-text {
  margin-bottom: 42px;
  font-size: 27px;
  line-height: 1.62;
  color: #5c5551;
}
.about-hero-actions { display: flex; gap: 38px; }
.about-hero-actions .button { min-width: 282px; }
.about-hero-visual {
  position: relative;
  height: 850px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: #fff9f7;
}
.about-hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 25%;
  clip-path: polygon(0 7%, 77% 0, 92% 9%, 100% 32%, 98% 100%, 0 100%);
}
.hero-gold-loop {
  display: none;
}
.story-section {
  height: 635px;
  padding: 54px 70px;
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  direction: rtl;
  gap: 95px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.story-copy { padding: 15px 75px 10px 30px; text-align: right; }
.mini-spark { color: #d49696; font-size: 25px; display: block; margin-bottom: 8px; }
.story-copy h2, .approach-copy h2, .closing-copy h2 {
  font-size: 64px;
  line-height: 1.08;
  margin-bottom: 30px;
}
.story-copy > p, .approach-copy > p, .closing-copy > p {
  font-size: 29px;
  line-height: 1.6;
  color: #5b5552;
}
.story-copy blockquote {
  margin: 34px 0 0;
  padding: 25px 45px;
  border: 1px solid #e7c9c5;
  border-radius: 13px;
  color: #c48c89;
  font-size: 28px;
  line-height: 1.5;
  text-align: center;
  position: relative;
}
.story-copy blockquote::before {
  content: "”";
  position: absolute;
  right: 18px;
  top: -6px;
  font: 68px/1 Georgia, serif;
  color: #cb9290;
}
.story-image {
  height: 535px;
  overflow: hidden;
  border-radius: 17px;
}
.story-image img { width: 100%; height: 100%; object-fit: cover; }

.values-section {
  height: 410px;
  padding: 48px 90px 55px;
  text-align: center;
  border-bottom: 1px solid var(--line);
}
.values-section h2 { font-size: 48px; margin-bottom: 32px; }
.values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 44px;
}
.values-grid article {
  min-height: 225px;
  border: 1px solid #eadbd6;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(255,255,255,.68);
}
.value-icon {
  min-height: 62px;
  font: 58px/1 Georgia, serif;
  color: #d08f8e;
  margin-bottom: 8px;
}
.profile-icon { font-size: 54px; }
.values-grid h3 { font-size: 27px; margin: 0 0 6px; }
.values-grid p { margin: 0; color: #716a66; font-size: 21px; line-height: 1.45; }

.beauty-approach {
  height: 520px;
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  direction: rtl;
  background:
    radial-gradient(circle at 80% 35%, rgba(245,197,199,.42), transparent 36%),
    linear-gradient(90deg, #fff5f3, #fffaf8);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}
.approach-copy {
  padding: 55px 105px 45px 115px;
  align-self: center;
  text-align: right;
}
.approach-tags { display: flex; gap: 38px; margin-top: 32px; }
.approach-tags span {
  width: 145px;
  height: 48px;
  border: 1px solid #dfc6c0;
  border-radius: 9px;
  display: grid;
  place-items: center;
  font-size: 21px;
  background: rgba(255,255,255,.46);
}
.approach-image {
  height: 520px;
  overflow: hidden;
  border-radius: 0 49% 49% 0 / 0 50% 50% 0;
  border-right: 1px solid rgba(194, 151, 91, .8);
}
.approach-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.about-services {
  height: 560px;
  min-height: 560px;
  padding-top: 27px;
  padding-bottom: 22px;
}
.about-services h2 { font-size: 50px; margin-bottom: 18px; }
.about-services .service-card { height: 330px; grid-template-rows: 245px 1fr; }
.about-services .all-services {
  margin-top: 15px;
  height: 54px;
  min-width: 335px;
  font-size: 21px;
}
.expertise-section {
  height: 240px;
  min-height: 240px;
  padding: 22px 70px 32px;
  text-align: center;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.expertise-section h2 { font-size: 44px; margin-bottom: 20px; }
.expertise-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #e5d5d0;
  border-radius: 13px;
  overflow: hidden;
}
.expertise-grid article {
  min-height: 100px;
  padding: 17px 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  border-left: 1px solid #e4d6d1;
}
.expertise-grid article:last-child { border-left: 0; }
.expertise-grid article > span { color: #cf8f8d; font: 53px/1 Georgia, serif; }
.expertise-grid h3 { margin: 0 0 4px; font-size: 24px; }
.expertise-grid p { margin: 0; font-size: 18px; color: #756d69; }

.closing-section {
  height: 335px;
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  direction: ltr;
  background:
    radial-gradient(circle at 22% 38%, rgba(247,184,189,.42), transparent 37%),
    linear-gradient(100deg, #fff9f7, #f7dfe0);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}
.closing-copy {
  direction: rtl;
  padding: 38px 90px 35px 105px;
  align-self: center;
  text-align: right;
}
.closing-copy h2 { font-size: 53px; margin-bottom: 14px; }
.closing-copy > p { font-size: 22px; }
.closing-copy .signature {
  margin: 28px 0 0;
  font-family: "Segoe Script", "Brush Script MT", cursive;
  direction: ltr;
  text-align: right;
  color: #5d4944;
  font-size: 34px;
}
.closing-image {
  height: 335px;
  min-height: 335px;
  overflow: hidden;
  border-radius: 48% 0 0 48% / 50% 0 0 50%;
  border-left: 1px solid rgba(194, 151, 91, .8);
}
.closing-image img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }

.about-final-cta {
  height: 190px;
  min-height: 190px;
  margin: 0 64px;
  padding: 22px 55px;
  border: 1px solid #d39e7d;
  border-radius: 16px;
  transform: translateY(0);
  background: linear-gradient(90deg, #f8d6d6, #fffaf8, #f8d7d7);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.about-final-cta h2 { font-size: 46px; margin: 0 0 3px; }
.about-final-cta p { margin: 0; font-size: 22px; color: #5f5753; }
.about-final-cta .button { min-width: 390px; height: 64px; }

.about-page .footer {
  padding-top: 20px;
  padding-bottom: 20px;
}
.about-page .footer .brand {
  transform: scale(.68);
  transform-origin: center;
}

@media (max-width: 1250px) {
  .about-hero-copy { padding-inline: 55px; }
  .about-hero h1 { font-size: 64px; }
  .about-hero-lead { font-size: 32px; }
  .about-hero-text { font-size: 22px; }
  .story-section { gap: 45px; padding-inline: 45px; }
  .story-copy { padding-right: 25px; }
  .approach-copy { padding-inline: 55px; }
}

@media (max-width: 850px) {
  .about-hero {
    grid-template-columns: 1fr;
    height: auto;
  }
  .about-hero-visual { grid-row: 1; min-height: 620px; }
  .about-hero-copy { grid-row: 2; padding: 50px 24px 60px; text-align: center; }
  .about-kicker { font-size: 24px; }
  .about-hero h1 { font-size: 50px; letter-spacing: -1px; }
  .about-hero-lead { font-size: 28px; }
  .about-hero-text { font-size: 20px; }
  .about-hero-actions { justify-content: center; gap: 12px; }
  .about-hero-actions .button { min-width: 0; }
  .story-section, .beauty-approach, .closing-section {
    grid-template-columns: 1fr;
    padding: 0;
    gap: 0;
  }
  .story-image, .approach-image, .closing-image {
    grid-row: 1;
    height: 420px;
    min-height: 420px;
    border-radius: 0;
    border: 0;
  }
  .story-copy, .approach-copy, .closing-copy {
    grid-row: 2;
    padding: 48px 25px 55px;
    text-align: center;
  }
  .story-copy h2, .approach-copy h2, .closing-copy h2 { font-size: 43px; }
  .story-copy > p, .approach-copy > p, .closing-copy > p { font-size: 21px; }
  .approach-tags { justify-content: center; gap: 10px; }
  .approach-tags span { width: 105px; }
  .values-section { padding: 38px 20px; }
  .values-section h2 { font-size: 37px; }
  .values-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
  .about-services { padding-top: 42px; }
  .expertise-section { padding-inline: 20px; }
  .expertise-grid { grid-template-columns: 1fr; }
  .expertise-grid article { border-left: 0; border-bottom: 1px solid #e4d6d1; }
  .expertise-grid article:last-child { border-bottom: 0; }
  .about-final-cta {
    margin: 0 15px;
    padding: 30px 20px;
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
  .about-final-cta h2 { font-size: 34px; }
  .about-final-cta .button { min-width: 0; width: min(100%, 360px); }
}

@media (max-width: 480px) {
  .about-hero-visual { min-height: 500px; }
  .about-hero-visual img { width: 94%; }
  .about-hero-actions { flex-direction: column; }
  .values-grid { grid-template-columns: 1fr; }
  .story-image, .approach-image, .closing-image { height: 330px; min-height: 330px; }
}
