:root {
  --bg: #fffafc;
  --surface: #ffffff;
  --text: #23151c;
  --muted: #725f68;
  --primary: #9e3f68;
  --primary-dark: #762346;
  --soft: #f6e3eb;
  --accent: #e8bd8c;
  --border: rgba(83, 42, 60, 0.12);
  --shadow: 0 20px 60px rgba(90, 40, 62, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "DM Sans", sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.65;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
.container { width: min(1140px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,250,252,.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid transparent;
  transition: .25s ease;
}
.site-header.scrolled { border-color: var(--border); box-shadow: 0 8px 30px rgba(50,20,33,.06); }
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark {
  width: 44px; height: 44px; border-radius: 50%;
  display: grid; place-items: center;
  font-family: "Playfair Display", serif; font-weight: 700; font-size: 24px;
  color: #fff; background: linear-gradient(145deg, var(--primary), var(--primary-dark));
  box-shadow: 0 8px 22px rgba(158,63,104,.28);
}
.brand strong, .brand small { display: block; line-height: 1.1; }
.brand strong { font-family: "Playfair Display", serif; font-size: 20px; }
.brand small { color: var(--muted); text-transform: uppercase; letter-spacing: 2px; font-size: 9px; margin-top: 5px; }

.main-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 600; }
.main-nav a:hover { color: var(--primary); }
.nav-cta { background: var(--text); color: #fff !important; padding: 11px 18px; border-radius: 999px; }

.menu-toggle { display: none; border: 0; background: none; padding: 8px; }
.menu-toggle span { width: 24px; height: 2px; background: var(--text); display: block; margin: 5px; }

.hero { min-height: 720px; display: flex; align-items: center; position: relative; overflow: hidden; padding: 92px 0 80px; }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: inline-block; color: var(--primary); text-transform: uppercase; letter-spacing: 2.6px; font-size: 12px; font-weight: 700; margin-bottom: 16px; }
.hero h1, .section h2, .promo-card h2 { font-family: "Playfair Display", serif; line-height: 1.08; margin: 0; }
.hero h1 { font-size: clamp(48px, 6vw, 78px); max-width: 720px; letter-spacing: -2px; }
.hero-copy > p { color: var(--muted); font-size: 18px; max-width: 620px; margin: 24px 0 32px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border-radius: 999px; font-weight: 700; border: 1px solid transparent; cursor: pointer; font-family: inherit; font-size: 15px; transition: .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--primary); box-shadow: 0 12px 28px rgba(158,63,104,.24); }
.btn-primary:hover { background: var(--primary-dark); }
.btn-secondary { background: rgba(255,255,255,.65); border-color: var(--border); }
.btn-light { background: #fff; color: var(--primary-dark); }
.full { width: 100%; }

.trust-row { margin-top: 48px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.trust-row div { padding-left: 15px; border-left: 2px solid var(--soft); }
.trust-row strong, .trust-row span { display: block; }
.trust-row strong { font-size: 14px; }
.trust-row span { color: var(--muted); font-size: 12px; }

.hero-visual { min-height: 560px; position: relative; }
.visual-card {
  position: absolute; inset: 25px 30px 25px 20px; border-radius: 42px;
  background: linear-gradient(145deg, #edd1dc, #f8e8ee 55%, #e6c1cf);
  box-shadow: var(--shadow); overflow: hidden;
}
.visual-card::before {
  content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%;
  background: rgba(255,255,255,.42); top: 48px; left: 70px;
}
.product-shape { position: absolute; z-index: 2; box-shadow: 0 30px 50px rgba(75,27,48,.18); }
.bottle { width: 115px; height: 250px; border-radius: 34px 34px 22px 22px; background: linear-gradient(160deg, #fff, #d28aaa); left: 112px; top: 150px; transform: rotate(-8deg); }
.bottle::before { content:""; position:absolute; width:58px; height:45px; border-radius:10px 10px 3px 3px; background:#7e294f; top:-38px; left:29px; }
.bottle::after { content:"LINIE"; position:absolute; left:22px; right:22px; top:100px; padding:8px 0; text-align:center; letter-spacing:3px; font-size:11px; color:#7e294f; border-top:1px solid #7e294f; border-bottom:1px solid #7e294f; }
.jar { width:165px; height:125px; border-radius:24px 24px 40px 40px; background:linear-gradient(160deg,#fff,#ecc4d5); right:62px; bottom:95px; transform:rotate(6deg); }
.jar::before { content:""; position:absolute; width:158px; height:35px; top:-20px; left:4px; border-radius:15px 15px 8px 8px; background:#812c51; }
.lipstick { width:60px; height:185px; border-radius:15px; background:linear-gradient(90deg,#6e1f42,#b04b76); right:112px; top:92px; transform:rotate(12deg); }
.lipstick::before { content:""; position:absolute; width:38px; height:75px; border-radius:20px 20px 5px 5px; background:#cb587d; top:-62px; left:11px; }
.visual-label { position:absolute; z-index:3; bottom:40px; left:42px; text-transform:uppercase; letter-spacing:4px; font-size:11px; color:#783049; }
.floating-card { position:absolute; z-index:5; padding:14px 18px; border-radius:18px; background:rgba(255,255,255,.9); box-shadow:0 14px 40px rgba(76,28,48,.14); display:flex; gap:12px; align-items:center; }
.floating-card .icon { width:38px; height:38px; border-radius:50%; background:var(--soft); color:var(--primary); display:grid; place-items:center; }
.floating-card strong, .floating-card small { display:block; }
.floating-card strong { font-size:13px; } .floating-card small { color:var(--muted); font-size:11px; }
.floating-one { right:-10px; top:74px; }
.floating-two { left:-12px; bottom:85px; }
.hero-glow { position:absolute; border-radius:50%; filter:blur(1px); pointer-events:none; }
.hero-glow-1 { width:440px; height:440px; background:rgba(234,194,211,.28); left:-180px; top:-120px; }
.hero-glow-2 { width:360px; height:360px; background:rgba(232,189,140,.2); right:-100px; bottom:-100px; }

.section { padding: 105px 0; }
.section-heading { text-align:center; max-width:720px; margin:0 auto 48px; }
.section-heading h2 { font-size:clamp(36px,4vw,52px); }
.section-heading p { color:var(--muted); margin:14px 0 0; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.category-card { background:var(--surface); border:1px solid var(--border); padding:30px; border-radius:26px; transition:.25s ease; }
.category-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.category-icon { width:52px; height:52px; display:grid; place-items:center; background:var(--soft); border-radius:16px; font-size:24px; }
.category-card h3 { margin:22px 0 8px; font-size:19px; }
.category-card p { color:var(--muted); font-size:14px; min-height:70px; }
.category-card a, .product-info a, .text-link { color:var(--primary); font-weight:700; font-size:13px; }

.featured { background:#fff; }
.split-heading { max-width:none; display:flex; align-items:end; justify-content:space-between; text-align:left; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.product-card { border:1px solid var(--border); border-radius:28px; overflow:hidden; background:#fff; }
.product-image { height:310px; position:relative; display:flex; align-items:flex-start; justify-content:flex-end; padding:18px; overflow:hidden; }
.product-image::before, .product-image::after { content:""; position:absolute; }
.product-image span { position:relative; z-index:2; background:rgba(255,255,255,.84); padding:7px 11px; border-radius:999px; font-size:10px; text-transform:uppercase; letter-spacing:1.5px; font-weight:700; }
.product-a { background:linear-gradient(145deg,#f3d9e4,#e4a7c0); }
.product-a::before { width:90px;height:190px;border-radius:26px;background:linear-gradient(155deg,#fff,#c87598);bottom:44px;left:50%;transform:translateX(-50%) rotate(-6deg);box-shadow:0 24px 38px rgba(84,30,53,.2); }
.product-a::after { width:45px;height:42px;border-radius:9px;background:#702143;bottom:225px;left:50%;transform:translateX(-50%) rotate(-6deg); }
.product-b { background:linear-gradient(145deg,#ead8ce,#d7a18e); }
.product-b::before { width:60px;height:185px;border-radius:14px;background:linear-gradient(90deg,#6e1f42,#b84c75);bottom:45px;left:50%;transform:translateX(-50%) rotate(8deg);box-shadow:0 24px 38px rgba(84,30,53,.2); }
.product-b::after { width:36px;height:90px;border-radius:20px 20px 6px 6px;background:#c94f74;bottom:205px;left:50%;transform:translateX(-50%) rotate(8deg); }
.product-c { background:linear-gradient(145deg,#e5d7ea,#bca5c9); }
.product-c::before { width:190px;height:110px;border-radius:24px;background:linear-gradient(155deg,#fff,#d8c5df);bottom:55px;left:50%;transform:translateX(-50%) rotate(-4deg);box-shadow:0 24px 38px rgba(84,30,53,.2); }
.product-c::after { width:155px;height:22px;border-radius:10px;background:#6e5379;bottom:153px;left:50%;transform:translateX(-50%) rotate(-4deg); }
.product-info { padding:24px; }
.product-info small { color:var(--primary); font-weight:700; text-transform:uppercase; letter-spacing:1.6px; }
.product-info h3 { margin:8px 0 6px; }
.product-info p { color:var(--muted); font-size:14px; margin:0 0 18px; }

.services-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.services-copy h2 { font-size:clamp(38px,4vw,54px); }
.services-copy > p { color:var(--muted); }
.check-list { list-style:none; padding:0; margin:28px 0; display:grid; gap:12px; }
.check-list li { display:flex; gap:12px; align-items:center; }
.check-list span { width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--primary);font-size:12px;font-weight:bold; }
.services-panel { background:linear-gradient(155deg,#2d1821,#4b2637); border-radius:34px; padding:34px; color:#fff; box-shadow:var(--shadow); }
.service-stat { display:grid; grid-template-columns:56px 1fr; gap:18px; padding:25px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.service-stat:last-child { border:0; }
.service-stat > strong { color:#e8bd8c; font-family:"Playfair Display",serif; font-size:26px; }
.service-stat h3 { margin:0 0 5px; } .service-stat p { margin:0; color:rgba(255,255,255,.64); font-size:14px; }

.promo-section { padding:30px 0 80px; }
.promo-card { border-radius:34px; background:linear-gradient(135deg,var(--primary-dark),var(--primary)); padding:52px 58px; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.promo-card h2 { font-size:clamp(34px,4vw,50px); }
.promo-card p { margin:14px 0 0; color:rgba(255,255,255,.76); }
.eyebrow.light { color:#f4d7e4; }

.contact-section { background:#fff; }
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; }
.contact-copy h2 { font-size:clamp(38px,4vw,54px); }
.contact-copy > p { color:var(--muted); }
.contact-list { display:grid; gap:16px; margin-top:34px; }
.contact-list > * { display:flex; gap:15px; align-items:flex-start; }
.contact-list > * > span { width:42px;height:42px;border-radius:14px;background:var(--soft);color:var(--primary);display:grid;place-items:center;flex:none; }
.contact-list small,.contact-list strong { display:block; } .contact-list small { color:var(--muted); }
.contact-form { padding:32px; border:1px solid var(--border); border-radius:28px; box-shadow:var(--shadow); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
label { display:grid; gap:8px; font-size:13px; font-weight:700; margin-bottom:18px; }
input,select,textarea { width:100%; border:1px solid var(--border); border-radius:14px; padding:14px 15px; background:#fffafb; color:var(--text); font:inherit; outline:none; }
input:focus,select:focus,textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(158,63,104,.1); }
.form-note { display:block; text-align:center; color:var(--muted); margin-top:10px; }

footer { background:#24151c; color:#fff; padding:70px 0 25px; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:50px; }
.footer-brand small { color:rgba(255,255,255,.55); }
footer p, footer span { color:rgba(255,255,255,.58); }
footer h4 { margin:0 0 14px; }
footer .footer-grid > div:not(:first-child) { display:flex; flex-direction:column; gap:8px; font-size:14px; }
footer a:hover { color:#efc8d9; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); margin-top:45px; padding-top:22px; display:flex; justify-content:space-between; font-size:12px; }

.whatsapp-float { position:fixed; right:22px; bottom:22px; width:58px; height:58px; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; font-size:13px; font-weight:800; box-shadow:0 12px 30px rgba(0,0,0,.2); z-index:1000; }

@media (max-width: 960px) {
  .menu-toggle { display:block; }
  .main-nav { position:absolute; top:78px; left:20px; right:20px; background:#fff; padding:22px; border-radius:20px; box-shadow:var(--shadow); display:none; flex-direction:column; align-items:stretch; gap:16px; }
  .main-nav.open { display:flex; }
  .hero-grid,.services-grid,.contact-grid { grid-template-columns:1fr; }
  .hero { padding-top:65px; }
  .hero-visual { min-height:500px; }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .hero-grid { gap:25px; }
  .services-grid,.contact-grid { gap:45px; }
}
@media (max-width: 680px) {
  .container { width:min(100% - 28px,1140px); }
  .hero { min-height:auto; padding:55px 0 60px; }
  .hero h1 { font-size:46px; }
  .hero-copy > p { font-size:16px; }
  .hero-actions { flex-direction:column; }
  .trust-row { grid-template-columns:1fr; }
  .hero-visual { min-height:430px; }
  .visual-card { inset:20px 0; }
  .bottle { left:72px; top:135px; }
  .jar { right:28px; bottom:65px; }
  .lipstick { right:65px; top:80px; }
  .floating-one { right:-3px; }
  .floating-two { left:-3px; bottom:55px; }
  .section { padding:75px 0; }
  .category-grid,.product-grid { grid-template-columns:1fr; }
  .category-card p { min-height:auto; }
  .split-heading,.promo-card,.footer-bottom { display:block; }
  .text-link { display:inline-block; margin-top:16px; }
  .promo-card { padding:38px 27px; }
  .promo-card .btn { margin-top:24px; }
  .field-grid,.footer-grid { grid-template-columns:1fr; }
  .footer-grid { gap:35px; }
  .footer-bottom span { display:block; margin-bottom:7px; }
}
