:root {
  --black: #191919;
  --white: #fff;
  --fog: #f3f4f6;
  --grey: #71747a;
  --line: #d9dadd;
  --blue: #8faad0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--black); background: var(--white); font-family: Arial, Helvetica, sans-serif; font-size: 1rem; line-height: 1.5; }
img { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 300; letter-spacing: -.045em; line-height: .98; }
h2 { font-size: clamp(3rem, 6.2vw, 6.5rem); }
h3 { font-size: clamp(2rem, 4.3vw, 4.7rem); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 100; padding: .75rem 1rem; background: white; }
.skip-link:focus { top: 1rem; }
.section { padding: clamp(5rem, 9vw, 9rem) max(5vw, 1.25rem); }
.kicker { margin-bottom: 1.8rem; color: var(--grey); font-size: .78rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.kicker-blue { color: var(--blue); }

.header { position: relative; z-index: 20; background: white; }
.logo { height: 5.5rem; display: flex; align-items: center; justify-content: center; }
.logo img { width: clamp(8.5rem, 12vw, 11rem); height: auto; }
.nav { min-height: 4.1rem; display: flex; align-items: stretch; justify-content: center; background: var(--black) }
.nav a { min-width: clamp(7rem, 10vw, 9.5rem); display: flex; align-items: center; justify-content: center; padding: 1rem .9rem; color: white; text-decoration: none; font-size: .76rem; letter-spacing: .11em; text-transform: uppercase; }
.nav a:hover, .nav a:focus-visible, .nav .active, .nav-dropdown-button:hover, .nav-dropdown-button:focus-visible, .nav-dropdown.open .nav-dropdown-button { background: var(--blue); }
.nav-dropdown { position: relative; display: flex; }
.nav-dropdown-button { min-width: clamp(9rem, 12vw, 11rem); display: flex; align-items: center; justify-content: center; gap: .55rem; padding: 1rem .9rem; color: white; background: transparent; border: 0; cursor: pointer; font: inherit; font-size: .76rem; letter-spacing: .11em; text-transform: uppercase; }
.nav-dropdown-button span { font-size: 1rem; transition: transform .2s ease; }
.nav-dropdown.open .nav-dropdown-button span { transform: rotate(180deg); }
.nav-submenu { position: absolute; z-index: 30; top: 100%; left: 0; min-width: 18rem; display: none; background: #213746; box-shadow: 0 1.2rem 2.5rem rgba(0,0,0,.22); }
.nav-dropdown:hover .nav-submenu, .nav-dropdown:focus-within .nav-submenu, .nav-dropdown.open .nav-submenu { display: block; }
.nav-submenu a { min-width: 100%; justify-content: flex-start; border-top: 1px solid rgba(255,255,255,.12); }
.menu-button { display: none; }

.hero { position: relative; min-height: min(51rem, calc(100vh - 9.6rem)); overflow: hidden; background: #142838; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,21,31,.58), transparent 48%); pointer-events: none; }
.hero-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 36%; }
.hero-product { position: absolute; z-index: 2; left: 50%; bottom: 0; width: min(31vw, 26rem); height: 95%; object-fit: cover; object-position: center 35%; transform: translateX(-50%); mix-blend-mode: multiply; }
.hero-word { position: absolute; z-index: 3; left: 50%; width: 100%; transform: translateX(-50%); text-align: center; font-size: clamp(7rem, 17vw, 17rem); font-weight: 200; letter-spacing: .02em; line-height: .72; }
.hero-word-top { top: 15%; color: rgba(255,255,255,.94); }
.hero-word-bottom { top: 52%; color: rgba(25,25,25,.9); }
.hero-note { position: absolute; z-index: 4; top: 47%; color: var(--grey); font-size: .72rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; writing-mode: vertical-rl; }
.hero-note-left { left: 3%; transform: rotate(180deg); }
.hero-note-right { right: 3%; }
.hero-caption { position: absolute; z-index: 5; left: max(5vw, 1.25rem); bottom: 2.5rem; max-width: 23rem; padding: 1.35rem 1.5rem; color: white; background: rgba(14,32,45,.78); backdrop-filter: blur(8px); }
.hero-caption h1 { margin-bottom: 1rem; font-size: clamp(1.6rem, 2.5vw, 2.5rem); }
.hero-caption a, .product-copy a, .company-copy a { display: inline-flex; gap: 2rem; align-items: center; padding-bottom: .35rem; border-bottom: 1px solid currentColor; text-decoration: none; font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.intro { min-height: 44rem; display: grid; grid-template-columns: .45fr 1.25fr .7fr; gap: 3rem; align-items: center; }
.intro h2 { max-width: 14ch; margin: 0; font-size: clamp(3rem, 5.8vw, 6.2rem); }
.intro > p:last-child { align-self: end; max-width: 26rem; margin-bottom: 3rem; color: var(--grey); font-size: 1.08rem; }

.technology { padding-top: 2rem; background: var(--fog); }
.section-head { display: grid; grid-template-columns: .5fr 1.1fr .6fr; gap: 3rem; align-items: end; margin-bottom: 5rem; }
.section-head h2 { margin-bottom: 0; }
.section-head > p:last-child { max-width: 25rem; margin-bottom: .7rem; color: var(--grey); }
.product-showcase { min-height: 43rem; display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 1.2rem; overflow: hidden; }
.product-showcase-light { background: white; }
.product-showcase-dark { color: white; background: var(--black); }
.product-copy { padding: clamp(2rem, 6vw, 6rem); display: flex; flex-direction: column; justify-content: center; }
.product-copy > span { margin-bottom: auto; color: var(--blue); font-size: .76rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.product-copy h3 { max-width: 11ch; margin: 4rem 0 1.5rem; }
.product-copy p { max-width: 34rem; margin-bottom: 2rem; color: var(--grey); font-size: 1.08rem; }
.product-showcase-dark .product-copy p { color: #aaa; }
.product-image { min-height: 36rem; overflow: hidden; }
.product-image img { width: 100%; height: 100%; object-fit: cover; }
.white-image { display: flex; align-items: center; justify-content: center; background: #fafafa; }
.white-image img { width: 82%; height: auto; object-fit: contain; }
.equipment-feature { display: grid; place-items: center; padding: clamp(2rem, 5vw, 5rem); background: #e9edf1; }
.equipment-feature-dark { background: #24282d; }
.equipment-render { position: relative; width: min(100%, 18rem); margin: 0 auto 1.6rem; overflow: hidden; background: #dfe5e9; box-shadow: 0 1.2rem 3rem rgba(25,25,25,.1); }
.equipment-render img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; background: transparent; }
.equipment-render span { position: absolute; z-index: 2; top: 23.5%; right: 7%; width: 43%; color: #5b6972; font-size: clamp(.62rem, 1.2vw, .92rem); font-weight: 700; letter-spacing: .08em; line-height: 1.05; text-align: center; text-transform: uppercase; text-shadow: 0 1px rgba(255,255,255,.75); transform: rotate(11deg); transform-origin: center; }
.equipment-render-feature { width: min(100%, 23rem); margin-bottom: 0; }
.equipment-render-feature span { font-size: clamp(.72rem, 1.5vw, 1.15rem); }
.equipment-render-machine { overflow: visible; background: transparent; box-shadow: none; }
.equipment-render-machine img { aspect-ratio: 4 / 5; object-fit: contain; padding: .35rem; }
.equipment-render-machine span { top: .35rem; left: .35rem; right: auto; width: auto; max-width: calc(100% - .7rem); padding: .45rem .65rem; color: white; background: rgba(20,40,56,.9); border-radius: 999px; font-size: .68rem; line-height: 1.15; text-shadow: none; transform: none; }
.equipment-render-specific { overflow: visible; background: transparent; box-shadow: none; }
.equipment-render-specific img { aspect-ratio: 1; object-fit: contain; padding: .35rem; }
.equipment-render-specific span { top: .35rem; left: .35rem; right: auto; width: auto; max-width: calc(100% - .7rem); padding: .45rem .65rem; color: white; background: rgba(20,40,56,.9); border-radius: 999px; font-size: .68rem; line-height: 1.15; text-shadow: none; transform: none; }
.equipment-render-laser { display: grid; place-items: center; background: white; }
.equipment-render-laser img { object-fit: contain; padding: 1rem; }
.equipment-render-matrix { overflow: hidden; }
.equipment-render-matrix img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center; padding: 0; }
.range { margin-top: 6rem; border-top: 1px solid var(--line); }
.range details { border-bottom: 1px solid var(--line); }
.range summary { display: grid; grid-template-columns: 5rem 1fr; padding: 1.7rem 0; list-style: none; cursor: pointer; font-size: clamp(1.7rem, 3vw, 3rem); font-weight: 300; letter-spacing: -.03em; }
.range summary::-webkit-details-marker { display: none; }
.range summary span { padding-top: .6rem; color: var(--blue); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.tech-items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; margin: 0 0 2rem 5rem; background: transparent; border: 0; }
.tech-items article { min-height: 26rem; padding: 1.6rem 0; background: transparent; }
.tech-items h4 { margin: 0 0 1.2rem; font-size: 1.25rem; font-weight: 500; letter-spacing: -.02em; }
.tech-items p { margin: 0; color: var(--grey); }

.cosmetics { background: white; }
.cosmetics-overview { min-height: 45rem; display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; }
.cosmetics h2 { max-width: 9ch; margin-bottom: 0; }
.cosmetics-copy > p { max-width: 36rem; margin-bottom: 4rem; font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.25; }
.cosmetics-copy ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(25,25,25,.3); }
.cosmetics-copy li { display: grid; grid-template-columns: 4rem 1fr auto; align-items: center; padding: 1rem 0; border-bottom: 1px solid rgba(25,25,25,.3); font-size: 1.08rem; }
.cosmetics-copy li span { padding-top: .15rem; font-size: .7rem; font-weight: 700; }
.cosmetics-copy li strong { font-weight: 400; }
.cosmetics-copy li strong a { color: inherit; text-decoration: none; }
.cosmetics-copy li small { font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.cosmetics-copy li:hover, .cosmetics-copy li:focus-within { background: #eef3f8; }
.organic-line { color: #25231f; background: white; border-top: 1px solid var(--line); }
.product-line { scroll-margin-top: 5rem; }
.organic-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 7vw; align-items: end; margin-bottom: 5rem; }
.organic-head h3 { max-width: 12ch; margin: 0; }
.organic-head > p { max-width: 34rem; margin-bottom: .5rem; color: var(--grey); font-size: 1.08rem; }
.organic-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.organic-products article { min-height: 34rem; padding: 1.6rem; background: white; }
.organic-products article > span { color: #7388a5; font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.organic-products h4 { margin: .8rem 0 1rem; font-size: 1.45rem; font-weight: 400; letter-spacing: -.03em; }
.organic-products p { margin: 0; color: var(--grey); }
.organic-image { height: 16rem; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; overflow: hidden; background: white; }
.organic-image img { width: 100%; height: 100%; object-fit: contain; }
.product-group-image { height: 18rem; }
.product-group-image-lavanda img { transform: scale(1.34); }
.product-products-four { grid-template-columns: repeat(4, 1fr); }
.product-products-five { grid-template-columns: repeat(5, 1fr); }
.product-products-five article { padding-inline: 1.2rem; }
.organic-render { width: min(100%, 42rem); margin: 0 auto 5rem; padding: .8rem; background: rgba(255,255,255,.42); box-shadow: 0 1.5rem 4rem rgba(77,82,70,.12); }
.organic-render img { width: 100%; height: auto; }
.organic-featured { grid-column: span 1; background: white !important; }
.organic-rituals { display: grid; grid-template-columns: .55fr 1fr 1fr; gap: 1px; margin-top: 5rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.organic-rituals > * { margin: 0; padding: 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.organic-rituals article { min-height: 16rem; }
.organic-rituals article span { color: #7388a5; font-size: .7rem; font-weight: 700; }
.organic-rituals h4 { margin: 4rem 0 1rem; font-size: 1.5rem; font-weight: 400; }
.organic-rituals article p { color: var(--grey); }

.method { color: white; background: var(--black); }
.method-intro { display: grid; grid-template-columns: .5fr 1.5fr; gap: 3rem; margin-bottom: 5rem; }
.method-intro h2 { max-width: 12ch; margin-bottom: 0; }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid #444; border-left: 1px solid #444; }
.steps li { min-height: 20rem; padding: 1.5rem; display: flex; flex-direction: column; border-right: 1px solid #444; border-bottom: 1px solid #444; }
.steps span { color: var(--blue); font-size: .74rem; font-weight: 700; }
.steps strong { margin-top: auto; font-size: clamp(1.7rem, 2.6vw, 2.8rem); font-weight: 300; letter-spacing: -.03em; }
.steps small { min-height: 3.5rem; margin-top: .7rem; color: #999; font-size: .86rem; }

.services { background: white; }
.service-list { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-list article { min-height: 18rem; padding: 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-list span { color: var(--blue); font-size: .72rem; font-weight: 700; }
.service-list h3 { margin: 5rem 0 1rem; font-size: clamp(1.7rem, 2.7vw, 2.8rem); }
.service-list p { color: var(--grey); }

.training { color: white; background: #142838; }
.training-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 7vw; align-items: end; margin-bottom: 5rem; }
.training-head h2 { max-width: 12ch; margin: 0; }
.training-intro { max-width: 35rem; }
.training-intro p { color: #c2cbd2; font-size: 1.08rem; }
.training-intro a { display: inline-flex; align-items: center; gap: 2rem; padding-bottom: .35rem; border-bottom: 1px solid currentColor; color: white; text-decoration: none; font-size: .78rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.training-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.25); border-left: 1px solid rgba(255,255,255,.25); }
.training-grid article { min-height: 31rem; padding: clamp(1.6rem, 4vw, 4rem); border-right: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); }
.training-grid span { color: var(--blue); font-size: .72rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.training-grid h3 { max-width: 14ch; margin: 5rem 0 2rem; font-size: clamp(2rem, 3.8vw, 4rem); }
.training-grid p { max-width: 39rem; color: #c2cbd2; }
.training-levels { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid rgba(255,255,255,.25); }
.training-levels span { min-height: 8rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1.25rem; border-right: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); color: #aeb9c1; font-size: .8rem; }
.training-levels strong { color: white; font-size: 1rem; font-weight: 500; }

.faq { background: #f3f5f7; }
.faq-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 7vw; align-items: end; margin-bottom: 4rem; }
.faq-head h2 { max-width: 11ch; margin: 0; }
.faq-head > p { max-width: 34rem; margin: 0; color: var(--grey); font-size: 1.08rem; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 1.5rem 3.5rem 1.5rem 0; cursor: pointer; list-style: none; font-size: clamp(1.25rem, 2.1vw, 2rem); font-weight: 400; letter-spacing: -.025em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: .4rem; top: 1.1rem; color: var(--blue); font-size: 2rem; font-weight: 300; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list p { max-width: 55rem; margin: 0; padding: 0 4rem 1.7rem 0; color: var(--grey); }

.blog { color: white; background: #142838; }
.blog-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 7vw; align-items: end; margin-bottom: 5rem; }
.blog-head h2 { max-width: 11ch; margin: 0; }
.blog-head > p { max-width: 34rem; margin: 0; color: #b7c2cb; font-size: 1.08rem; }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.25); border-left: 1px solid rgba(255,255,255,.25); }
.blog-grid article { min-height: 24rem; display: flex; flex-direction: column; padding: 1.6rem; border-right: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); }
.blog-grid span { color: var(--blue); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.blog-grid h3 { margin: auto 0 1.5rem; font-size: clamp(1.7rem, 2.7vw, 2.7rem); }
.blog-grid p { margin: 0; color: #b7c2cb; }
.blog-grid details { margin-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.2); }
.blog-grid details summary { padding: 1rem 0; color: white; cursor: pointer; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.blog-grid details div { display: grid; gap: 1rem; padding-bottom: 1rem; }
.blog-grid details div p { color: #d7dee3; font-size: .92rem; line-height: 1.65; }

.careers { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(4rem, 9vw, 10rem); color: white; background: var(--black); }
.careers-intro h2 { max-width: 10ch; }
.careers-intro > p:not(.kicker) { max-width: 34rem; color: #b8b8b8; font-size: 1.08rem; }
.careers-intro .careers-note { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #444; font-size: .9rem; }
.careers-note strong { color: white; }
.career-form { display: grid; gap: 1.6rem; align-content: start; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.career-form label { display: grid; gap: .55rem; color: #bbb; font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.career-form input, .career-form select, .career-form textarea { width: 100%; min-height: 3.4rem; padding: .8rem 0; color: white; background: transparent; border: 0; border-bottom: 1px solid #555; border-radius: 0; font: inherit; font-size: 1rem; letter-spacing: 0; text-transform: none; outline: none; }
.career-form textarea { resize: vertical; }
.career-form select { color-scheme: dark; }
.career-form input:focus, .career-form select:focus, .career-form textarea:focus { border-color: var(--blue); }
.career-form input::placeholder, .career-form textarea::placeholder { color: #6f6f6f; }
.career-form .consent { grid-template-columns: 1.25rem 1fr; align-items: start; gap: .8rem; font-size: .75rem; font-weight: 400; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.career-form .consent input { width: 1.1rem; min-height: 1.1rem; margin: .15rem 0 0; accent-color: var(--blue); }
.career-form button { width: fit-content; min-height: 3.5rem; display: inline-flex; align-items: center; gap: 3rem; padding: .9rem 1.3rem; color: var(--black); background: var(--blue); border: 0; cursor: pointer; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.career-form button:hover, .career-form button:focus-visible { background: white; }
.form-status { min-height: 1.5rem; margin: 0; color: var(--blue); font-size: .86rem; }

.contact { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(3rem, 9vw, 10rem); align-items: end; background: white; }
.contact h2 { max-width: 11ch; margin: 0; }
.contact-intro { max-width: 34rem; align-self: start; }
.contact-intro p:not(.kicker) { margin: 2rem 0; color: var(--grey); font-size: 1.08rem; }
.contact-links { display: grid; gap: .6rem; justify-items: start; }
.contact-intro a { display: inline-flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; color: white; background: var(--black); text-decoration: none; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.contact-intro a span { font-weight: 400; letter-spacing: 0; text-transform: none; }
.contact-intro .whatsapp-link { background: #246b4b; }
.contact-intro a:hover, .contact-intro a:focus-visible { background: var(--blue); }
.contact-form { display: grid; gap: 1.35rem; align-content: start; }
.contact-form label { display: grid; gap: .45rem; color: #555; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-height: 3.2rem; padding: .75rem 0; color: var(--black); background: transparent; border: 0; border-bottom: 1px solid #bbb; border-radius: 0; font: inherit; font-size: 1rem; letter-spacing: 0; text-transform: none; outline: none; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--blue); }
.contact-form .consent { grid-template-columns: 1.25rem 1fr; align-items: start; gap: .8rem; font-size: .75rem; font-weight: 400; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.contact-form .consent input { width: 1.1rem; min-height: 1.1rem; margin: .15rem 0 0; accent-color: var(--blue); }
.contact-form button { width: fit-content; min-height: 3.5rem; padding: .9rem 1.3rem; color: white; background: var(--black); border: 0; cursor: pointer; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-form button:hover, .contact-form button:focus-visible { background: var(--blue); }

.company { min-height: 52rem; display: grid; grid-template-columns: minmax(12rem, .38fr) minmax(24rem, 1.62fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; color: white; background: #2b2d31; overflow: hidden; }
.founder-portrait { position: relative; width: 250px; max-width: 100%; margin: 0 auto; }
.founder-portrait::before { content: none; }
.founder-portrait img { position: relative; z-index: 2; display: block; width: 250px; height: 250px; max-width: 100%; aspect-ratio: 1; object-fit: cover; object-position: center top; filter: none; }
.founder-portrait figcaption { position: absolute; z-index: 3; right: -2rem; bottom: -2rem; min-width: 14rem; padding: 1.3rem 1.5rem; display: flex; align-items: flex-end; gap: .8rem; color: var(--black); background: var(--blue); }
.founder-portrait figcaption strong { font-size: 4.7rem; font-weight: 200; letter-spacing: -.08em; line-height: .8; }
.founder-portrait figcaption span { font-size: .72rem; font-weight: 700; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.company-copy { width: min(100%, 58rem); max-width: 58rem; margin: 0 auto; }
.company-copy h2 { max-width: 12ch; }
.company-copy > p:not(.kicker) { color: #b8b8b8; font-size: 1.08rem; }
.company-copy blockquote { margin: 2rem 0; padding: 0 0 0 1.5rem; border-left: 2px solid var(--blue); color: white; font-size: clamp(1.2rem, 1.8vw, 1.55rem); font-weight: 300; line-height: 1.35; }
.company-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 2.5rem; border-top: 1px solid #4b4d51; border-left: 1px solid #4b4d51; }
.company-facts span { min-height: 6.5rem; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid #4b4d51; border-bottom: 1px solid #4b4d51; color: #96999f; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.company-facts strong { color: white; font-size: .95rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.company-copy a { margin-top: 1.5rem; }

.legal { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 9vw, 10rem); background: #f3f5f7; }
.legal-head h2 { max-width: 9ch; margin: 0 0 1.5rem; }
.legal-head > p:last-child { color: var(--grey); }
.legal-content { border-top: 1px solid var(--line); }
.legal-content details { border-bottom: 1px solid var(--line); }
.legal-content summary { padding: 1.5rem 0; cursor: pointer; font-size: 1.35rem; font-weight: 500; }
.legal-content details > div { max-width: 48rem; padding: 0 0 2rem; }
.legal-content h3 { margin: 1.5rem 0 .55rem; font-size: 1rem; }
.legal-content p { color: var(--grey); line-height: 1.7; }
.legal-content a { color: var(--black); }
.footer { min-height: 11rem; padding: 2rem 5vw; display: grid; grid-template-columns: 1fr auto auto auto; gap: 2rem; align-items: center; background: white; color: var(--grey); font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; }
.footer img { width: 13rem; height: auto; }
.footer p { margin: 0; }
.footer-legal { display: flex; gap: 1rem; }
.footer-legal a { color: inherit; }

.floating-contact { position: fixed; z-index: 60; right: 1.25rem; bottom: 1.25rem; display: flex; flex-direction: column; align-items: flex-end; gap: .55rem; }
.floating-contact a { min-height: 3.2rem; display: inline-flex; align-items: center; justify-content: center; padding: .85rem 1.15rem; color: white; border-radius: 999px; box-shadow: 0 .7rem 2rem rgba(20,40,56,.22); text-decoration: none; font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.floating-whatsapp { background: #246b4b; }
.floating-consultation { background: #142838; }
.floating-contact a:hover, .floating-contact a:focus-visible { color: var(--black); background: var(--blue); }

@media (max-width: 1400px) {
  .logo { justify-content: flex-start; padding: 0 1.25rem; height: 5.5rem; }
  .menu-button { position: absolute; right: 1.25rem; top: 1.35rem; display: block; width: 2.8rem; height: 2.8rem; padding: .65rem; border: 0; background: var(--black); }
  .menu-button span:not(.sr-only) { display: block; height: 1px; margin: .28rem 0; background: white; }
  .nav { position: absolute; top: 5.5rem; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; }
  .nav.open { display: flex; }
  .nav a { min-height: 3.8rem; }
  .nav-dropdown { display: block; }
  .nav-dropdown-button { width: 100%; min-height: 3.8rem; justify-content: center; }
  .nav-submenu { position: static; min-width: 0; box-shadow: none; }
  .nav-submenu a { min-height: 3.5rem; padding-left: 2rem; background: #213746; }
}

@media (max-width: 1100px) {
  .logo { justify-content: flex-start; padding: 0 1.25rem; height: 5.5rem; }
  .menu-button { position: absolute; right: 1.25rem; top: 1.35rem; display: block; width: 2.8rem; height: 2.8rem; padding: .65rem; border: 0; background: var(--black); }
  .menu-button span:not(.sr-only) { display: block; height: 1px; margin: .28rem 0; background: white; }
  .nav { position: absolute; top: 5.5rem; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; }
  .nav.open { display: flex; }
  .nav a { min-height: 3.8rem; }
  .nav-dropdown { display: block; }
  .nav-dropdown-button { width: 100%; min-height: 3.8rem; justify-content: center; }
  .nav-submenu { position: static; min-width: 0; box-shadow: none; }
  .nav-submenu a { min-height: 3.5rem; padding-left: 2rem; background: #213746; }
  .hero { min-height: 43rem; }
  .hero-cover { object-position: center 34%; }
  .intro, .section-head { grid-template-columns: 1fr; }
  .intro { min-height: auto; }
  .intro > p:last-child { align-self: auto; margin-bottom: 0; }
  .product-showcase { grid-template-columns: 1fr; }
  .product-showcase-dark .product-image { order: 2; }
  .product-copy { min-height: 32rem; }
  .cosmetics-overview { grid-template-columns: 1fr; }
  .organic-head { grid-template-columns: 1fr; }
  .organic-products { grid-template-columns: 1fr 1fr; }
  .product-products-four, .product-products-five { grid-template-columns: 1fr 1fr; }
  .organic-rituals { grid-template-columns: 1fr; }
  .method-intro { grid-template-columns: 1fr; }
  .steps, .service-list { grid-template-columns: 1fr 1fr; }
  .training-head { grid-template-columns: 1fr; }
  .blog-head { grid-template-columns: 1fr; }
  .faq-head { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }
  .company { grid-template-columns: 1fr; gap: 5rem; }
  .careers { grid-template-columns: 1fr; }
  .contact { grid-template-columns: 1fr; align-items: start; }
  .legal { grid-template-columns: 1fr; }
  .tech-items { margin-left: 0; }
  .company-copy { position: relative; z-index: 2; }
  .footer { grid-template-columns: 1fr; gap: 1rem; }
}

@media (max-width: 560px) {
  .hero-cover { object-position: 58% center; }
  .hero-caption { max-width: 17rem; }
  .hero-note { display: none; }
  .steps, .service-list { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .tech-items { grid-template-columns: 1fr; }
  .organic-products { grid-template-columns: 1fr; }
  .product-products-four, .product-products-five { grid-template-columns: 1fr; }
  .steps li, .service-list article { min-height: 14rem; }
  .training-grid, .training-levels { grid-template-columns: 1fr; }
  .training-grid article { min-height: auto; }
  .founder-portrait figcaption { right: -.5rem; bottom: -2.5rem; }
  .company-facts { grid-template-columns: 1fr; }
  .floating-contact { left: 1rem; right: 1rem; bottom: .8rem; flex-direction: row; align-items: stretch; }
  .floating-contact a { flex: 1; min-height: 3rem; padding: .7rem .75rem; text-align: center; font-size: .62rem; }
  .footer { padding-bottom: 6rem; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
