/* Tipografies allotjades a la mateixa web (abans es carregaven des de Google Fonts) */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/open-sans-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/open-sans-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/open-sans-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/poppins-500-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/poppins-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/poppins-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/poppins-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/poppins-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* nutrimalism.com — estils base (rèplica del tema Divi original, escrita a mà) */
:root {
  --verd: #929876;
  --or: #bcaa6c;
  --text: #666;
  --titol: #333;
  --gris: #ededed;
  --header-h: 90px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fff;
  color: var(--text);
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.7em;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--verd); text-decoration: none; }
h1, h2, h3, h4, h5, h6 {
  color: var(--titol);
  margin: 0;
  padding-bottom: 10px;
  line-height: 1em;
  font-weight: 500;
}
h1 { font-size: 30px; } h2 { font-size: 26px; } h3 { font-size: 22px; }
h4 { font-size: 18px; } h5 { font-size: 16px; } h6 { font-size: 14px; }
p { margin: 0; padding-bottom: 1em; }
p:last-of-type { padding-bottom: 0; }
ul, ol { margin: 0; padding: 0 0 23px 1em; line-height: 26px; }
strong { font-weight: 700; }

/* ---------- capçalera ---------- */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,.1);
  transition: box-shadow .3s;
}
.site-header.scrolled { box-shadow: 0 0 7px rgba(0,0,0,.1); }
.hdr {
  width: 80%; max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  height: var(--header-h);
  transition: height .3s;
}
.site-header.scrolled .hdr { height: 60px; }
.logo { display: flex; align-items: center; height: 100%; flex-shrink: 0; }
.logo img { max-height: 56%; width: auto; display: block; }
.site-header.scrolled .logo img { max-height: 70%; }
nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; line-height: 1; }
nav a { color: rgba(0,0,0,.6); font-weight: 600; font-size: 14px; white-space: nowrap; transition: color .3s; }
nav a:hover, nav li.current > a { color: var(--or); }
nav li.lang a { border: 1px solid rgba(0,0,0,.15); border-radius: 100px; padding: 5px 10px; font-size: 12px; }
.burger { display: none; background: none; border: 0; padding: 6px; cursor: pointer; width: 40px; height: 40px; position: relative; }
.burger span, .burger span::before, .burger span::after {
  position: absolute; left: 8px; width: 24px; height: 2px; background: var(--verd); content: ''; transition: transform .25s, opacity .25s;
}
.burger span { top: 19px; }
.burger span::before { left: 0; top: -7px; }
.burger span::after { left: 0; top: 7px; }
.burger[aria-expanded="true"] span { background: transparent; }
.burger[aria-expanded="true"] span::before { transform: translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span::after { transform: translateY(-7px) rotate(-45deg); }

/* ---------- estructura de pàgina (seccions / files / columnes) ---------- */
.sec { position: relative; padding: 54px 0; background-position: center; background-size: cover; }
.row { width: 80%; max-width: 1200px; margin: 0 auto; padding: 27px 0; position: relative; }
.row.multi { display: grid; column-gap: 5.5%; align-items: start; }
.col { position: relative; min-width: 0; }
.mod { margin-bottom: 30px; position: relative; }
.col > .mod:last-child { margin-bottom: 0; }
.image { line-height: 0; text-align: center; }
.image img { display: inline-block; }
.text { word-wrap: break-word; }

/* ---------- botons ---------- */
.btn {
  display: inline-block;
  font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 14px; line-height: 1.7em;
  padding: 16px 24px; border-radius: 100px; border: 0;
  color: #fff; background: var(--or);
  cursor: pointer; transition: transform .2s, filter .2s;
}
.btn:hover { filter: brightness(1.05); transform: translateY(-1px); }
.btn-light { background: #f5f6f7; color: #000; letter-spacing: -.01em; }
.btn-gold { background: var(--or); color: #fff; }

/* ---------- acordió (FAQ) ---------- */
.accordion { display: flex; flex-direction: column; gap: 20px; }
.acc {
  background: #fff; border-radius: 24px; padding: 20px;
  box-shadow: 0 20px 100px rgba(194,194,200,.4);
  font-family: 'Poppins', sans-serif;
}
.acc summary {
  list-style: none; cursor: pointer; position: relative; padding-right: 40px;
  color: #000; font-weight: 500; font-size: 20px; line-height: 1.2em;
}
.acc summary::-webkit-details-marker { display: none; }
.acc summary::after {
  content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  color: var(--verd); font-size: 26px; font-weight: 600; transition: transform .2s;
}
.acc[open] summary::after { content: '−'; }
.acc-body { padding-top: 14px; font-size: 16px; line-height: 1.7em; color: #666; }

/* ---------- preus ---------- */
.pricing { display: flex; flex-direction: column; gap: 30px; }
.pt {
  background: linear-gradient(140deg, #ededed 0%, #dddddd 100%);
  border-radius: 24px; padding: 30px 20px 40px; text-align: center;
  box-shadow: 0 100px 100px rgba(194,194,200,.4);
  font-family: 'Poppins', sans-serif; color: #202225;
}
.pt-title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 22px; letter-spacing: -.02em; line-height: 1.3em; color: #202225; padding-bottom: 0; }
.pt-price { padding: 22px 0 12px; color: #202225; }
.pt-sum { font-weight: 600; font-size: 50px; letter-spacing: -.02em; line-height: 1em; }
.pt-cur { font-weight: 600; font-size: 22px; vertical-align: super; margin-left: 2px; }
.pt-per { font-weight: 600; font-size: 14px; }
.pt-body { font-size: 16px; line-height: 1.6em; color: #202225; padding-bottom: 24px; text-align: center; }
.pt-body ul { list-style: none; padding: 0; }
.pt-body strong { font-weight: 600; }

/* ---------- contacte directe (substitueix el formulari) ---------- */
.contact-links { display: flex; flex-direction: column; gap: 12px; max-width: 440px; margin-top: 8px; }
.cl-card {
  display: flex; align-items: center; gap: 16px;
  padding: 16px 20px; border-radius: 18px;
  background: #fff; color: #202225; border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 6px 24px rgba(146,152,118,.12);
  font-family: 'Poppins', sans-serif; line-height: 1.35;
  transition: transform .2s, box-shadow .2s;
}
.cl-card:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(146,152,118,.22); }
.cl-icon {
  flex: none; width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #f0e7e2; color: var(--verd);
}
.cl-text { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.cl-text strong { font-weight: 600; font-size: 16px; letter-spacing: -.01em; }
.cl-text span { font-size: 13.5px; color: #787f84; font-weight: 500; overflow-wrap: anywhere; }
.cl-arrow { flex: none; color: #c4c4c4; transition: transform .2s, color .2s; }
.cl-card:hover .cl-arrow { transform: translateX(3px); color: var(--or); }
.cl-main { background: var(--or); color: #fff; border-color: transparent; }
.cl-main .cl-icon { background: rgba(255,255,255,.22); color: #fff; }
.cl-main .cl-text span { color: rgba(255,255,255,.88); }
.cl-main .cl-arrow { color: rgba(255,255,255,.8); }
.cl-main:hover .cl-arrow { color: #fff; }

/* ---------- blog (segueix el manual de marca: blocs de color, fruita retallada, Poppins) ---------- */
.b-hero { width: 80%; max-width: 900px; margin: 0 auto; padding: 56px 0 34px; text-align: center; }
.b-hero h1 { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 100px; line-height: 1.1em; letter-spacing: -.03em; color: var(--verd); padding: 0; }
.b-hero h2 { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 34px; line-height: 1.25em; letter-spacing: -.02em; color: #e5c7ad; padding: 6px 0 0; }
.b-hero p { font-size: 17px; line-height: 1.75em; max-width: 640px; margin: 0 auto; padding-top: 18px; }
.b-wrap { width: 95%; margin: 0 auto 40px; background: #ededed; border-radius: 60px; padding: 60px 0; }
.b-list { width: 85%; max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px; }
.b-card { display: flex; flex-direction: column; background: #fff; border-radius: 40px; overflow: hidden; color: #202225;
  box-shadow: 0 20px 60px rgba(146,152,118,.14); transition: transform .25s, box-shadow .25s; }
.b-card:hover { transform: translateY(-4px); box-shadow: 0 26px 70px rgba(146,152,118,.24); }
.b-card:first-child { grid-column: 1 / -1; flex-direction: row; }
.b-art { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 280px; overflow: hidden; }
.b-card:first-child .b-art { flex: 0 0 46%; min-height: 380px; }
.b-art img { max-width: 78%; max-height: 92%; object-fit: contain; display: block; transition: transform .4s; }
.b-card:hover .b-art img { transform: scale(1.04); }
.b-txt { display: flex; flex-direction: column; gap: 12px; padding: 34px 38px 38px; font-family: 'Poppins', sans-serif; justify-content: center; }
.b-tag { align-self: flex-start; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--verd); background: #f5f6f7; border-radius: 100px; padding: 6px 14px; }
.b-txt time { font-size: 13px; color: #787f84; }
.b-txt strong { font-size: 26px; font-weight: 600; line-height: 1.25em; letter-spacing: -.02em; color: #202225; }
.b-card:first-child .b-txt strong { font-size: 34px; }
.b-txt > span { font-size: 16px; line-height: 1.7em; color: #666; font-weight: 500; }
.b-more { font-size: 15px; font-weight: 600; color: var(--or); }
.b-band { width: 95%; margin: 0 auto 60px; border-radius: 60px; background: #e5c7ad; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; align-items: end; }
.b-band-txt { padding: 70px 0 70px 10%; font-family: 'Poppins', sans-serif; align-self: center; }
.b-band-txt h2 { font-weight: 600; font-size: 72px; line-height: 1.1em; letter-spacing: -.03em; color: #fff; padding: 0; }
.b-band-txt p { font-size: 20px; font-weight: 500; color: #6f5a4b; padding: 10px 0 26px; }
.b-band-btn { display: inline-flex; align-items: center; gap: 10px; background: #fff; color: #202225; font-weight: 600; font-size: 15px; border-radius: 100px; padding: 14px 24px; transition: transform .2s; }
.b-band-btn:hover { transform: translateY(-2px); }
.b-band-btn svg { color: var(--verd); }
.b-band img { width: 100%; max-height: 420px; object-fit: contain; object-position: bottom; display: block; }

.p-hero { width: 95%; margin: 8px auto 0; border-radius: 60px; overflow: hidden; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; }
.p-hero-txt { padding: 70px 0 70px 10%; font-family: 'Poppins', sans-serif; align-self: center; }
.p-back { display: inline-block; font-size: 14px; font-weight: 600; color: #202225; opacity: .7; margin-bottom: 22px; }
.p-back:hover { opacity: 1; }
.p-hero h1 { font-weight: 600; font-size: 52px; line-height: 1.15em; letter-spacing: -.03em; color: #202225; padding: 14px 0 16px; }
.p-meta { font-size: 14px; color: #5f6366; }
.p-hero-img { display: flex; justify-content: center; align-items: flex-end; height: 100%; }
.p-hero-img img { max-width: 88%; max-height: 460px; object-fit: contain; display: block; }
.b-art img.foto { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; }
.p-hero-img img.foto { max-width: 100%; border-radius: 40px; object-fit: cover; }
.p-body { width: 80%; max-width: 760px; margin: 0 auto; padding: 70px 0 20px; font-family: 'Poppins', sans-serif; font-weight: 500; font-size: 17px; line-height: 1.85em; color: #666; letter-spacing: -.01em; }
.p-body p { padding-bottom: 1.1em; }
.p-lead { font-size: 22px; line-height: 1.6em; color: #202225; padding-bottom: 1.4em !important; }
.p-body h2 { font-weight: 600; font-size: 36px; line-height: 1.2em; letter-spacing: -.02em; color: var(--verd); padding: 34px 0 16px; }
.p-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 10px 0 26px; }
.p-compare > div { border-radius: 32px; padding: 30px 30px 24px; }
.p-compare > div:first-child { background: #ededed; }
.p-compare > div:last-child { background: #f0e7e2; }
.p-compare h3 { font-weight: 600; font-size: 22px; line-height: 1.25em; color: #202225; padding-bottom: 6px; }
.p-compare small { display: block; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--verd); padding-bottom: 10px; }
.p-compare p { font-size: 15.5px; line-height: 1.7em; padding: 0; }
.p-highlight { background: var(--verd); color: #fff; border-radius: 32px; padding: 34px 36px; margin: 26px 0; }
.p-highlight h2 { color: #fff; padding: 0 0 12px; font-size: 30px; }
.p-highlight p { color: rgba(255,255,255,.92); padding: 0; }
.p-checks { list-style: none; padding: 0; margin: 0 0 10px; }
.p-checks li { position: relative; padding: 0 0 18px 34px; }
.p-checks li::before { content: '✓'; position: absolute; left: 0; top: 0; color: var(--verd); font-weight: 700; font-size: 20px; }
.p-cta { width: 95%; margin: 50px auto 60px; background: #ededed; border-radius: 60px; padding: 60px 0; }
.p-cta-in { width: 80%; max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 6%; align-items: center; font-family: 'Poppins', sans-serif; }
.p-cta h2 { font-weight: 600; font-size: 48px; line-height: 1.15em; letter-spacing: -.02em; color: #626e7d; padding-bottom: 14px; }
.p-cta p { font-size: 16px; line-height: 1.8em; color: #666; }
.p-cta .contact-links { margin: 0; }

/* ---------- pàgines noves (portada amb dues portes, per a dones, per a homes) ---------- */
.n-heroimg { width: 95%; height: 520px; margin: 8px auto 0; border-radius: 60px; background: center/cover no-repeat; }
.n-hero { width: 80%; max-width: 900px; margin: 0 auto; padding: 40px 0 60px; text-align: center; font-family: 'Poppins', sans-serif; }
.n-hero h1 { font-weight: 600; font-size: 100px; line-height: 1.1em; letter-spacing: -.03em; color: var(--verd); padding: 0; }
.n-hero h2 { font-weight: 600; font-size: 38px; line-height: 1.2em; letter-spacing: -.02em; color: #e5c7ad; padding: 6px 0 0; }
.n-hero p { font-size: 18px; line-height: 1.75em; color: #666; max-width: 680px; margin: 0 auto; padding: 22px 0 26px; }
.n-hero p strong { color: #202225; font-weight: 600; }
.n-sec { width: 95%; margin: 0 auto 40px; border-radius: 60px; padding: 80px 0; font-family: 'Poppins', sans-serif; }
.n-sec.g { background: #ededed; } .n-sec.p { background: #f0e7e2; } .n-sec.l { background: #d0d9c1; } .n-sec.m { background: #e5c7ad; }
.n-sec.w { background: transparent; padding: 40px 0; }
.n-in { width: 80%; max-width: 1200px; margin: 0 auto; }
.n-title { font-weight: 600; font-size: 48px; line-height: 1.2em; letter-spacing: -.02em; color: #626e7d; text-align: center; padding-bottom: 40px; }
.n-txt { font-size: 17px; line-height: 1.8em; color: #666; font-weight: 500; letter-spacing: -.01em; }
.n-txt p { padding-bottom: 1em; }
.n-2col { display: grid; grid-template-columns: 3fr 2fr; gap: 6%; align-items: center; }
.n-2col.rev { grid-template-columns: 2fr 3fr; }
.n-2col > img { width: 100%; max-height: 540px; object-fit: cover; border-radius: 60px; display: block; }
.n-2col h3 { font-weight: 500; font-size: 30px; line-height: 1.3em; letter-spacing: -.01em; color: #545454; padding-bottom: 18px; }
.n-doors { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; }
.n-door { display: flex; flex-direction: column; border-radius: 40px; overflow: hidden; background: #fff; color: #202225; box-shadow: 0 20px 60px rgba(146,152,118,.14); transition: transform .25s, box-shadow .25s; }
.n-door:hover { transform: translateY(-4px); box-shadow: 0 26px 70px rgba(146,152,118,.24); }
.n-door-art { height: 300px; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; }
.n-door-art img { max-height: 95%; max-width: 80%; object-fit: contain; }
.n-door-txt { padding: 30px 36px 36px; display: flex; flex-direction: column; gap: 12px; }
.n-door-txt strong { font-size: 34px; font-weight: 600; letter-spacing: -.02em; color: var(--verd); }
.n-door-txt span { font-size: 16px; line-height: 1.7em; color: #666; }
.n-door-txt em { font-style: normal; font-weight: 600; color: var(--or); }
.n-checks { max-width: 760px; margin: 0 auto; list-style: none; padding: 0; font-size: 18px; line-height: 1.6em; color: #202225; font-weight: 500; }
.n-checks li { position: relative; padding: 0 0 18px 38px; }
.n-checks li::before { content: '✓'; position: absolute; left: 0; color: var(--verd); font-weight: 700; font-size: 22px; }
.n-sona { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; width: 100%; max-width: 1100px; margin: 0 auto; }
.n-sona-card { position: relative; border-radius: 40px; padding: 44px 40px 26px; text-align: left; }
.n-sona-card img { position: absolute; top: -26px; right: 26px; width: 96px; height: auto; }
.n-sona-card h3 { font-size: 26px; font-weight: 600; color: #626e7d; margin: 0 0 24px; }
.n-sona-card .n-checks { margin: 0; font-size: 17px; }
.n-on-p { max-width: 640px; margin: -10px auto 34px; font-size: 17px; line-height: 1.6em; color: #626e7d; }
.n-where { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; width: 100%; }
.n-where-card { background: #fff; border-radius: 30px; padding: 30px 28px; display: flex; flex-direction: column; gap: 4px; }
.n-where-ic { width: 44px; height: 44px; border-radius: 50%; background: #d0d9c1; color: #626e7d; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.n-where-card small { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #929876; font-weight: 600; }
.n-where-card strong { font-size: 19px; color: #202225; font-weight: 600; line-height: 1.4em; }
.n-where-card span { color: #787f84; }
.n-where-card .n-link { margin-top: 12px; }
.n-links { max-width: 520px; margin: 0 auto; padding: 50px 20px 70px; text-align: center; font-family: 'Poppins', sans-serif; }
.n-links-ari { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; display: block; margin: 0 auto 16px; }
.n-links h1 { font-size: 46px; font-weight: 600; color: #929876; line-height: 1.1; margin: 0 0 8px; }
.n-links-sub { color: #626e7d; font-size: 15px; line-height: 1.6em; margin: 0 0 28px; }
.n-links-list { display: flex; flex-direction: column; gap: 12px; }
.n-lk { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 24px; border-radius: 100px; color: #202225; font-weight: 600; font-size: 16px; text-align: left; transition: transform .2s; }
.n-lk:hover { transform: translateY(-2px); color: #202225; }
.n-lk b { color: #626e7d; font-weight: 600; }
.n-lk.main { background: #bcaa6c; color: #fff; justify-content: center; font-size: 17px; padding: 19px 24px; }
.n-lk.main:hover { color: #fff; }
.n-lk.main svg { flex-shrink: 0; }
.n-links-addr { margin-top: 30px; font-size: 13px; color: #787f84; }
.n-form-mains { display: flex; flex-direction: column; gap: 22px; width: 100%; }
.n-form-main { display: grid; grid-template-columns: 42% 1fr; align-items: center; border-radius: 36px; overflow: hidden; text-align: left; }
.n-form-main img { display: block; width: 100%; height: 100%; min-height: 240px; object-fit: cover; }
.n-form-main > div { padding: 34px 44px; }
.n-form-main small { display: block; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #626e7d; font-weight: 600; margin-bottom: 8px; }
.n-form-main strong { display: block; font-size: 25px; line-height: 1.3em; color: #202225; font-weight: 600; }
.n-form-main span { display: block; margin-top: 10px; color: #626e7d; font-size: 15px; line-height: 1.45em; }
.n-form-esp { width: 100%; margin-top: 50px; text-align: left; }
.n-form-esp h3 { font-size: 26px; color: #929876; font-weight: 600; margin: 0 0 18px; }
.n-form-esp ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 50px; }
.n-form-esp li { position: relative; padding: 18px 0 18px 30px; border-top: 1px solid #e3e3e3; }
.n-form-esp li::before { content: ''; position: absolute; left: 4px; top: 26px; width: 10px; height: 10px; border-radius: 50%; background: #bcaa6c; }
.n-form-esp strong { display: block; color: #202225; font-weight: 600; font-size: 17px; line-height: 1.4em; }
.n-form-esp span { display: block; color: #787f84; font-size: 14px; margin-top: 4px; line-height: 1.4em; }
.n-asnadi { width: 100%; margin-top: 50px; display: grid; grid-template-columns: 170px 1fr; gap: 36px; align-items: center; background: #f0e7e2; border-radius: 40px; padding: 40px 44px; text-align: left; }
.n-asnadi img { width: 170px; height: auto; border-radius: 24px; background: #fff; }
.n-asnadi h3 { font-size: 24px; color: #626e7d; font-weight: 600; margin: 0 0 10px; }
.n-asnadi p { color: #202225; font-size: 16px; line-height: 1.6em; margin: 0 0 10px; }
.n-asnadi p:last-child { margin-bottom: 0; }
.n-form-peu { display: inline-block; margin-top: 34px; padding: 10px 22px; border-radius: 100px; background: #ededed; color: #626e7d; font-weight: 600; font-size: 15px; }
.n-legal { max-width: 760px; margin: 0 auto; padding: 60px 20px 80px; font-family: 'Open Sans', sans-serif; color: #202225; }
.n-legal h1 { font-family: 'Poppins', sans-serif; font-size: 44px; font-weight: 600; color: #929876; line-height: 1.15; margin: 0 0 6px; }
.n-legal-data { color: #787f84; font-size: 14px; margin: 0 0 30px; }
.n-legal h2 { font-family: 'Poppins', sans-serif; font-size: 22px; font-weight: 600; color: #626e7d; margin: 34px 0 10px; }
.n-legal p { font-size: 16px; line-height: 1.7em; margin: 0 0 12px; }
.n-legal a { color: #cc997b; font-weight: 600; }
.pt-nota { margin-top: 14px !important; padding: 12px 14px; border-radius: 16px; background: #f0e7e2; font-size: 13px !important; line-height: 1.5em !important; color: #626e7d !important; }
.n-sessions { padding-top: 26px !important; padding-bottom: 14px !important; }
.n-sessions h1 { font-size: 66px !important; margin-bottom: 4px; }
.n-sessions p { font-size: 16px !important; }
.n-sessions p { max-width: 720px; margin: 0 auto; }
.n-sec-preus { padding-top: 10px !important; }
.n-preus { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; width: 100%; align-items: stretch; }
.n-preu { display: flex; flex-direction: column; background: #fff; border-radius: 40px; overflow: hidden; box-shadow: 0 20px 60px rgba(146,152,118,.16); text-align: left; }
.n-preu.destacat { box-shadow: 0 24px 60px rgba(204,153,123,.32); }
.n-preu-cap { padding: 28px 32px 22px; }
.n-preu-cap h3 { font-size: 23px; font-weight: 600; color: #202225; margin: 0 0 6px; }
.n-preu-cap small { font-size: 14px; font-weight: 600; color: #626e7d; letter-spacing: .02em; }
.n-preu.destacat .n-preu-cap h3, .n-preu.destacat .n-preu-cap small { color: #fff; }
.n-preu-cos { display: flex; flex-direction: column; gap: 12px; padding: 24px 32px 30px; flex: 1; }
.n-preu-cos > p { font-size: 16px; line-height: 1.6em; color: #444; margin: 0; }
.n-preu-cos ul { list-style: none; margin: 4px 0 0; padding: 0; }
.n-preu-cos li { position: relative; padding: 6px 0 6px 26px; font-size: 15px; line-height: 1.5em; color: #202225; }
.n-preu-cos li::before { content: '✓'; position: absolute; left: 0; color: #929876; font-weight: 700; }
.n-preu-ideal { font-size: 14.5px !important; color: #787f84 !important; font-style: italic; margin-top: auto !important; }
.n-preu-estalvi { display: inline-block; align-self: flex-start; padding: 6px 14px; border-radius: 100px; background: #f0e7e2; color: #b5714a !important; font-weight: 600; font-size: 14px !important; }
.n-preu-peu { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 16px; border-top: 1px solid #ededed; margin-top: 6px; }
.n-preu-num { display: flex; align-items: baseline; gap: 3px; margin: 0 !important; font-size: 30px !important; font-weight: 600; color: #626e7d !important; line-height: 1; white-space: nowrap; }
.n-preu-num span { font-size: 15px; font-weight: 600; }
.n-preu-peu .btn { margin: 0; }
.n-bos { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; width: 100%; margin-top: 30px; padding: 18px 28px; border-radius: 30px; background: #ededed; }
.n-bos h3 { font-size: 16px; font-weight: 600; color: #626e7d; margin: 0; width: 100%; }
.n-bo { display: flex; gap: 10px; align-items: center; flex: 1 1 200px; text-align: left; }
.n-bo-ic { flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: #d0d9c1; color: #626e7d; display: flex; align-items: center; justify-content: center; }
.n-bo h4 { font-size: 14px; font-weight: 600; color: #202225; margin: 0; }
.n-bo p { font-size: 13px; line-height: 1.45em; color: #555; margin: 0; }
.n-extres-t { margin-top: 50px; font-size: 30px !important; }
.n-extres { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; width: 100%; }
.n-extra { display: flex; align-items: center; gap: 18px; padding: 20px 28px; border-radius: 30px; background: #f0e7e2; color: #202225; text-align: left; transition: transform .2s; }
.n-extra:hover { transform: translateY(-2px); color: #202225; }
.n-extra span { flex: 1; display: flex; flex-direction: column; }
.n-extra strong { font-size: 18px; font-weight: 600; }
.n-extra small { font-size: 14px; color: #787f84; }
.n-extra b { font-size: 24px; font-weight: 600; color: #626e7d; }
.n-extra em { font-style: normal; font-weight: 600; color: #b5714a; font-size: 14px; }
.n-metod { padding-bottom: 20px !important; }
.n-metod h1 { font-size: 80px !important; }
.n-sec-passos { padding-top: 10px !important; }
.n-passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; width: 100%; }
.n-pas .n-stage-txt { justify-content: flex-start; }
.n-pas-num { font-size: 15px; font-weight: 700; color: #cc997b; letter-spacing: .1em; }
.n-pas .n-stage-txt small { font-size: 14px; font-weight: 600; color: #929876; margin-top: -6px; }
.n-equip-llista { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; width: 100%; margin-top: 10px; }
.n-equip-item { display: flex; gap: 16px; align-items: flex-start; background: #fff; border-radius: 30px; padding: 24px 26px; text-align: left; }
.n-equip-item .n-bo-ic { width: 42px; height: 42px; }
.n-equip-item p { font-size: 15.5px; line-height: 1.65em; color: #444; margin: 0; }
.n-equip-item strong { color: #202225; font-weight: 600; }
.n-sobre { padding-bottom: 30px !important; }
.n-sobre h1 { font-size: 84px !important; }
.n-sobre-hola .n-txt p { font-size: 16.5px; line-height: 1.75em; }
.n-sobre-hola img { object-position: top; }
.n-form-logos { display: flex; justify-content: center; align-items: center; gap: 48px; width: 100%; margin-top: 36px; }
.n-form-logos img { height: 64px; width: auto; object-fit: contain; mix-blend-mode: multiply; }
.n-sobre-cta { padding: 30px 0 !important; }
.n-sobre-cta .n-title { margin-bottom: 8px !important; padding-bottom: 0 !important; }
.n-sobre-cta .n-on-p { margin: 0 auto 18px !important; }
.n-sobre-cta .btn { margin-top: 0; }
.n-contacte { padding-bottom: 10px !important; }
.n-contacte h1 { font-size: 84px !important; }
.n-contacte-cos .contact-links { margin-top: 22px; }
.n-contacte-nota { font-size: 14px !important; color: #787f84 !important; margin-top: 14px !important; }
.n-contacte-cos img { object-position: top; }
/* línia petita dins l'H1 amb la paraula clau (SEO), damunt del títol gran */
.n-h1-kick { display: block; font-size: 14px; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: #cc997b; margin: 0 0 12px; }
.n-close { max-width: 760px; margin: 18px auto 0; font-size: 20px; line-height: 1.6em; color: #626e7d; font-weight: 600; text-align: center; }
.n-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5.5%; }
.n-3 > div { text-align: left; }
.n-3 img { height: 64px; width: auto; display: block; margin-bottom: 18px; }
.n-3 h4 { font-weight: 600; font-size: 22px; line-height: 1.3em; color: #202225; padding-bottom: 10px; }
.n-3 p { font-size: 16px; line-height: 1.75em; color: #666; }
.n-center { text-align: center; padding-top: 40px; }
.n-band { width: 95%; margin: 0 auto 40px; border-radius: 60px; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; align-items: end; font-family: 'Poppins', sans-serif; }
.n-band-txt { padding: 80px 0 80px 10%; align-self: center; }
.n-band-txt h2 { font-weight: 600; font-size: 100px; line-height: 1em; letter-spacing: -.03em; color: #fff; padding: 0 0 14px; }
.n-band-txt p { font-size: 26px; font-weight: 500; line-height: 1.3em; color: rgba(255,255,255,.92); }
.n-band.dark-txt .n-band-txt h2 { color: #4f5a47; } .n-band.dark-txt .n-band-txt p { color: #5b6450; }
.n-band img { width: 100%; max-height: 460px; object-fit: contain; object-position: bottom; display: block; }
.n-band.sola { grid-template-columns: 1fr; text-align: center; }
.n-band.sola .n-band-txt { padding: 110px 8%; }
.n-band.sola .n-band-txt h2 { font-size: 130px; }
/* imatges allargades (p. ex. la mandarina): ocupen l'amplada de la columna */
.n-band img.ample { width: 92%; height: auto; max-height: none; padding: 60px 0; align-self: center; }
.n-band img.obj { height: 430px; max-height: none; padding: 34px 0; object-position: center; align-self: center; }
.n-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.n-value { background: #fff; border-radius: 32px; padding: 34px 26px; box-shadow: 0 20px 60px rgba(146,152,118,.12); }
.n-value b { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; color: #fff; font-size: 30px; font-weight: 400; margin-bottom: 20px; }
.n-value h4 { font-weight: 600; font-size: 21px; color: #202225; padding-bottom: 10px; }
.n-value h4::after { content: ''; display: block; width: 100%; height: 3px; border-radius: 3px; margin-top: 12px; background: currentColor; opacity: .15; }
.n-value p { font-size: 15px; line-height: 1.7em; color: #666; }
.n-link { font-weight: 600; color: var(--or); }
.n-guide { display: grid; grid-template-columns: 3fr 2fr; gap: 6%; align-items: center; }
.n-guide h2 { font-weight: 600; font-size: 48px; line-height: 1.15em; letter-spacing: -.02em; color: #fff; padding-bottom: 14px; }
.n-guide p { font-size: 18px; line-height: 1.7em; color: #5d4a3d; padding-bottom: 24px; }
.n-guide img { width: 100%; max-height: 340px; object-fit: contain; }
.n-guide img.n-guide-pdf { max-height: 420px; }
.n-stages { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.n-stage { display: flex; flex-direction: column; border-radius: 40px; overflow: hidden; background: #fff; box-shadow: 0 20px 60px rgba(146,152,118,.14); }
.n-stage-art { display: flex; align-items: center; justify-content: center; height: 250px; padding: 26px 26px; }
.n-stage-art.base { align-items: flex-end; padding-bottom: 0; }
.n-stage-art.vora { padding: 26px 0 0; }
.n-band img.vora { object-position: right bottom; align-self: end; }
.n-stage-art.vora img { width: 100%; max-height: 100%; object-fit: contain; object-position: bottom; }
.n-stage-art img { max-width: 100%; max-height: 100%; object-fit: contain; }
.n-stage-txt { padding: 30px 30px 30px 26px; display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.n-stage-txt h3 { font-weight: 600; font-size: 24px; line-height: 1.25em; letter-spacing: -.01em; color: #202225; padding: 0; }
.n-stage-txt p { font-size: 15.5px; line-height: 1.7em; color: #666; }
.n-stage-txt small { font-size: 13px; line-height: 1.6em; color: var(--verd); font-weight: 600; }
.n-faq { max-width: 860px; margin: 0 auto; }
.n-manifest { width: 95%; margin: 0 auto 40px; border-radius: 60px; background: #cc997b; color: #fff; font-family: 'Poppins', sans-serif; position: relative; overflow: hidden; }
.n-manifest::after { content: ''; position: absolute; left: -90px; bottom: -120px; width: 300px; height: 300px; border-radius: 50%; background: #e5c7ad; opacity: .35; }
.n-manifest-in { position: relative; z-index: 1; width: 80%; max-width: 1200px; margin: 0 auto; padding: 90px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 7%; align-items: center; }
.n-kicker { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; background: rgba(255,255,255,.22); border-radius: 100px; padding: 7px 16px; margin-bottom: 22px; }
.n-manifest h2 { font-weight: 600; font-size: 72px; line-height: 1.05em; letter-spacing: -.03em; color: #fff; padding: 0; }
.n-manifest p { font-size: 18px; line-height: 1.8em; font-weight: 500; color: rgba(255,255,255,.95); padding-bottom: 1em; }
.n-manifest .n-manifest-end { font-size: 24px; line-height: 1.35em; font-weight: 600; color: #fff; padding: 10px 0 0; border-top: 2px solid rgba(255,255,255,.35); margin-top: 6px; }

/* ---------- formulari ---------- */
.contact { display: flex; flex-wrap: wrap; justify-content: space-between; }
.cf-field { width: 48.5%; padding: 0 0 3% 0; }
.cf-field.full { width: 100%; }
.contact input[type=text], .contact input[type=email], .contact input[type=tel], .contact textarea {
  width: 100%; border: 0; border-radius: 0; background: #fff; color: #333;
  padding: 16px; font: 14px/1.5 'Open Sans', Arial, sans-serif;
}
.contact textarea { resize: vertical; }
.contact input:focus, .contact textarea:focus { outline: 2px solid var(--or); }
.cf-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.6; padding-bottom: 20px; }
.cf-check input { margin-top: 4px; accent-color: var(--or); }
.cf-submit { width: 100%; text-align: right; }
.hp { position: absolute !important; left: -9999px; height: 0; overflow: hidden; }

/* ---------- peu ---------- */
.site-footer { font-family: 'Poppins', sans-serif; }
.foot-top { border-top: 1px solid rgba(0,0,0,.1); padding: 54px 0 3px; }
.foot-row, .foot-row2 { width: 80%; max-width: 1200px; margin: 0 auto; }
.foot-row { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 5.5%; padding: 27px 0; }
.foot-col p { line-height: 1.6em; letter-spacing: -.01em; padding-bottom: 20px; }
.foot-col a { color: #787f84; }
.foot-col a:hover { color: var(--or); }
.foot-col h6 { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 16px; line-height: 1.4em; letter-spacing: -.01em; padding-bottom: 20px; }
.foot-n { width: 80px; display: block; margin-bottom: 2px; }
.foot-bottom { background: #919776; color: #fff; }
.foot-row2 { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; }
.foot-row2 p { padding: 0; }
.social a { color: #fff; display: inline-flex; }
.social a:hover { opacity: .8; }
.mod.social { text-align: right; }

/* ---------- responsive (punts de tall de Divi) ---------- */
@media (max-width: 1180px) {
  .burger { display: block; }
  .site-header nav {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; border-top: 3px solid var(--verd); box-shadow: 0 2px 5px rgba(0,0,0,.1);
  }
  .site-header nav.open { display: block; }
  nav ul { flex-direction: column; gap: 0; width: 80%; margin: 0 auto; padding: 5% 0; }
  nav li a { display: block; padding: 10px 5%; border-bottom: 1px solid rgba(0,0,0,.03); }
  nav li.lang a { border: 0; border-radius: 0; font-size: 14px; }
}
@media (max-width: 980px) {
  .n-where { grid-template-columns: 1fr; }
  .n-preus { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
  .n-passos { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
  .n-equip-llista { grid-template-columns: 1fr; }
  .n-form-esp ul { grid-template-columns: 1fr; }
  .n-extres { grid-template-columns: 1fr; }
  .n-sessions h1 { font-size: 56px !important; }
  .n-metod h1 { font-size: 52px !important; }
  .n-sobre h1 { font-size: 52px !important; }
  .n-contacte h1 { font-size: 52px !important; }
  .n-form-logos { gap: 18px 28px; flex-wrap: wrap; } .n-form-logos img { height: 38px; max-width: 80%; }
  .n-extra { flex-wrap: wrap; }
  .n-form-main { grid-template-columns: 1fr; }
  .n-form-main img { min-height: 0; aspect-ratio: 3 / 2; }
  .n-form-main > div { padding: 24px 26px 30px; }
  .n-form-main strong { font-size: 21px; }
  .n-asnadi { grid-template-columns: 1fr; padding: 32px 26px; gap: 20px; }
  .n-asnadi img { width: 130px; }
  .sec { padding: 50px 0; }
  .row { padding: 30px 0; }
  .row.multi { display: block; }
  .row.multi > .col { margin-bottom: 30px; }
  .row.multi > .col:last-child { margin-bottom: 0; }
  .foot-row { grid-template-columns: 1fr; text-align: center; }
  .foot-n { margin: 0 auto 2px; }
  .foot-row2 { flex-direction: column; gap: 8px; }
}
@media (max-width: 767px) {
  .n-sona, .n-where { grid-template-columns: 1fr; gap: 34px; }
  .n-where { gap: 16px; }
  .n-sona-card { padding: 38px 24px 18px; border-radius: 32px; }
  .n-sona-card img { width: 76px; top: -22px; right: 18px; }
  .n-sona-card h3 { font-size: 22px; }
  .n-heroimg { height: 300px; border-radius: 36px; }
  .n-manifest { border-radius: 36px; }
  .n-manifest-in { grid-template-columns: 1fr; width: 86%; padding: 46px 0; gap: 20px; }
  .n-manifest h2 { font-size: 42px; }
  .n-manifest p { font-size: 16px; }
  .n-manifest .n-manifest-end { font-size: 20px; }
  .n-hero h1 { font-size: 52px; } .n-hero h2 { font-size: 22px; } .n-hero p { font-size: 16px; }
  .n-sec { border-radius: 36px; padding: 44px 0; }
  .n-in { width: 86%; }
  .n-title { font-size: 30px; padding-bottom: 26px; }
  .n-2col, .n-2col.rev, .n-doors, .n-3, .n-values, .n-guide, .n-stages, .n-band { grid-template-columns: 1fr; }
  .n-2col > img { border-radius: 36px; }
  .n-door-art { height: 220px; }
  .n-door-txt strong { font-size: 28px; }
  .n-3 { gap: 30px; }
  .n-band { border-radius: 36px; }
  .n-band-txt { padding: 40px 8% 10px; }
  .n-band-txt h2 { font-size: 56px; } .n-band-txt p { font-size: 20px; }
  .n-band img { max-height: 260px; }
  .n-band img.obj { height: 260px; padding: 10px 0 30px; }
  .n-band.sola .n-band-txt { padding: 60px 8%; } .n-band.sola .n-band-txt h2 { font-size: 68px; }
  .n-band img.ample { width: 86%; margin: 0 auto; padding: 10px 0 34px; }
  .n-guide h2 { font-size: 32px; }
  .n-stage { grid-template-columns: 1fr; }
  .n-stage-art { height: 210px; }
  .n-checks { font-size: 16px; }
  .b-hero h1 { font-size: 56px; }
  .b-hero h2 { font-size: 24px; }
  .b-list { grid-template-columns: 1fr; width: 88%; }
  .b-card:first-child { flex-direction: column; }
  .b-card:first-child .b-art, .b-art { min-height: 230px; flex: none; }
  .b-txt { padding: 26px 26px 30px; }
  .b-card:first-child .b-txt strong, .b-txt strong { font-size: 23px; }
  .b-wrap, .p-cta { border-radius: 36px; padding: 34px 0; }
  .b-band, .p-hero { grid-template-columns: 1fr; border-radius: 36px; }
  .b-band-txt, .p-hero-txt { padding: 40px 8% 10px; }
  .b-band-txt h2 { font-size: 48px; }
  .b-band img { max-height: 260px; }
  .p-hero h1 { font-size: 32px; }
  .p-hero-img img { max-height: 280px; }
  .p-body { width: 86%; font-size: 16px; padding-top: 44px; }
  .p-lead { font-size: 19px; }
  .p-body h2 { font-size: 28px; }
  .p-compare { grid-template-columns: 1fr; }
  .p-highlight { padding: 28px 24px; }
  .p-cta-in { grid-template-columns: 1fr; width: 86%; gap: 26px; }
  .p-cta h2 { font-size: 34px; }
  .cf-field { width: 100%; }
  .cf-submit { text-align: left; }
}
