/* ============================================================
   ORIGEN — web  ·  on-brand (manual de marca)
   Type: Helvetica Neue LT Pro (alt: Inter) + Cascadia Code · fonts auto-allotjades
   Signature: logo fet a mà · traç de recorregut · semitò · diagonal
   ============================================================ */
/* --- Tipografies auto-allotjades (sense Google Fonts) --- */
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Cascadia Code';src:url('../assets/fonts/cascadia-light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Cascadia Code';src:url('../assets/fonts/cascadia-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cascadia Code';src:url('../assets/fonts/cascadia-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
/* Helvetica Neue LT Pro (Adobe/llicència web): quan tinguis els .woff2, posa'ls a assets/fonts/ i descomenta ↓
@font-face{font-family:'Helvetica Neue LT Pro';src:url('../assets/fonts/helveticaneue-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue LT Pro';src:url('../assets/fonts/helveticaneue-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue LT Pro';src:url('../assets/fonts/helveticaneue-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Neue LT Pro';src:url('../assets/fonts/helveticaneue-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap} */
:root{
  --cream:#f2e8d3;
  --paper:#f9f4e9;
  --paper2:#f9f4e9;
  --beige:#e8ddca;
  --terra:#aa5635;
  --terra-dk:#8c4223;
  --marro:#2b241c;
  --marro-2:#4f4436;
  --blau:#7caac4;
  --line:#d7c6a4;
  --line-dk:rgba(242,232,211,.14);

  --serif:'Fraunces',Georgia,serif;
  --sans:'Helvetica Neue LT Pro','Helvetica Neue','Helvetica','Inter',Arial,sans-serif;
  --mono:'Cascadia Code',ui-monospace,monospace;

  --wrap:1320px;
  --pad:clamp(18px,4.5vw,70px);
  --ease:cubic-bezier(.19,1,.22,1);
  --ease-out-quart:cubic-bezier(.165,.84,.44,1);
}

/* ===== Arrow Reveal Button (details.so button-02, recolorat) ===== */
.btn{color:var(--paper);position:relative;display:inline-flex;align-items:center;height:52px;
  transition:scale .3s var(--ease-out-quart);cursor:pointer}
.btn .inner,.btn .circle{background:var(--marro);border-radius:999px;height:52px;display:flex;align-items:center;
  justify-content:center;text-wrap:nowrap;white-space:nowrap;transition:all .5s var(--ease-out-quart);font-weight:600}
.btn .inner{width:100%;padding-inline:42px;position:relative;z-index:1;
  font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;font-weight:500;text-transform:uppercase}
.btn .circle{position:absolute;right:0;width:52px;scale:0;transform-origin:left center;background:var(--terra)}
.btn .circle span{display:grid;place-items:center;width:100%;height:100%;transform:translate(-100%);
  transition:all .3s var(--ease-out-quart) .1s;font-weight:600}
.btn:hover .inner{width:calc(100% - 56px)}
.btn:hover .circle{scale:1}
.btn:hover .circle span{transform:translate(0)}
.btn:active{scale:.98}
.btn--light .inner{background:var(--paper);color:var(--marro)}
.btn--light .circle{background:var(--paper);color:var(--marro)}
/* botó d'un sol color */
.btn--solid .inner{background:var(--marro);color:var(--paper)}
.btn--solid .circle{background:var(--marro);color:var(--paper)}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{font-family:var(--sans);background:var(--paper);color:var(--marro);line-height:1.5;
  overflow-x:clip;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv05"}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
/* Lenis smooth scroll */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}
::selection{background:var(--terra);color:var(--paper)}

/* cursor · normal del sistema (custom desactivat) */
.cursor{display:none}

.grain{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- type ---------- */
.mono{font-family:var(--mono);letter-spacing:.04em}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terra)}
.kicker{font-family:var(--mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--marro-2)}
h1,h2,h3,h4{font-family:var(--sans);font-weight:700;letter-spacing:-.035em;line-height:.98}
.display{font-family:var(--sans);font-size:clamp(2.5rem,6.6vw,5.6rem);font-weight:600;letter-spacing:-.042em;line-height:.96}
.display em{font-style:normal;color:var(--terra);font-weight:800}
.display--light{color:var(--paper)}.display--light em{color:var(--beige)}
.muted{color:var(--marro-2)}

/* ---------- layout ---------- */
.section{max-width:var(--wrap);margin:0 auto;padding:clamp(80px,11vw,170px) var(--pad)}
.seclabel{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:.76rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--marro-2);margin-bottom:40px}
.seclabel b{color:var(--terra);font-weight:500}
.seclabel::after{content:"";flex:1;height:1px;background:var(--line);max-width:200px}
.seclabel--light{color:var(--beige)}.seclabel--light::after{background:var(--line-dk)}

/* ---------- buttons ---------- */
.pill{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:100px;background:var(--marro);
  color:var(--paper);font-weight:600;font-size:.92rem;border:1.5px solid var(--marro);cursor:pointer;
  transition:transform .5s var(--ease),background .35s,color .35s,border-color .35s;will-change:transform}
.pill:hover{background:var(--terra);border-color:var(--terra)}
.pill--lg{padding:18px 34px;font-size:1rem}
.pill--ghost{background:transparent;color:var(--marro)}
.pill--ghost:hover{background:var(--marro);color:var(--paper);border-color:var(--marro)}
.pill--light{background:var(--paper);color:var(--marro);border-color:var(--paper)}
.pill--light:hover{background:var(--beige);border-color:var(--beige)}
.arrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.82rem;color:var(--terra)}
.arrow span{transition:transform .4s var(--ease)}.arrow:hover span{transform:translateX(6px)}

/* ---------- SEMITÒ photo ---------- */
.photo{position:relative;overflow:hidden;border-radius:6px;background:var(--terra)}
.photo::before{content:"";position:absolute;inset:0;
  background:linear-gradient(145deg,var(--terra) 0%,var(--marro) 100%)}
.photo[data-tone=blau]::before{background:linear-gradient(145deg,var(--blau) 0%,var(--marro) 100%)}
.photo[data-tone=warm]::before{background:linear-gradient(145deg,var(--beige) 0%,var(--terra) 100%)}
.photo::after{content:"";position:absolute;inset:0;mix-blend-mode:screen;opacity:.5;
  background-image:radial-gradient(circle at center, rgba(242,232,211,.9) 22%, transparent 26%);
  background-size:7px 7px}
.photo .cap{position:absolute;left:14px;bottom:12px;z-index:2;font-family:var(--mono);font-size:.64rem;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(242,232,211,.85)}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:22px var(--pad);transition:background .4s var(--ease),padding .4s,box-shadow .4s}
.site-header.scrolled{background:rgba(249,244,233,.82);backdrop-filter:blur(12px);padding:13px var(--pad)}
.brand{display:flex;align-items:center;gap:11px}
.brand__mark{width:30px}
.brand__word{font-weight:800;letter-spacing:.02em;font-size:1.15rem}
.nav{display:flex;gap:30px}
.nav a{font-family:var(--mono);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;position:relative;padding:3px 0}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--terra);transition:width .4s var(--ease)}
.nav a:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:16px}
.lang{font-family:var(--mono);font-size:.76rem;background:none;border:none;cursor:pointer;color:var(--marro-2)}
.lang span{opacity:.4;margin:0 2px}.lang i{font-style:normal}.lang:hover{color:var(--terra)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:101}
.burger span{width:24px;height:2px;background:var(--marro);transition:.35s var(--ease)}

/* ============================================================
   HERO — dynamic / diagonal / on-brand
   ============================================================ */
.hero{position:relative;max-width:var(--wrap);margin:0 auto;padding:clamp(140px,20vh,220px) var(--pad) clamp(60px,8vw,110px);
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,60px);align-items:center;min-height:100svh}
.hero__left{position:relative;z-index:2}
.hero__meta{display:flex;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--marro-2);margin-bottom:26px}
.hero__meta b{color:var(--terra);font-weight:500}
.hero__title{font-size:clamp(3.2rem,9vw,7.6rem);font-weight:800;letter-spacing:-.045em;line-height:.9;margin-bottom:30px}
.hero__title .l{display:block;overflow:hidden}
.hero__title .l>span{display:block;transition:transform 1.1s var(--ease)}
.js .hero__title .l>span{transform:translateY(115%)}
.loaded .hero__title .l>span{transform:none}
.hero__title .l:nth-child(2)>span{transition-delay:.09s}
.hero__title .l:nth-child(3)>span{transition-delay:.18s}
.hero__title em{font-style:normal;color:var(--terra)}
.hero__sub{font-size:clamp(1.02rem,1.5vw,1.2rem);max-width:42ch;color:var(--marro-2);margin-bottom:34px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}

.hero__right{position:relative;z-index:1}
.hero__photo{aspect-ratio:3/4;transform:rotate(2.2deg);box-shadow:0 40px 80px -50px rgba(43,36,28,.7)}
.hero__photo .cap{left:auto;right:14px}
.hero__symbol{position:absolute;left:-46px;bottom:-40px;width:130px;z-index:3;transform:rotate(-6deg);
  filter:drop-shadow(0 12px 20px rgba(43,36,28,.25))}
/* traç behind hero */
.hero__trac{position:absolute;top:8%;right:-6%;width:70%;opacity:.10;z-index:0;pointer-events:none;transform:rotate(-4deg)}

.scroll-cue{position:absolute;left:var(--pad);bottom:34px;z-index:3;font-family:var(--mono);font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--marro-2);display:flex;align-items:center;gap:12px}
.scroll-cue i{width:1px;height:38px;background:var(--line);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;top:-38px;left:0;width:1px;height:38px;background:var(--terra);animation:cue 2s var(--ease) infinite}
@keyframes cue{to{top:38px}}

/* ============================================================
   DRAW line (traç de recorregut) between sections
   ============================================================ */
.trac-line{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.trac-line svg{width:100%;height:auto;overflow:visible}
.trac-line path{fill:none;stroke:var(--terra);stroke-width:2.5;stroke-linecap:round}
.js .trac-line path{stroke-dasharray:var(--len,2000);stroke-dashoffset:var(--len,2000)}
.trac-line.in path{stroke-dashoffset:0;transition:stroke-dashoffset 1.8s var(--ease)}

/* ============================================================
   MARQUEE
   ============================================================ */
.marquee{background:var(--marro);color:var(--beige);overflow:hidden;padding:22px 0}
.marquee__track{display:flex;align-items:center;gap:40px;white-space:nowrap;width:max-content;animation:scroll 42s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__track span{font-family:var(--mono);font-size:1rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}
.marquee__track i{color:var(--terra);font-style:normal;font-size:.5rem;transform:translateY(-2px)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* MANIFEST · etiqueta + frase */
.what__label{font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--marro-2)}
.intro-what{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;
  justify-content:center;gap:clamp(30px,7vh,80px);padding-block:clamp(56px,11vh,120px)}
.intro-what::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);
  background:var(--paper2);border-radius:6px 6px 0 0;z-index:-1}
.what__mark{display:inline;color:var(--terra);font-style:normal;font-weight:400}
.what__body{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(28px,6vw,90px);width:100%}
.what__lead{font-family:var(--sans);font-size:clamp(1.6rem,3.1vw,2.6rem);font-weight:600;letter-spacing:-.028em;
  line-height:1.3;max-width:30ch;color:var(--marro)}
.what__lead em{font-style:normal;color:var(--terra)}
.what__btn{flex:0 0 auto;margin-bottom:.28em}
@media(max-width:820px){.what__body{flex-direction:column;align-items:flex-start;gap:34px}.what__lead{max-width:none}}

/* ===== IMATGE MANIFEST (creix des de dins amb scroll) ===== */
.mfimg{position:relative;width:100vw;left:50%;transform:translateX(-50%);
  padding:clamp(9px,1vw,15px);background:var(--paper2)}
.mfimg__frame{height:clamp(440px,86vh,1000px);border-radius:6px;overflow:hidden;
  clip-path:inset(0 round 2px);will-change:clip-path}
.mfimg__img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:scale(1.05)}

/* QUI SOM · dues cards que s'uneixen (pin, 3 col: cards + text) */
.quisom{position:relative;height:360vh}
.quisom__pin{position:sticky;top:0;min-height:100vh;max-width:var(--wrap);margin:0 auto;
  padding:clamp(48px,7vh,96px) var(--pad) clamp(32px,4vh,64px);
  display:flex;flex-direction:column;justify-content:center;gap:clamp(22px,4vh,48px)}
.quisom__label{padding-top:0;display:inline-block;margin-bottom:clamp(16px,1.8vw,26px)}
.quisom__row{display:grid;grid-template-columns:1.75fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.quisom__cards{position:relative;--qh:clamp(510px,74vh,680px);height:var(--qh);overflow:hidden}
.quisom__text{align-self:center}
.quisom__title{font-family:var(--sans);font-size:clamp(1.55rem,2.3vw,2.35rem);font-weight:600;letter-spacing:-.03em;
  line-height:1.1;color:var(--marro);margin:0 0 clamp(14px,1.6vw,22px);max-width:16ch}
.quisom__title em{font-style:normal;color:inherit}
.quisom__body{font-family:var(--sans);font-size:clamp(.98rem,1.15vw,1.1rem);line-height:1.6;
  max-width:38ch;color:var(--marro-2)}
.quisom__body b{color:inherit;font-weight:500}
.quisom__prog{margin-top:clamp(26px,3vw,42px);display:flex;flex-direction:column;gap:13px;max-width:330px}
.quisom__hint{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--marro-2);
  display:inline-flex;align-items:center;gap:8px;transition:opacity .45s var(--ease-out-quart),transform .45s var(--ease-out-quart)}
.quisom__arrow{color:var(--terra);animation:qsBob 1.5s ease-in-out infinite}
@keyframes qsBob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.quisom__bar{position:relative;height:2px;background:rgba(43,36,28,.14);border-radius:2px;overflow:hidden}
.quisom__bar i{position:absolute;inset:0;background:var(--terra);transform:scaleX(var(--qp,0));transform-origin:left;
  transition:transform .12s linear}
.quisom.is-moving .quisom__hint{opacity:0;transform:translateY(-4px)}
@media(max-width:820px){.quisom__prog{display:none}}

.qcard{position:absolute;top:50%;left:50%;z-index:2;width:clamp(210px,22vw,290px);display:flex;flex-direction:column;
  transform:translate(-50%,-50%);pointer-events:none;
  transition:transform .9s var(--ease-out-quart),opacity .7s var(--ease-out-quart)}
.qcard--o{z-index:4}
.qcard__ph{margin:0;aspect-ratio:1/1.1;border-radius:6px;overflow:hidden;background:var(--beige);
  box-shadow:0 30px 60px -40px rgba(43,36,28,.5)}
.qcard__ph img{width:100%;height:100%;object-fit:cover;display:block}
.qcard__meta{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:16px 0 8px;transition:opacity .4s ease}
.qcard__name{font-family:var(--sans);font-size:clamp(1.08rem,1.35vw,1.34rem);font-weight:600;letter-spacing:-.015em;
  color:var(--marro);margin:0;line-height:1.1}
.qcard__tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--marro-2);
  white-space:nowrap;line-height:1}
.qcard__desc{margin:0;color:var(--marro-2);font-size:.88rem;line-height:1.56;max-width:32ch;min-height:4.7em;max-height:8em;overflow:hidden;transition:opacity .4s ease,max-height .6s var(--ease-out-quart),min-height .6s var(--ease-out-quart)}
/* el text es manté visible fins que la card sencera es fon al centre (p3) */
.qcard--o .qcard__brand{aspect-ratio:1/1.1;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(158deg,#2b241c 0%,#7a3c22 26%,#aa5635 52%,#c07d4c 74%,#7caac4 118%)}
.qcard--o .qcard__brand img{width:clamp(120px,15vw,182px);height:auto}

/* fases · Laia i Kevin de costat i, en acostar-se, es fonen en ORIGEN (crossfade) */
/* p0: Laia a l'esquerra; Kevin esperant a baix a la dreta; ORIGEN ocult al centre */
.is-p0 .qcard--1{transform:translate(calc(-50% - 56%),-50%);opacity:1}
.is-p0 .qcard--2{transform:translate(calc(-50% + 56%),calc(-50% + var(--qh)));opacity:1}
.is-p0 .qcard--o{transform:translate(-50%,-50%) scale(.94);opacity:0}
/* p1: la card2 puja al costat de la card1 */
.is-p1 .qcard--1{transform:translate(calc(-50% - 56%),-50%);opacity:1}
.is-p1 .qcard--2{transform:translate(calc(-50% + 56%),-50%);opacity:1}
.is-p1 .qcard--o{transform:translate(-50%,-50%) scale(.94);opacity:0}
/* p2: es queden un moment de costat (hold) */
.is-p2 .qcard--1{transform:translate(calc(-50% - 56%),-50%);opacity:1}
.is-p2 .qcard--2{transform:translate(calc(-50% + 56%),-50%);opacity:1}
.is-p2 .qcard--o{transform:translate(-50%,-50%) scale(.96);opacity:0}
/* p3: s'acosten cap al centre i es fonen; apareix ORIGEN al mig */
.is-p3 .qcard--1{transform:translate(calc(-50% - 24%),-50%) scale(.97);opacity:0}
.is-p3 .qcard--2{transform:translate(calc(-50% + 24%),-50%) scale(.97);opacity:0}
.is-p3 .qcard--o{transform:translate(-50%,-50%) scale(1);opacity:1}

@media(max-width:820px){
  /* mòbil: mantenim l'animació d'unió (pin), amb cards més petites i text a dalt */
  .quisom{height:300vh}
  .quisom__pin{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:0;padding-block:clamp(84px,14vh,130px) clamp(40px,8vh,84px)}
  .quisom__label{margin-bottom:12px;display:inline-block}
  .quisom__row{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:clamp(22px,5vw,36px);flex:1 1 auto;min-height:0}
  .quisom__text{order:-1;text-align:center;align-self:start}
  .quisom__title{margin-left:auto;margin-right:auto}
  .quisom__body{margin-left:auto;margin-right:auto}
  .quisom__cards{--qh:clamp(288px,80vw,346px);height:auto;min-height:0;align-self:stretch}
  .qcard{width:clamp(150px,44vw,198px)}
  .qcard__ph{aspect-ratio:1/1.1}
  .qcard__meta{margin:12px 0 0;flex-direction:column;align-items:flex-start;gap:5px}
  .qcard__desc{display:none}
  .qcard--o{display:flex}
  .qcard--o .qcard__brand{aspect-ratio:1/1.1}
  /* mòbil: Laia i Kevin de costat, mateixa alçada des del principi → conflueixen a ORIGEN */
  .is-p0 .qcard--1,.is-p1 .qcard--1,.is-p2 .qcard--1{transform:translate(calc(-50% - 53%),-50%);opacity:1}
  .is-p0 .qcard--2,.is-p1 .qcard--2,.is-p2 .qcard--2{transform:translate(calc(-50% + 53%),-50%);opacity:1}
  .is-p3 .qcard--1{transform:translate(calc(-50% - 22%),-50%) scale(.96);opacity:0}
  .is-p3 .qcard--2{transform:translate(calc(-50% + 22%),-50%) scale(.96);opacity:0}
}
.rows2__head{display:flex;flex-direction:column;gap:clamp(14px,2vw,22px);margin-bottom:clamp(30px,4.5vw,60px)}
.rows2__lead{font-family:var(--sans);font-size:clamp(1.5rem,3vw,2.4rem);font-weight:600;letter-spacing:-.025em;
  line-height:1.16;max-width:22ch;color:var(--marro)}
.rows2__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.row2{display:grid;grid-template-columns:64px minmax(9ch,1fr) 1.3fr;gap:clamp(16px,3vw,54px);align-items:baseline;
  padding:clamp(22px,3vw,40px) 4px;border-bottom:1px solid var(--line);
  opacity:.4;transition:opacity .55s var(--ease-out-quart)}
.row2.active{opacity:1}
.row2__k{font-family:var(--mono);font-size:.8rem;color:var(--terra)}
.row2 h3{margin:0;font-family:var(--sans);font-size:clamp(1.5rem,2.8vw,2.4rem);font-weight:700;letter-spacing:-.025em;
  line-height:1.06;color:var(--marro);transition:color .55s var(--ease-out-quart)}
.row2.active h3{color:var(--terra)}
.row2 p{margin:0;color:var(--marro-2);font-size:1.02rem;line-height:1.55;max-width:42ch}
@media(max-width:720px){
  .row2{grid-template-columns:44px 1fr}
  .row2 p{grid-column:2/-1;margin-top:8px}
}

/* ============================================================
   QUI SOM — diagonal, semitò portraits
   ============================================================ */
.quisom__top{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,5vw,72px);align-items:center;margin-bottom:clamp(48px,7vw,86px)}
.quisom__media{margin:0;border-radius:6px;overflow:hidden;aspect-ratio:4/5;background:var(--beige)}
.quisom__media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:transform 1.5s var(--ease-out-quart)}
.quisom__media.in img{transform:scale(1)}
.quisom__top .display{margin-bottom:22px}
.quisom__intro{color:var(--marro-2);font-size:1.1rem}
.quisom__intro p{margin-bottom:14px;max-width:40ch}
/* Qui som · bios com a secció editorial (files alternades, sense caixa) */
.people{display:flex;flex-direction:column;gap:clamp(48px,8vw,104px)}
.person{display:grid;grid-template-columns:.82fr 1fr;gap:clamp(30px,5vw,72px);align-items:center}
.person:nth-child(even) .person__ph{order:2}
.person__ph{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:var(--beige)}
.person__ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.person:hover .person__ph img{transform:scale(1.03)}
.person__body{display:flex;flex-direction:column}
.person__name{font-family:var(--sans);font-size:clamp(1.7rem,2.8vw,2.6rem);font-weight:600;letter-spacing:-.03em;color:var(--marro);margin:0;line-height:1.02}
.person__role{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--terra);margin-top:10px}
.person__text{margin-top:clamp(18px,2.2vw,28px);display:flex;flex-direction:column;gap:clamp(12px,1.4vw,16px)}
.person__text p{font-size:clamp(.98rem,1.1vw,1.08rem);line-height:1.62;color:var(--marro-2);margin:0;max-width:52ch}
.person__meta{margin-top:clamp(22px,2.6vw,32px);padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px}
.person__tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;color:var(--marro-2);text-decoration:none}
.person__tag--ig{color:var(--terra);transition:color .3s var(--ease)}
.person__tag--ig:hover{color:var(--terra-dk)}
@media(max-width:760px){.person{grid-template-columns:1fr;gap:20px}.person:nth-child(even) .person__ph{order:0}.person__ph{aspect-ratio:4/3}}
/* Qui som · díptic de la unió (Laia + Kevin al mateix nivell) */
.qorigin__head{text-align:center;margin-bottom:clamp(52px,8vw,96px)}
.qorigin__head .what__label{display:inline-block;margin-bottom:clamp(12px,1.6vw,18px)}
.qorigin__title{font-family:var(--sans);font-size:clamp(1.8rem,3vw,2.9rem);font-weight:600;letter-spacing:-.035em;line-height:1.04;color:var(--marro);margin:0}
/* confluència: línia contínua que es pinta amb el scroll fins a la K */
.qorigin__flow{position:relative}
.qflow-line{position:absolute;left:50%;top:0;width:90px;height:0;transform:translateX(-50%);z-index:0;pointer-events:none}
.qflow-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.qflow-base{fill:none;stroke:var(--line);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.qflow-paint{fill:none;stroke:var(--terra);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset .12s linear}
.qduo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(56px,10vw,160px);position:relative;z-index:1}
.qmerge{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;
  margin-top:clamp(120px,20vh,260px);padding-bottom:clamp(80px,15vh,210px)}
.qmerge__mark{width:clamp(64px,8vw,112px);height:auto;margin-bottom:clamp(48px,7vw,92px)}
.qmerge__text{max-width:720px;font-size:clamp(1.15rem,1.7vw,1.6rem);line-height:1.55;color:var(--marro-2);margin:0}
.qmerge__text b{color:var(--marro);font-weight:600}
.qmate{display:flex;flex-direction:column}
.qmate__ph{margin:0 0 clamp(20px,2.4vw,30px);aspect-ratio:1/1;border-radius:6px;overflow:hidden;background:var(--beige)}
.qmate__ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.qmate:hover .qmate__ph img{transform:scale(1.03)}
.qmate__name{font-family:var(--sans);font-size:clamp(1.4rem,2.2vw,2rem);font-weight:600;letter-spacing:-.03em;color:var(--marro);margin:0;line-height:1.04}
.qmate__role{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--terra);margin-top:9px}
.qmate__bio{font-size:clamp(.96rem,1.1vw,1.06rem);line-height:1.62;color:var(--marro-2);margin:clamp(14px,1.8vw,20px) 0 0}
.qmate__meta{margin-top:clamp(18px,2.2vw,26px);display:flex;flex-wrap:wrap;gap:7px 18px}
@media(max-width:760px){.qduo{grid-template-columns:1fr;gap:clamp(40px,9vw,56px)}.qduo::before{display:none}.qmate{padding-left:44px}.qmate__ph{margin-left:-44px}.qflow-line{left:-24px;transform:none;opacity:.62}.qflow-paint{stroke-width:1.8}}
/* Qui som · valors (números grans + hairline) */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,46px)}
.value{border-top:1px solid var(--line);padding-top:clamp(20px,2.2vw,28px)}
.value__n{display:block;font-family:var(--sans);font-weight:700;font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:1;letter-spacing:-.03em;color:var(--terra);margin-bottom:clamp(12px,1.5vw,18px)}
.value h3{font-family:var(--sans);font-size:clamp(1.15rem,1.5vw,1.4rem);font-weight:600;letter-spacing:-.02em;color:var(--marro);margin:0 0 10px}
.value p{font-size:clamp(.96rem,1.1vw,1.05rem);line-height:1.55;color:var(--marro-2);margin:0;max-width:34ch}
@media(max-width:760px){.values{grid-template-columns:1fr;gap:0}.value{padding:clamp(22px,5vw,30px) 0}}
/* etiquetes de temes (chips) */
.chips{display:flex;flex-wrap:wrap;gap:clamp(10px,1.2vw,14px)}
.chip{font-family:var(--sans);font-size:clamp(.95rem,1.1vw,1.1rem);font-weight:500;color:var(--marro);
  background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:clamp(10px,1.2vw,14px) clamp(18px,2vw,24px)}
/* formats · targetes amb icona */
.formats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
.format{background:var(--paper2);border:1px solid var(--line);border-radius:6px;padding:clamp(26px,3vw,42px);
  transition:border-color .35s var(--ease),transform .5s var(--ease-out-quart),box-shadow .5s var(--ease-out-quart)}
.format:hover{border-color:var(--terra);transform:translateY(-4px);box-shadow:0 26px 54px -32px rgba(43,36,28,.32)}
.format__ic{display:flex;width:clamp(38px,3.6vw,48px);height:clamp(38px,3.6vw,48px);color:var(--terra);margin-bottom:clamp(18px,2.2vw,28px)}
.format__ic svg{width:100%;height:100%}
.format h3{font-family:var(--sans);font-size:clamp(1.25rem,1.7vw,1.6rem);font-weight:600;letter-spacing:-.025em;margin:0 0 clamp(10px,1.3vw,14px);color:var(--marro)}
.format p{font-size:clamp(.98rem,1.1vw,1.08rem);line-height:1.55;color:var(--marro-2);margin:0}
.format-modes{display:flex;flex-wrap:wrap;gap:clamp(16px,3vw,44px);margin-top:clamp(26px,3.2vw,44px);padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--line)}
.fmode{font-family:var(--sans);font-size:clamp(1rem,1.2vw,1.15rem);color:var(--marro-2)}
.fmode b{color:var(--marro);font-weight:600}
@media(max-width:600px){.format-modes{gap:12px 20px;margin-top:22px;padding-top:16px}.fmode{font-size:.84rem}}
.formats--2{grid-template-columns:repeat(2,1fr)}
.formats--plain{gap:clamp(24px,4vw,72px)}
.formats--plain .format{background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.formats--plain .format:hover{transform:none;box-shadow:none}
.formats--iconbg .format__ic{width:clamp(48px,4.6vw,60px);height:clamp(48px,4.6vw,60px);padding:clamp(11px,1.2vw,16px);background:rgba(170,86,53,.1);border-radius:14px;align-items:center;justify-content:center}

/* com t'acompanyem · text que passa (esquerra) + imatge fixa sticky (dreta) */
.acomp3{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(30px,5vw,78px);align-items:start;margin-top:clamp(22px,3vw,40px)}
.acomp3__list{display:flex;flex-direction:column}
.acomp3__block{padding:clamp(18px,2.5vw,36px) 0;border-top:1px solid var(--line)}
.acomp3__block:first-child{border-top:0;padding-top:0}
.acomp3__tag{display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:clamp(10px,1.3vw,17px)}
.acomp3__block h3{font-family:var(--sans);font-size:clamp(1.28rem,1.8vw,1.7rem);font-weight:600;letter-spacing:-.025em;color:var(--marro);margin:0 0 clamp(8px,1vw,13px);line-height:1.12}
.acomp3__block p{font-family:var(--sans);font-size:clamp(.98rem,1.1vw,1.1rem);line-height:1.6;color:var(--marro-2);margin:0;max-width:46ch}
.acomp3__list--wide{max-width:none}
.acomp3__list--wide .acomp3__block p{max-width:68ch}
.acomp3__media{position:sticky;top:clamp(90px,14vh,140px);align-self:start;margin:0}
.acomp3__media figure{margin:0;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--beige)}
.acomp3__media img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:820px){
  .acomp3{grid-template-columns:1fr;gap:clamp(4px,2vw,16px)}
  .acomp3__media{position:static;order:-1;top:auto;margin-bottom:clamp(10px,2vw,18px)}
  .acomp3__media figure{aspect-ratio:16/10}
}
/* com pagar (tarifes) · blocs esquerra + imatge dreta, sense sticky */
.cpay{display:grid;grid-template-columns:1.05fr .92fr;gap:clamp(28px,4.5vw,68px);align-items:center;margin-top:clamp(4px,1vw,12px)}
.cpay__media{margin:0}
.cpay__media img{width:100%;height:auto;display:block;border-radius:6px;aspect-ratio:4/5;object-fit:cover;background:var(--beige)}
.cpay__note{margin:clamp(22px,2.6vw,36px) 0 0;font-family:var(--sans);font-size:clamp(.92rem,1vw,1rem);line-height:1.55;color:var(--marro-2)}
.cpay__note b{color:var(--marro);font-weight:600}
@media(max-width:820px){.cpay{grid-template-columns:1fr;gap:clamp(20px,4vw,30px)}.cpay__media{order:-1}.cpay__media img{aspect-ratio:16/10}}
.formats--iconbg .format__ic svg{width:100%;height:100%}
.formats--iconbg .format:hover .format__ic{background:rgba(170,86,53,.16)}
@media(max-width:820px){.formats{grid-template-columns:1fr;gap:14px}.formats--2{grid-template-columns:1fr}}
/* temes · índex editorial (títol esquerra + llista dreta) */
.temes{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,6vw,90px);align-items:start}
.temes__head .what__label{display:inline-block;margin-bottom:clamp(14px,1.8vw,22px)}
.temes__title{font-family:var(--sans);font-size:clamp(1.7rem,2.6vw,2.6rem);font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--marro);margin:0}
.temes__lead{font-size:clamp(1rem,1.15vw,1.14rem);line-height:1.6;color:var(--marro-2);max-width:34ch;margin:clamp(16px,2vw,22px) 0 0}
.temes__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(20px,3vw,44px)}
.temes__list li{position:relative;padding:clamp(15px,1.9vw,20px) 0 clamp(15px,1.9vw,20px) 26px;border-top:1px solid rgba(43,36,28,.16);
  font-family:var(--sans);font-size:clamp(1.05rem,1.3vw,1.22rem);font-weight:500;letter-spacing:-.01em;color:var(--marro)}
.temes__list li::before{content:"";position:absolute;left:2px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--terra)}
@media(max-width:820px){.temes{grid-template-columns:1fr;gap:24px}
  .temes__list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .temes__list li{border-top:0;padding:clamp(15px,4.4vw,22px);background:var(--paper);border:1px solid var(--line);border-radius:10px;font-size:clamp(.92rem,3.9vw,1rem);line-height:1.26;color:var(--marro);font-weight:500;display:flex;align-items:center;min-height:clamp(84px,25vw,108px)}
  .temes__list li::before{display:none}
  .temes__list li:nth-child(n+7){display:none}}
.temes__note{font-size:clamp(.9rem,1vw,1rem);line-height:1.5;color:var(--marro-2);margin:clamp(16px,2vw,22px) 0 0;padding-top:clamp(16px,2vw,22px);border-top:1px solid rgba(43,36,28,.16)}
.temes__note b{color:var(--marro);font-weight:600}
/* què mesurem · llista amb icones (sense caixa) */
.mlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,3.4vw,56px)}
.mlist__item{display:grid;grid-template-columns:auto 1fr;gap:clamp(13px,1.4vw,18px);align-items:start;padding:clamp(17px,2.1vw,24px) 0;border-top:1px solid rgba(43,36,28,.16)}
.mlist__ic{color:var(--terra);width:clamp(24px,2vw,28px);height:clamp(24px,2vw,28px);flex:none;margin-top:2px}
.mlist__ic svg{width:100%;height:100%;display:block}
.mlist__item h3{font-family:var(--sans);font-weight:600;font-size:clamp(1.05rem,1.3vw,1.22rem);letter-spacing:-.01em;margin:0 0 5px;color:var(--marro);line-height:1.2}
.mlist__item p{margin:0;font-size:clamp(.88rem,1vw,.98rem);line-height:1.5;color:var(--marro-2)}
@media(max-width:820px){.mlist{grid-template-columns:1fr}}
/* com funciona · targetes estil home (.hstep); la línia amb loop es pinta i marca (sense carrusel) */
.cproc{position:relative}
.cproc__rail{position:relative;height:64px;margin:0 0 clamp(30px,4vw,54px)}
.cproc__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cproc__base{fill:none;stroke:var(--line);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cproc__paint{fill:none;stroke:var(--terra);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset .1s linear}
.cproc__word{position:absolute;top:4px;z-index:2;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--marro-2);background:var(--paper);padding:0 12px}
.cproc__word--l{left:0}
.cproc__word--r{right:0}
.cproc__cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,30px);align-items:stretch}
.cstep{min-height:0}
.cstep__card{position:relative;height:100%;display:flex;flex-direction:column;text-align:center;border-radius:4px;background:var(--paper2);border:1px solid var(--line);padding:clamp(28px,3vw,44px) clamp(22px,2.4vw,32px);transition:background .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease),transform .5s var(--ease)}
.cstep__n{position:absolute;top:14px;left:15px;font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;color:var(--marro-2)}
.cstep__icon{margin:clamp(4px,.6vw,10px) auto clamp(16px,1.8vw,24px);color:var(--terra);width:clamp(40px,3.2vw,52px);height:clamp(40px,3.2vw,52px)}
.cstep__icon svg{width:100%;height:100%;display:block}
.cstep__body{flex:1;display:flex;flex-direction:column;justify-content:center}
.cstep h3{font-family:var(--sans);font-size:clamp(1.15rem,1.5vw,1.5rem);font-weight:600;letter-spacing:-.02em;margin:0 0 10px;line-height:1.15;color:var(--marro)}
.cstep p{margin:0;color:var(--marro-2);font-size:clamp(.9rem,1vw,1rem);line-height:1.5}
.cstep.is-on .cstep__card{background:var(--terra);border-color:var(--terra);box-shadow:0 26px 50px -26px rgba(170,86,53,.6);transform:translateY(-6px) scale(1.02)}
.cstep.is-on .cstep__n{color:var(--paper)}
.cstep.is-on .cstep__icon{color:#f0d9b8}
.cstep.is-on h3{color:var(--paper)}
.cstep.is-on p{color:var(--paper)}
@media(max-width:760px){.cproc__rail{display:none}.cproc__cards{grid-template-columns:1fr;gap:16px;position:relative;padding-left:34px}.cproc__cards::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:var(--line);border-radius:2px}.cproc__cards::after{content:"";position:absolute;left:11px;top:14px;width:2px;height:calc((100% - 28px) * var(--cp,0));background:var(--terra);border-radius:2px;transition:height .12s linear}.cstep__card{text-align:left}.cstep__icon{margin-left:0}}
/* composició · frase amb imatge de fons */
.ccstate{position:relative;min-height:clamp(360px,58vh,600px);display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;color:var(--paper)}
.ccstate__bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.ccstate::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(43,36,28,.5),rgba(43,36,28,.64))}
.ccstate__in{max-width:840px;padding:clamp(48px,9vw,110px) var(--pad);text-align:center}
.ccstate__q{font-family:var(--sans);font-size:clamp(1.5rem,3vw,2.7rem);font-weight:600;letter-spacing:-.03em;line-height:1.18;margin:0;color:var(--paper)}
/* preguntes freqüents (acordió) */
.faq{border-top:1px solid var(--line)}
.faq__i{border-bottom:1px solid var(--line)}
.faq__i summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:clamp(18px,2.4vw,28px) 0;font-family:var(--sans);font-size:clamp(1.1rem,1.5vw,1.45rem);font-weight:600;letter-spacing:-.02em;color:var(--marro);
  transition:color .3s var(--ease)}
.faq__i summary::-webkit-details-marker{display:none}
.faq__i[open] summary{color:var(--terra)}
.faq__x{position:relative;flex:0 0 auto;width:18px;height:18px}
.faq__x::before,.faq__x::after{content:"";position:absolute;background:var(--terra);transition:transform .3s var(--ease-out-quart)}
.faq__x::before{left:0;top:8px;width:18px;height:2px}
.faq__x::after{left:8px;top:0;width:2px;height:18px}
.faq__i[open] .faq__x::after{transform:scaleY(0)}
.faq__a{padding:0 0 clamp(18px,2.4vw,28px);max-width:72ch}
.faq__a p{font-size:clamp(1rem,1.15vw,1.1rem);line-height:1.6;color:var(--marro-2);margin:0}
/* selector de pestanyes (xerrades · per a qui): pestanyes · imatge central · detalls */
.xtabs{display:grid;grid-template-columns:clamp(150px,19%,230px) minmax(0,1.05fr) 1fr;gap:clamp(26px,4vw,58px);align-items:stretch}
.xtabs__nav{display:flex;flex-direction:column;justify-content:flex-start}
.xtab{text-align:left;background:none;border:0;border-top:1px solid var(--line);cursor:pointer;
  padding:clamp(15px,1.9vw,22px) 0;display:flex;align-items:baseline;gap:11px;
  font-family:var(--sans);font-size:clamp(1.1rem,1.5vw,1.4rem);font-weight:600;letter-spacing:-.025em;color:var(--marro);opacity:.38;
  transition:opacity .35s var(--ease),color .35s var(--ease)}
.xtab:last-child{border-bottom:1px solid var(--line)}
.xtab__n{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;color:var(--terra)}
.xtab.is-on{opacity:1;color:var(--terra)}
.xtabs__media{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--beige)}
.ximg{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.04);
  transition:opacity .55s var(--ease-out-quart),transform .8s var(--ease-out-quart)}
.ximg.is-on{opacity:1;transform:none}
.ximg img{width:100%;height:100%;object-fit:cover;display:block}
.xtabs__stage{position:relative;display:flex;flex-direction:column;justify-content:flex-end}
.xpanel{display:none}
.xpanel.is-on{display:block;animation:xfade .5s var(--ease-out-quart)}
@keyframes xfade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.xpanel h3{font-family:var(--sans);font-size:clamp(1.4rem,2vw,1.9rem);font-weight:600;letter-spacing:-.025em;margin:0 0 clamp(12px,1.4vw,16px);color:var(--marro)}
.xpanel p{font-size:clamp(1rem,1.15vw,1.1rem);line-height:1.6;color:var(--marro-2);margin:0;max-width:42ch}
@media(max-width:900px){
  .xtabs{grid-template-columns:1fr;gap:22px}
  .xtabs__nav{flex-direction:row;flex-wrap:nowrap;gap:6px}
  .xtab{flex:1 1 0;min-width:0;justify-content:center;align-items:center;text-align:center;white-space:nowrap;border:1px solid var(--line);border-radius:30px;padding:9px 8px;font-size:clamp(.72rem,2.7vw,.98rem)}
  .xtabs__media{aspect-ratio:16/10}
}

/* ============================================================
   STATEMENT block
   ============================================================ */
.statement{background:var(--terra);color:var(--paper);padding:clamp(80px,12vw,150px) var(--pad);position:relative;overflow:hidden}
.statement__in{max-width:var(--wrap);margin:0 auto;position:relative;z-index:2}
.statement .kicker{color:rgba(249,244,233,.7);margin-bottom:26px;display:block}
.statement__text{font-size:clamp(1.8rem,4.4vw,3.4rem);font-weight:700;line-height:1.08;letter-spacing:-.03em;max-width:24ch}
.statement__text em{font-style:normal;color:var(--marro)}
.statement__trac{position:absolute;right:-4%;bottom:-20%;width:46%;opacity:.12;z-index:1;filter:invert(1)}

/* FILOSOFIA · split editorial (imatge gran + text) */
.split-ed{display:grid;grid-template-columns:1fr 1.08fr;min-height:min(86vh,780px);align-items:stretch}
.split-ed__text{display:flex;flex-direction:column;justify-content:center;gap:clamp(16px,2.2vw,26px);
  padding:clamp(56px,8vw,120px) clamp(24px,5vw,80px);background:var(--paper)}
.split-ed__text .kicker{color:var(--terra)}
.split-ed__lead{font-family:var(--sans);font-size:clamp(1.5rem,2.9vw,2.5rem);line-height:1.16;letter-spacing:-.025em;
  font-weight:600;color:var(--marro);max-width:18ch}
.split-ed__lead em{font-style:normal;color:var(--terra)}
.split-ed__body{max-width:34ch;color:var(--marro-2);font-size:1.02rem;line-height:1.6}
.split-ed__media{margin:0;overflow:hidden;position:relative;background:var(--beige)}
.split-ed__media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block;
  transform:scale(1.06);transition:transform 1.6s var(--ease-out-quart)}
.split-ed__media.in img{transform:scale(1)}
@media(max-width:820px){.split-ed{grid-template-columns:1fr}.split-ed__media{aspect-ratio:4/5}}

/* ============================================================
   CONSULTA — big numbers, dynamic list
   ============================================================ */
/* banda near-white a tota amplada */
.consulta{position:relative;isolation:isolate}
.consulta::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);
  background:var(--paper2);z-index:-1}
/* capçalera de secció reutilitzable (etiqueta ✳ + titular) */
.sechead{display:grid;grid-template-columns:clamp(120px,24%,240px) 1fr;gap:clamp(24px,5vw,80px);
  align-items:start;margin-bottom:clamp(38px,5.5vw,68px)}
.sechead .what__label{padding-top:.5em}
.sechead .display{margin:0}
@media(max-width:720px){.sechead{grid-template-columns:1fr;gap:14px}.sechead .what__label{padding-top:0}}
.services{display:grid;gap:0;border-top:1px solid var(--line)}
.service{position:relative;display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:center;
  padding:34px 10px;border-bottom:1px solid var(--line);cursor:pointer;
  transition:padding-left .5s var(--ease),color .4s,opacity .45s var(--ease)}
.service__num{font-family:var(--mono);font-size:1rem;color:var(--terra)}
.service__body{max-width:60ch}
.service h3{font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:600;letter-spacing:-.03em;margin-bottom:8px;transition:color .4s}
.service p{color:var(--marro-2);font-size:1rem;max-width:52ch;opacity:0;max-height:0;overflow:hidden;
  transition:opacity .5s var(--ease),max-height .5s var(--ease),margin .5s}
.service__tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:100px;padding:6px 13px;color:var(--marro-2);transition:.4s;white-space:nowrap}
.service:hover{padding-left:26px}
.service:hover h3{color:var(--terra)}
.service:hover p{opacity:1;max-height:140px;margin-top:10px}
.service:hover .service__tag{border-color:var(--terra);color:var(--terra)}
/* spotlight: la resta s'atenua */
.services:hover .service{opacity:.42}
.services:hover .service:hover{opacity:1}
.consulta__more{margin-top:clamp(24px,3vw,40px);font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;color:var(--marro-2)}

/* TESTIMONIS · cita esquerra + imatge dreta (fons beige més fosc) */
.testi{position:relative;padding:clamp(46px,6vw,92px) var(--pad);background:#f3e9d7}
.testi__in{max-width:var(--wrap);margin:0 auto}
.testi .what__label{color:var(--marro-2)}
.testi__head{margin-bottom:clamp(20px,2.8vw,40px)}
.testi__label{display:block;margin-bottom:clamp(12px,1.6vw,20px)}
.testi__title{font-family:var(--sans);font-size:clamp(1.75rem,3.6vw,3.05rem);font-weight:700;
  letter-spacing:-.032em;line-height:1.03;color:var(--marro)}
/* llista editorial de cites */
.testi__list{list-style:none;margin:0;padding:0}
.tq{display:grid;grid-template-columns:minmax(140px,.24fr) 1fr;gap:clamp(14px,4vw,66px);
  align-items:baseline;padding:clamp(26px,3.4vw,44px) 0;border-top:1px solid var(--line)}
.tq:last-child{border-bottom:1px solid var(--line)}
.tq__who{display:flex;flex-direction:column;gap:5px}
.tq__name{position:relative;font-family:var(--sans);font-size:clamp(1rem,1.15vw,1.12rem);
  font-weight:700;letter-spacing:-.01em;color:var(--marro)}
.tq__name::before{content:"—";color:var(--terra);margin-right:8px}
.tq__role{font-family:var(--mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--marro-2)}
.tq__quote{margin:0}
.tq__quote p{margin:0;font-family:var(--sans);font-size:clamp(1.3rem,2.4vw,2.05rem);
  font-weight:500;line-height:1.34;letter-spacing:-.02em;color:var(--marro);text-wrap:balance}
@media(max-width:720px){
  .tq{grid-template-columns:1fr;gap:14px}
  .tq__who{order:2}
  .tq__name::before{content:none}
  .tq__quote p{font-size:clamp(1.25rem,5.5vw,1.6rem)}
}

/* ===== Testimonis carrusel · foto fixa (2 versions) ===== */
.tcard{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,24px);align-items:stretch}
.tcard__media{position:relative;overflow:hidden;background:var(--beige);min-height:clamp(340px,42vw,540px)}
.tcard__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tcard__panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,60px)}
.tcard__stage{position:relative;min-height:clamp(235px,19vw,265px)}
/* la cita sortint desapareix a l'instant; només l'entrant fa fade (evita veure'n dues alhora) */
.tq2{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
  opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none}
.tq2.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto;
  transition:opacity .5s var(--ease-out-quart),transform .5s var(--ease-out-quart)}
.tq2 p{margin:0 0 clamp(20px,2.4vw,32px);font-family:var(--sans);
  font-size:clamp(1.3rem,1.7vw,1.7rem);font-weight:600;line-height:1.32;letter-spacing:-.02em}
.tq2__name{font-family:var(--sans);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;line-height:1.3}
.tq2__role{display:block;margin-top:3px;font-family:var(--mono);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}
.tq2__stars{display:block;margin-top:8px;color:#dda23a;letter-spacing:.16em;font-size:.98rem}
.tcard__dots{display:flex;align-items:center;gap:10px;margin-top:clamp(26px,3vw,40px)}
.tcard__dots button{width:10px;height:3px;padding:0;border:0;border-radius:1px;cursor:pointer;flex:0 0 auto;
  background:rgba(43,36,28,.24);transition:width .45s var(--ease-out-quart),background .35s}
.tcard__dots button.is-active{width:30px;background:var(--terra)}
.tcard__nav{display:flex;gap:12px;margin-top:clamp(24px,2.8vw,38px)}
.tcard__nav button{width:46px;height:46px;flex:0 0 auto;border:0;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;transition:transform .3s var(--ease-out-quart),background .3s,color .3s}
.tcard__nav svg{width:19px;height:19px}
/* --- Versió A: panell de color (terracota) --- */
.testiA .tcard__media,.testiA .tcard__panel{border-radius:6px}
.testiA .tcard__panel{background:var(--terra);color:var(--paper)}
.testiA .tq2__role{color:rgba(249,244,233,.62)}
.testiA .tcard__nav button{background:var(--marro);color:var(--paper)}
.testiA .tcard__nav button:hover{background:var(--marro-2);transform:translateY(-2px)}
/* --- Versió B: foto i bloc igual d'alts, bloc superposat que flota --- */
.testiB .tcard{display:block;grid-template-columns:none;gap:0;position:relative;
  height:clamp(430px,47vw,570px)}
.testiB .tcard__media{position:absolute;left:0;top:0;width:62%;height:100%;
  min-height:0;border-radius:6px;overflow:hidden}
.testiB .tcard__panel{position:absolute;right:0;top:0;width:44%;height:100%;
  background:var(--paper);color:var(--marro);border-radius:6px;
  box-shadow:0 30px 55px -30px rgba(43,36,28,.38)}
.testiB .tcard__panel::before{content:"\201C";display:block;font-family:Georgia,serif;
  font-size:clamp(3.2rem,5vw,4.6rem);line-height:.7;color:var(--terra);margin-bottom:clamp(10px,1.4vw,18px)}
.testiB .tq2__role{color:var(--marro-2)}
.testi__gmore{display:block;text-align:center;margin-top:clamp(22px,3vw,40px);font-family:var(--mono);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--terra-dk);text-decoration:none;transition:color .25s var(--ease)}
.testi__gmore span{display:inline-block;transition:transform .3s var(--ease-out-quart)}
.testi__gmore:hover{color:var(--terra-dk)}
.testi__gmore:hover span{transform:translateX(5px)}
.legaltxt{max-width:74ch;font-family:var(--sans);font-size:clamp(.96rem,1.02vw,1.05rem);line-height:1.72;color:var(--marro-2)}
.legaltxt p{margin:0 0 1em}
.legaltxt h3{font-family:var(--sans);font-size:1.06rem;font-weight:600;letter-spacing:-.01em;color:var(--marro);margin:1.5em 0 .5em}
.legaltxt ul{margin:.2em 0 1em;padding-left:1.15em}
.legaltxt li{margin:.3em 0}
.legaltxt a{color:var(--terra);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s var(--ease)}
.legaltxt a:hover{border-bottom-color:var(--terra)}
.legaltxt .pend{color:var(--terra)}
.legal-updated{margin-top:clamp(30px,4vw,54px);font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--marro-2);opacity:.8}
.cookiebar{position:fixed;left:clamp(18px,2vw,30px);bottom:clamp(18px,2vw,30px);z-index:200;width:min(400px,calc(100vw - 36px));background:var(--marro);color:var(--paper);padding:22px 24px 20px;display:flex;flex-direction:column;align-items:stretch;gap:15px;border-radius:12px;transform:translateY(calc(100% + 40px));opacity:0;transition:transform .55s var(--ease-out-quart),opacity .4s var(--ease);box-shadow:0 24px 60px -26px rgba(43,36,28,.7)}
.cookiebar.is-on{transform:translateY(0);opacity:1}
.cookiebar__txt{font-family:var(--sans);font-size:.86rem;line-height:1.55;margin:0;color:rgba(249,244,233,.9)}
.cookiebar__txt a{color:#f0d9b8;text-decoration:underline;text-underline-offset:2px}
.cookiebar__actions{display:flex;gap:10px}
.cookiebar__btn{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:10px 18px;border-radius:30px;cursor:pointer;border:1px solid transparent;white-space:nowrap;flex:1;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.cookiebar__btn--accept{background:var(--paper);color:var(--marro)}
.cookiebar__btn--accept:hover{background:var(--terra);color:var(--paper)}
.cookiebar__btn--reject{background:transparent;color:var(--paper);border-color:rgba(249,244,233,.4)}
.cookiebar__btn--reject:hover{border-color:var(--paper)}
@media(max-width:600px){.cookiebar{left:0;right:0;bottom:0;width:auto;border-radius:0;padding:18px var(--pad);transform:translateY(101%)}.cookiebar.is-on{transform:translateY(0)}}
.testiB .tcard__nav button{background:var(--marro);color:var(--paper)}
.testiB .tcard__nav button:hover{background:var(--terra);transform:translateY(-2px)}
@media(max-width:760px){
  .tcard{grid-template-columns:1fr}
  .tcard__media{min-height:clamp(240px,60vw,360px)}
  .testiA .tcard__media{border-radius:6px 6px 0 0}
  .testiA .tcard__panel{border-radius:0 0 6px 6px}
  .testiB .tcard{height:auto}
  .testiB .tcard__media{position:relative;width:100%;height:clamp(260px,64vw,400px)}
  .testiB .tcard__panel{position:relative;right:auto;top:auto;width:min(92%,560px);height:auto;
    margin:-46px auto 0;border-radius:6px}
  .testiB .tcard__stage{min-height:clamp(215px,58vw,265px)}
  .testiB .tq2 p{font-size:clamp(1.05rem,4.4vw,1.3rem);margin-bottom:clamp(14px,3vw,20px);line-height:1.32}
}

/* COM TREBALLEM · timeline horitzontal dibuixat amb remolí */
.proces__head{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,80px);align-items:start;
  margin-bottom:clamp(54px,7vw,96px)}
.proces__headL .what__label{display:block;margin-bottom:clamp(14px,2vw,22px)}
.proces__headL .display{margin:0;font-size:clamp(1.55rem,2.5vw,2.35rem);font-weight:600;letter-spacing:-.028em;line-height:1.1}
.proces__headL .display em{font-weight:600;color:inherit}
.proces__note{color:var(--marro-2);font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.6;max-width:40ch}
@media(max-width:820px){.proces__head{grid-template-columns:1fr;gap:18px;align-items:start}}

.hrail{position:relative}
.hrail__line{position:relative;height:64px;margin:0 0 clamp(30px,4vw,54px)}
.hrail__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hrail__base{fill:none;stroke:var(--line);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.hrail__paint{fill:none;stroke:var(--terra);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.hrail__word{position:absolute;top:4px;z-index:2;
  font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--marro-2)}
.hrail__word--l{left:0}
.hrail__word--r{right:0}
.hrail__wheel{position:relative;height:clamp(198px,21vw,250px)}
.hstep{position:absolute;top:0;left:50%;transform:translateX(-50%);width:clamp(210px,31%,420px);height:100%;
  display:flex;flex-direction:column;gap:clamp(10px,1.2vw,15px);cursor:pointer;
  transition:left 1.1s var(--ease-out-quart),transform 1.1s var(--ease-out-quart),opacity .6s var(--ease-out-quart)}
.hstep__card{position:relative;flex:1;min-height:0;border-radius:4px;background:var(--paper2);border:1px solid var(--line);
  padding:clamp(20px,2vw,30px) clamp(14px,1.5vw,20px) clamp(16px,1.6vw,22px);
  display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden;
  transition:background .75s var(--ease-out-quart),border-color .75s,box-shadow .75s}
.hstep__n{position:absolute;top:12px;left:13px;font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;color:var(--marro-2)}
.hstep__icon{margin:clamp(4px,.6vw,10px) 0 clamp(14px,1.6vw,20px);color:var(--terra);
  width:clamp(34px,3.3vw,42px);height:clamp(34px,3.3vw,42px)}
.hstep__icon svg{width:100%;height:100%;display:block}
.hstep__body{flex:1;display:flex;flex-direction:column;justify-content:center}
.hstep h3{font-family:var(--sans);font-size:clamp(1.02rem,1.25vw,1.28rem);font-weight:600;letter-spacing:-.02em;margin:0 0 8px;line-height:1.15}
.hstep p{margin:0;color:var(--marro-2);font-size:.8rem;line-height:1.48}
.hstep.is-on{transform:translateX(-50%) scale(1.06);z-index:3}
.hstep.is-on .hstep__card{background:var(--terra);border-color:var(--terra);box-shadow:0 26px 50px -26px rgba(170,86,53,.6)}
.hstep.is-on .hstep__n{color:var(--paper)}
.hstep.is-on .hstep__icon{color:#f0d9b8}
.hstep.is-on h3{color:var(--paper)}
.hstep.is-on p{color:var(--paper)}
.hrail__nav{display:flex;gap:clamp(28px,4vw,52px);justify-content:center;margin-top:clamp(26px,3.2vw,44px)}
.hrail__arrow{border:0;background:transparent;padding:6px 4px;color:var(--marro-2);
  display:grid;place-items:center;cursor:pointer;transition:color .3s,transform .35s var(--ease-out-quart)}
.hrail__arrow:hover{color:var(--marro)}
.hrail__arrow[data-hrail-prev]:hover{transform:translateX(-4px)}
.hrail__arrow[data-hrail-next]:hover{transform:translateX(4px)}
.hrail__arrow svg{width:auto;height:23px}
/* fletxes per als carrusels amb scroll natiu (tarifes) — només mòbil */
.tcar-nav{display:none}
.hrail__arrow[data-scroll-prev]:hover{transform:translateX(-4px)}
.hrail__arrow[data-scroll-next]:hover{transform:translateX(4px)}
@media(max-width:640px){.tcar-nav{display:flex;gap:clamp(30px,12vw,52px);justify-content:center;margin-top:16px}}
@media(max-width:820px){
  .hrail__wheel{height:clamp(300px,76vw,392px)}
  .hstep{width:74%}
  .hstep h3{font-size:1.14rem}
  .hstep p{font-size:.9rem;line-height:1.5}
}

/* CONSULTA · punts amb estat actiu (pin) */
.cimm{position:relative;isolation:isolate}
.cimm__pin{position:relative;overflow:hidden;color:var(--paper);background:var(--terra);
  margin:clamp(9px,1vw,15px);border-radius:6px;padding:clamp(46px,6.5vw,100px) var(--pad)}
.cimm__inner{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;width:100%}
.cimm__head{margin-bottom:clamp(12px,1.8vw,24px)}
.cimm__head .what__label{color:var(--paper)}
.cimm__head .what__mark{color:inherit}
.cimm__lead{font-family:var(--sans);font-size:clamp(1.35rem,2.5vw,2.15rem);font-weight:600;letter-spacing:-.025em;
  line-height:1.16;margin-top:clamp(12px,1.6vw,20px);max-width:22ch;color:var(--paper)}
.cimm__viewport{position:relative}
.cimm__list{position:relative;display:flex;flex-direction:column}
.cpt{display:block;color:inherit;border-top:1px solid rgba(249,244,233,.26)}
.cpt:last-child{border-bottom:1px solid rgba(249,244,233,.26)}
/* fila: imatge a l'esquerra (creix suau amb el contingut actiu) + textos alineats a dalt a la dreta */
.cpt__row{display:grid;grid-template-columns:1.1fr 1.1fr .82fr;
  grid-template-areas:"img title desc" "img title go";
  column-gap:clamp(20px,3vw,50px);align-items:start;
  padding:clamp(14px,1.8vw,24px) 0}
.cpt__img{grid-area:img;justify-self:start;align-self:start;margin:0;width:clamp(80px,6.5vw,102px);height:clamp(80px,6.5vw,102px);
  border-radius:2px;overflow:hidden;background:rgba(0,0,0,.14);
  transition:width .6s var(--ease-out-quart),height .6s var(--ease-out-quart)}
.cpt.is-on .cpt__img{width:100%;height:clamp(210px,25vw,320px)}
.cpt__img img{width:100%;height:100%;object-fit:cover;display:block}
.cpt__title{grid-area:title;font-family:var(--sans);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0;
  font-size:clamp(1.12rem,1.45vw,1.45rem);color:var(--paper);opacity:.58;
  transition:font-size .6s var(--ease-out-quart),opacity .5s var(--ease)}
.cpt.is-on .cpt__title{font-size:clamp(1.7rem,3vw,2.7rem);opacity:1}
.cpt__desc{grid-area:desc;margin:0;color:var(--paper);line-height:1.4;max-width:42ch;
  font-size:clamp(1rem,1.3vw,1.28rem);opacity:0;max-height:0;overflow:hidden;
  transition:opacity .55s var(--ease-out-quart),max-height .65s var(--ease-out-quart),margin .55s var(--ease-out-quart)}
.cpt.is-on .cpt__desc{opacity:.92;max-height:8em;margin-top:clamp(8px,1vw,15px)}
.cpt__go{grid-area:go;display:inline-flex;align-items:center;gap:8px;width:max-content;
  padding:0 8px 5px 0;border-bottom:1.5px solid transparent;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--paper);
  opacity:0;max-height:0;overflow:hidden;
  transition:opacity .55s var(--ease-out-quart),max-height .55s var(--ease-out-quart),gap .35s var(--ease-out-quart),color .3s var(--ease),border-color .3s var(--ease),margin .55s var(--ease-out-quart)}
.cpt.is-on .cpt__go{opacity:.9;max-height:44px;margin-top:clamp(10px,1.2vw,16px)}
.cpt__go span{transition:transform .35s var(--ease-out-quart)}
.cpt:hover .cpt__go{gap:14px;opacity:1;color:#fff;border-bottom-color:#fff}
.cpt:hover .cpt__go span{transform:translateX(4px)}
.cimm__note{flex:0 0 auto;margin-top:clamp(16px,2vw,28px);font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;color:var(--paper)}
@media(max-width:820px){
  .cimm{height:auto}
  .cimm__pin{position:static;min-height:0;display:block;padding:clamp(44px,9vw,72px) var(--pad)}
  .cimm__viewport{overflow:visible}
  .cimm__list{transform:none!important}
  /* mòbil: imatge petita esquerra, títol dreta, botó sota títol, descripció a sota, línia de separació */
  .cimm__lead{font-size:clamp(1.14rem,4.8vw,1.5rem);line-height:1.25}
  .cimm__head{margin-bottom:clamp(20px,5vw,30px)}
  .cpt__row{grid-template-columns:clamp(104px,31vw,144px) 1fr;
    grid-template-areas:"img title" "img go" "desc desc";
    column-gap:clamp(15px,4.4vw,22px);row-gap:10px;align-items:start;padding:clamp(30px,8vw,42px) 0}
  .cpt__img,.cpt.is-on .cpt__img{width:100%;height:auto;aspect-ratio:4/3;align-self:start}
  .cpt__title,.cpt.is-on .cpt__title{font-size:clamp(1.12rem,4.8vw,1.36rem);opacity:1}
  .cpt__desc,.cpt.is-on .cpt__desc{opacity:1;max-height:none;overflow:visible;margin-top:clamp(14px,4vw,18px);
    font-size:clamp(.9rem,3.6vw,.98rem);line-height:1.5;max-width:none;color:var(--paper)}
  .cpt__go,.cpt.is-on .cpt__go{opacity:1;max-height:none;overflow:visible;margin-top:9px}
}

/* serveis · explorador de marca (índex + panell degradat) */
.svc-x{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:stretch}
.svc-x__nav{display:flex;flex-direction:column;justify-content:center}
.svc-x__t{text-align:left;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;
  padding:clamp(12px,1.6vw,22px) 0;font-family:var(--sans);font-size:clamp(1.55rem,2.9vw,2.6rem);font-weight:600;
  letter-spacing:-.025em;line-height:1.06;color:var(--marro);opacity:.34;
  display:flex;align-items:baseline;gap:16px;transition:opacity .45s var(--ease),color .45s var(--ease)}
.svc-x__t:last-child{border-bottom:0}
.svc-x__t span{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--terra);opacity:.75}
.svc-x__t.is-active{opacity:1;color:var(--terra)}
.svc-x__panel{position:relative;overflow:hidden;border-radius:6px;min-height:clamp(300px,30vw,400px);
  color:var(--paper);background:linear-gradient(158deg,#2b241c 0%,#7a3c22 26%,#aa5635 52%,#c07d4c 74%,#7caac4 118%)}
.svc-x__logo{position:absolute;top:clamp(26px,3vw,44px);left:clamp(28px,3vw,52px);width:clamp(96px,12vw,150px);height:auto;opacity:.92;z-index:1}
.svc-x__slide{position:absolute;left:clamp(28px,3vw,52px);right:clamp(28px,3vw,52px);bottom:clamp(28px,3vw,52px);
  opacity:0;transform:translateY(14px);pointer-events:none;display:flex;flex-direction:column;gap:14px;
  transition:opacity .55s var(--ease-out-quart),transform .55s var(--ease-out-quart)}
.svc-x__slide.is-active{opacity:1;transform:none;pointer-events:auto}
.svc-x__tag{align-self:flex-start;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid rgba(249,244,233,.5);border-radius:100px;padding:6px 13px;color:var(--paper)}
.svc-x__slide p{margin:0;font-family:var(--sans);font-size:clamp(1.15rem,1.6vw,1.5rem);line-height:1.45;
  font-weight:500;letter-spacing:-.01em;color:var(--paper);max-width:36ch}
@media(max-width:820px){.svc-x{grid-template-columns:1fr;gap:20px}.svc-x__panel{min-height:clamp(280px,64vw,360px)}}
@media(max-width:720px){
  .service{grid-template-columns:44px 1fr;padding:26px 2px}
  .service__tag{grid-column:2;justify-self:start;margin-top:12px}
  .service p{opacity:1;max-height:none;margin-top:10px}
  .service:hover{padding-left:2px}
}

/* ============================================================
   QUESTIONS
   ============================================================ */
.questions .eyebrow,.questions .kicker{display:block;margin-bottom:30px;color:var(--terra)}
.questions__list{display:grid;gap:4px;font-size:clamp(1.8rem,5vw,4rem);font-weight:600;letter-spacing:-.04em;line-height:1.04}
.questions__list span{color:var(--marro)}
.js .questions__list span{opacity:.24}
.questions__list span.in{opacity:1;transition:opacity .6s var(--ease)}
.questions__list em{font-style:normal;color:var(--terra)}
.questions__answer{font-size:clamp(1.5rem,3.4vw,2.4rem);font-weight:700;margin-top:26px}
.questions__answer em{font-style:normal;color:var(--terra)}

/* ============================================================
   METODE (dark)
   ============================================================ */
.section-dark{background:var(--marro);color:var(--paper);position:relative;overflow:hidden}
.section-dark__in{max-width:var(--wrap);margin:0 auto;padding:clamp(80px,11vw,150px) var(--pad);position:relative;z-index:2}
.metode__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,90px);align-items:start}
.steps{list-style:none;display:grid;gap:0;border-top:1px solid var(--line-dk)}
.step{display:grid;grid-template-columns:44px 1fr;gap:20px;padding:28px 8px;border-bottom:1px solid var(--line-dk);
  align-items:baseline;transition:padding-left .5s var(--ease)}
.step:hover{padding-left:16px}
.step__n{font-family:var(--mono);color:var(--terra);font-size:.9rem}
.step h4{font-size:1.5rem;margin-bottom:6px}
.step p{color:var(--paper);font-size:1rem}
.section-dark__trac{position:absolute;left:-3%;top:8%;width:38%;opacity:.07;z-index:1;filter:invert(1)}

/* ============================================================
   CTA
   ============================================================ */
.cta__card{position:relative;text-align:center;padding:clamp(48px,7vw,96px) var(--pad);color:var(--marro)}
.cta .eyebrow,.cta .kicker{color:var(--terra);margin-bottom:20px;display:block}
.cta__title{color:var(--marro);font-size:clamp(2.4rem,6.6vw,4.8rem);font-weight:600;letter-spacing:-.04em;line-height:.98;margin-bottom:22px}
.cta__title em{font-style:normal;color:var(--terra)}
.cta__sub{color:var(--marro-2);font-size:clamp(1rem,1.3vw,1.15rem);max-width:44ch;margin:0 auto 36px}
.cta__mark{position:absolute;right:-30px;bottom:-40px;width:280px;opacity:.12}
/* contacte dins del CTA */
.cta__contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(14px,2.4vw,34px);
  width:100%;max-width:620px;margin:clamp(40px,5vw,66px) auto 0;padding-top:clamp(28px,3.5vw,44px);
  border-top:1px solid var(--line)}
.cta__email{position:relative;font-family:var(--mono);font-size:.84rem;letter-spacing:.01em;color:var(--marro)}
.cta__email::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1.5px;background:var(--terra);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out-quart)}
.cta__email:hover::after{transform:scaleX(1)}
.cta__loc{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--marro-2)}
.cta__social{margin-top:0}
.cta__social a{color:var(--marro)}
.cta__social a:hover{color:var(--terra)}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--paper);padding:clamp(9px,1vw,15px)}
.footer__frame{position:relative;color:var(--paper);border-radius:6px;overflow:hidden;padding:clamp(38px,4.6vw,62px) var(--pad) clamp(22px,2vw,28px);
  background:linear-gradient(158deg,#2b241c 0%,#7a3c22 26%,#aa5635 52%,#c07d4c 74%,#7caac4 128%)}
/* footer que "puja": queda fix darrere i el contingut el destapa en fer scroll */
@media(min-width:821px){
  main{position:relative;z-index:1;background:var(--paper);margin-bottom:380px}
  .footer{position:fixed;left:0;right:0;bottom:0;z-index:0}
}
/* mòbil: mateixa animació de "reveal" i que ocupi tota la pantalla (100dvh) */
@media(max-width:820px){
  main{position:relative;z-index:1;background:var(--paper);margin-bottom:90vh;margin-bottom:90dvh}
  .footer{position:fixed;left:0;right:0;bottom:0;z-index:0;height:90vh;height:90dvh;display:flex}
  .footer__frame{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,5vh,46px)}
}
.footer__k{position:absolute;right:-9%;bottom:-3%;width:min(46vw,500px);height:auto;opacity:.12;z-index:0;pointer-events:none}
.footer__big,.footer__cols,.footer__bottom{position:relative;z-index:1}
.footer__big{max-width:var(--wrap);margin:0 auto;padding-bottom:4px}
.footer__big img{width:min(44vw,360px)}
.footer__tag{margin:clamp(12px,1.5vw,18px) 0 0;font-family:var(--sans);font-size:clamp(.92rem,1.1vw,1.05rem);
  line-height:1.5;color:rgba(249,244,233,.82);max-width:44ch}
.footer__credit a{color:var(--paper);transition:color .3s}
.footer__credit a:hover{color:#f0d9b8}
.footer__cols{max-width:var(--wrap);margin:clamp(24px,3vw,34px) auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.footer__cols h3{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#f0d9b8;margin-bottom:12px;font-weight:500}
.footer__cols a,.footer__cols span{display:block;font-size:.95rem;color:rgba(249,244,233,.82);margin-bottom:8px;transition:color .3s}
.footer__cols a:hover{color:var(--paper)}
.footer .social-icons a{color:var(--paper)}
.footer .social-icons a:hover{color:#f0d9b8}
.footer__bottom{max-width:var(--wrap);margin:clamp(24px,3vw,40px) auto 0;padding-top:clamp(18px,2vw,26px);
  border-top:1px solid rgba(249,244,233,.22);display:flex;justify-content:space-between;gap:16px 40px;flex-wrap:wrap;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(249,244,233,.7)}
.footer__legal{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 7px}
@media(max-width:600px){
  .footer__frame{padding:46px var(--pad) 20px}
  .footer__big img{width:min(46vw,178px)}
  .footer__tag{font-size:.9rem;line-height:1.45;margin-top:10px}
  .footer__cols{gap:14px 20px;margin-top:20px}
  .footer__cols a,.footer__cols span{font-size:.9rem;margin-bottom:6px}
  .footer__bottom{margin-top:18px;padding-top:15px}
}

/* ---------- reveal ---------- */
.reveal{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal{opacity:0;transform:translateY(32px)}
.reveal.in{opacity:1;transform:none}

/* ---------- TEXT REVEAL · pujada amb màscara (sense fade ni blur) ---------- */
.tr .w{display:inline-block;vertical-align:top;overflow:hidden;
  padding:.1em .03em .16em;margin:-.1em -.03em -.16em}
.tr .w>span{display:inline-block;will-change:transform}
.js .tr .w>span{transform:translateY(130%);transition:transform .9s var(--ease-out-quart)}
.tr.in .w>span{transform:none}

/* ---------- INTRO loader (circular reveal) ---------- */
.intro{position:fixed;inset:0;z-index:400;background:var(--marro);display:grid;place-items:center;
  clip-path:circle(150% at 50% 52%)}
.intro img{width:78px;opacity:.95;animation:introPulse 1.3s var(--ease) infinite alternate}
.intro.done{clip-path:circle(0% at 50% 52%);transition:clip-path 1.05s var(--ease);pointer-events:none}
@keyframes introPulse{from{transform:scale(.9);opacity:.5}to{transform:scale(1);opacity:1}}
/* ---------- page transition overlay (cover + reveal) ---------- */
.pgt{position:fixed;inset:0;z-index:600;pointer-events:auto;visibility:visible}
.pgt__bg{position:absolute;inset:0;background:var(--marro);animation:pgtBgSafety .1s linear 2.8s forwards}
@keyframes pgtBgSafety{to{opacity:0}}
.pgt>img{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);height:clamp(58px,8.5vh,94px);width:auto;opacity:1;z-index:1}
html.pgt-nav .pgt__bg{animation:none}
html.pgt-nav .pgt>img{display:none}
html:not(.js) .pgt{display:none}
.js body{}
.js.loading{overflow:hidden}

/* ---------- refined BUTTON (fill + arrow) ---------- */
.pill{position:relative;overflow:hidden;isolation:isolate}
.pill>span{position:relative;z-index:2;display:inline-flex;align-items:center;gap:9px}
.pill::before{content:"";position:absolute;inset:0;z-index:1;background:var(--terra);
  transform:translateY(100%);border-radius:inherit;transition:transform .5s var(--ease)}
.pill:hover::before{transform:translateY(0)}
.pill--ghost::before{background:var(--marro)}
.pill--light::before{background:var(--beige)}
.pill .ar{transition:transform .5s var(--ease)}
.pill:hover .ar{transform:translateX(5px)}

/* ---------- MENU (full-screen, circular reveal) ---------- */
.menu-btn{display:inline-flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;
  font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--marro);z-index:210}
.menu-btn__i{display:inline-flex;flex-direction:column;gap:5px}
.menu-btn__i i{width:22px;height:2px;background:var(--marro);transition:.4s var(--ease)}
body.menu-open .menu-btn{color:var(--paper)}
body.menu-open .menu-btn__i i{background:var(--paper)}
body.menu-open .menu-btn__i i:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
body.menu-open .menu-btn__i i:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
body.menu-open .menu-btn .menu-btn__t::after{content:"Tanca"}
.menu-btn__t{position:relative}
body.menu-open .menu-btn__t{font-size:0}
body.menu-open .menu-btn__t::after{font-size:.78rem}

.menu{position:fixed;inset:0;z-index:200;background:var(--marro);color:var(--paper);
  clip-path:circle(0% at calc(100% - 62px) 40px);pointer-events:none;transition:clip-path .85s var(--ease)}
body.menu-open .menu{clip-path:circle(150% at calc(100% - 62px) 40px);pointer-events:auto}
.menu__grid{max-width:var(--wrap);margin:0 auto;height:100%;display:grid;grid-template-columns:1.45fr .55fr;
  gap:40px;align-items:center;padding:120px var(--pad) 70px}
.menu__nav{display:grid;gap:4px}
.menu__nav a{display:flex;align-items:baseline;gap:22px;font-size:clamp(2.4rem,7vw,5.6rem);font-weight:800;
  letter-spacing:-.035em;line-height:1.04;color:var(--paper);transition:color .4s,padding-left .5s var(--ease)}
.menu__i{font-family:var(--mono);font-size:.9rem;font-weight:400;color:var(--terra);opacity:.85}
.menu__w{display:inline-block;overflow:hidden;padding-bottom:.04em}
.menu__w>span{display:inline-block;transform:translateY(115%);transition:transform .8s var(--ease)}
body.menu-open .menu__w>span{transform:none}
.menu__nav a:nth-child(1) .menu__w>span{transition-delay:.18s}
.menu__nav a:nth-child(2) .menu__w>span{transition-delay:.25s}
.menu__nav a:nth-child(3) .menu__w>span{transition-delay:.32s}
.menu__nav a:nth-child(4) .menu__w>span{transition-delay:.39s}
.menu__nav a:hover{color:var(--terra);padding-left:16px}
.menu__aside{display:grid;gap:24px;align-content:end;opacity:0;transform:translateY(14px);transition:opacity .5s .45s,transform .5s .45s}
body.menu-open .menu__aside{opacity:1;transform:none}
.menu__aside .kicker{display:block;margin-bottom:8px;color:rgba(249,244,233,.5)}
.menu__aside a{display:block;color:var(--beige);margin-bottom:6px}
.menu__aside a:hover{color:var(--terra)}
.menu__claim{font-size:1.05rem;color:var(--beige);line-height:1.3}

/* ===== header cta + text link ===== */
.header-cta{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--marro);
  padding:9px 0;position:relative}
.header-cta::after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1.5px;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.header-cta:hover::after{transform:scaleX(1)}
/* language switch (left) */
.lang-switch{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;pointer-events:auto}
.lang{background:none;border:0;padding:6px 1px;cursor:pointer;font:inherit;letter-spacing:.08em;text-transform:uppercase;
  color:var(--marro-2);transition:color .3s var(--ease)}
.lang.is-active{font-weight:600}
.lang:hover{color:var(--terra)}
/* sobre la imatge del hero (capçalera no scrollejada) → clar */
.site-header .lang{color:rgba(249,244,233,.72)}
.site-header .lang.is-active{color:var(--paper)}
.lang-sep{color:rgba(249,244,233,.4)}
/* en fer scroll (fons crema) → fosc */
.site-header.scrolled .lang{color:var(--marro-2)}
.site-header.scrolled .lang.is-active{color:var(--marro)}
.site-header.scrolled .lang-sep{color:var(--line)}
/* menú obert (drawer crema) → idioma fosc perquè es llegeixi */
body.drawer-open .site-header .lang{color:var(--marro-2)}
body.drawer-open .site-header .lang.is-active{color:var(--marro)}
body.drawer-open .site-header .lang-sep{color:var(--line)}
.text-link{display:inline-flex;align-items:center;gap:9px;font-weight:600;color:var(--marro);font-size:1rem}
.text-link span{transition:transform .4s var(--ease)}
.text-link:hover{color:var(--terra)}
.text-link:hover span{transform:translateX(6px)}

/* ===== real photos (override placeholders) ===== */
.photo{position:relative;overflow:hidden;border-radius:6px;background:var(--beige);isolation:isolate}
.photo::before{display:none}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);z-index:0}
.photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(43,36,28,0) 55%,rgba(43,36,28,.5));mix-blend-mode:normal;opacity:1}
.photo .cap{z-index:2}
.photo:hover img{transform:scale(1.04)}
.hero__photo{aspect-ratio:4/5;transform:none}
.hero__photo .cap{left:16px;right:auto}
.person__photo{aspect-ratio:4/5;margin-bottom:16px}
.person:nth-child(1) .person__photo,.person:nth-child(2) .person__photo{transform:none}
.person__meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.person__meta h3{margin:0;font-size:1.6rem}
.person__meta .kicker{font-size:.68rem}

/* ===== NAVIGATION DRAWER (details.so section-03, recolorat) ===== */
.navigation-drawer{position:fixed;inset:0;z-index:300;pointer-events:none;color:var(--marro)}
.nav-toggle{position:relative;z-index:2;pointer-events:auto;cursor:pointer;color:var(--marro);
  background:var(--paper);border:1px solid var(--line);width:106px;height:44px;border-radius:9999px;overflow:hidden;
  transition:width .6s var(--ease-out-quart),background .4s,color .4s,border-color .4s}
body.drawer-open .site-header{z-index:340}
.nav-toggle .toggle-label{position:absolute;top:50%;left:20px;transform:translateY(-50%);font-family:var(--mono);
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500}
.nav-toggle .label-wrap{height:1.2em;display:block;overflow:hidden}
.nav-toggle .label{display:block;transition:transform .55s var(--ease-out-quart)}
.nav-toggle .label span{display:block;line-height:1.2}
.nav-toggle:hover .label{transform:translateY(-1.2em)}
/* roll suau (igual que el botó de menú): llisca i revela una còpia idèntica */
.roll{position:relative;display:inline-block;vertical-align:top}
.roll>span{display:block;transition:transform .45s var(--ease-out-quart)}
.roll>span:nth-child(2){display:none}
.roll:hover>span{transform:translateX(7px)}
.nav-toggle .toggle-mark{position:absolute;right:13px;top:50%;transform:translateY(-50%) rotate(45deg);
  width:20px;height:20px;display:grid;place-items:center;transition:transform .6s var(--ease-out-quart)}
.nav-toggle:hover .toggle-mark{transform:translateY(-50%) rotate(135deg)}
body.drawer-open .nav-toggle{background:var(--terra);color:var(--paper);border-color:var(--terra)}
body.drawer-open .nav-toggle .toggle-mark{transform:translateY(-50%) rotate(0deg)}
.drawer-layer{position:absolute;inset:0;pointer-events:none}
.shade{position:absolute;inset:0;background:rgba(43,36,28,.42);backdrop-filter:blur(10px);opacity:0;
  transition:opacity .6s var(--ease-out-quart);pointer-events:none;border:0;cursor:pointer}
body.drawer-open .shade{opacity:1;pointer-events:auto}
.panel{position:absolute;top:0;right:0;height:100vh;height:100dvh;width:min(560px,100%);background:var(--paper);
  clip-path:inset(0 0 0 100% round 24px 0 0 24px);transition:clip-path .7s var(--ease-out-quart);pointer-events:none;
  padding:104px clamp(28px,4vw,58px) 40px;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}
body.drawer-open .panel{clip-path:inset(0 round 24px 0 0 24px);pointer-events:auto}
.d-eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin-bottom:26px}
.link-stack{display:flex;flex-direction:column;gap:0;margin-bottom:auto}
.link-row{position:relative;display:flex;align-items:center;justify-content:space-between;
  font-family:var(--sans);font-size:clamp(1.35rem,3.1vw,2.05rem);font-weight:600;letter-spacing:-.025em;line-height:1.2;
  padding:clamp(8px,1.1vw,12px) 14px;margin-left:-14px;color:var(--marro);
  transition:color .4s var(--ease-out-quart),opacity .4s var(--ease-out-quart)}
.link-row>*{position:relative;z-index:1}
.item-reveal{display:block;overflow:hidden;transition:transform .55s var(--ease-out-quart)}
.link-row:hover .item-reveal{transform:translateX(16px)}
.item-reveal .item-label{display:block;transform:translateY(112%);transition:transform .7s var(--ease-out-quart) .1s}
body.drawer-open .item-label{transform:translateY(0)}
.link-row:hover,.link-row.is-current{color:var(--terra)}
/* spotlight: en passar pel menú, la resta s'apaga */
.link-stack:hover .link-row{color:rgba(43,36,28,.3)}
.link-stack:hover .link-row:hover{color:var(--terra)}
/* La consulta — bloc de subpàgines que es desplega en passar-hi per sobre */
.link-group{display:block}
.link-group>.link-row{width:100%}
.link-chev{margin-left:auto;display:inline-grid;place-items:center;color:var(--marro-2);opacity:.5;
  transition:transform .5s var(--ease-out-quart),opacity .3s,color .3s}
.link-chev svg{width:19px;height:19px}
.link-group:hover>.link-row .link-chev{transform:rotate(90deg);opacity:1;color:var(--terra)}
/* mantén el pare encès mentre s'és dins del grup, tot i l'apagat general */
.link-stack:hover .link-group:hover>.link-row{color:var(--terra)}
.link-mega{overflow:hidden;max-height:0;opacity:0;margin-left:6px;padding-left:20px;
  border-left:1px solid rgba(43,36,28,.16);display:flex;flex-direction:column;
  transition:max-height .55s var(--ease-out-quart),opacity .45s var(--ease-out-quart),
    margin-top .4s var(--ease-out-quart),margin-bottom .4s var(--ease-out-quart)}
.link-group:hover .link-mega{max-height:340px;opacity:1;margin-top:6px;margin-bottom:12px}
.link-mega__row{display:block;position:relative;font-family:var(--sans);
  font-size:clamp(1rem,1.4vw,1.18rem);font-weight:500;letter-spacing:-.012em;color:var(--marro-2);
  padding:8px 0;transition:color .3s,transform .35s var(--ease-out-quart)}
.link-mega__row:hover,.link-mega__row.is-current{color:var(--terra);transform:translateX(6px)}
/* touch (sense hover): el bloc queda sempre visible perquè l'estructura s'entengui */
@media (hover:none){
  .link-chev{display:none}
  .link-mega{max-height:none;opacity:1;margin-top:6px;margin-bottom:12px}
}
/* els ancoratges aterren per sota de la barra fixa + sub-nav */
.pitem[id],.pblock[id],[id].phero,.srv[id],.pband[id]{scroll-margin-top:120px}
.drawer-foot{margin-top:40px;display:grid;gap:22px;opacity:0;transform:translateY(14px);transition:opacity .5s .4s,transform .5s .4s}
body.drawer-open .drawer-foot{opacity:1;transform:none}
/* mòbil: menú que sempre càpiga a la pantalla (compacta espais i tipografia) */
@media(max-width:600px){
  .panel{padding-top:clamp(78px,13vh,96px);padding-bottom:22px}
  .link-row{font-size:clamp(1.3rem,6.4vw,1.72rem);padding-top:clamp(5px,1vw,9px);padding-bottom:clamp(5px,1vw,9px)}
  .link-mega__row{font-size:1rem;padding-top:5px;padding-bottom:5px}
  .drawer-foot{margin-top:24px;gap:14px}
}
.drawer-foot .kicker{display:block;margin-bottom:8px;color:rgba(140,66,35,.48)}
.drawer-foot a{display:block;width:fit-content;position:relative;color:var(--terra);margin-bottom:6px;
  font-family:var(--mono);font-size:.84rem;letter-spacing:.01em;transition:color .35s var(--ease)}
.drawer-foot a::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1.5px;background:var(--terra);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out-quart)}
.drawer-foot a:hover{color:var(--terra-dk)}
.drawer-foot a:hover::after{transform:scaleX(1)}
.drawer-claim{font-size:1.05rem;color:var(--marro);font-weight:600;letter-spacing:-.01em}
.drawer-claim em{font-style:normal;color:var(--terra)}
.drawer-loc{display:block;margin-top:6px;font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;
  text-transform:uppercase;color:rgba(140,66,35,.42)}
/* social icons (Instagram + LinkedIn) */
.social-icons{display:flex;gap:14px;margin-top:4px}
.social-icons a{display:inline-flex;width:26px;height:26px;margin:0;color:var(--marro);
  transition:color .3s var(--ease),transform .3s var(--ease)}
.social-icons a::after{content:none}
.social-icons a:hover{color:var(--terra);transform:translateY(-2px)}
/* dins del menú (beige) → icones terracota */
.drawer-foot .social-icons a{color:var(--terra)}
.drawer-foot .social-icons a:hover{color:var(--terra-dk)}
.social-icons svg{width:100%;height:100%;display:block}

/* ===== HERO (brand gradient, centred) ===== */
.hero{position:sticky;top:0;height:100svh;max-width:none;margin:0;overflow:hidden;z-index:0;background:var(--paper);
  display:flex;flex-direction:column;padding:clamp(9px,1vw,15px)}
.hero__frame{flex:1;min-height:0;position:relative;width:100%;border-radius:6px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;text-align:center;color:var(--paper);
  background:var(--marro)}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;
  z-index:0;transform:scale(1.06);transition:transform 1.6s var(--ease-out-quart)}
body.loaded .hero__bg{transform:scale(1)}
/* degradat de marca com a VEL sobre la imatge */
.hero__veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(158deg,
    rgba(43,36,28,.86) 0%,
    rgba(122,60,34,.70) 26%,
    rgba(170,86,53,.55) 52%,
    rgba(192,125,76,.48) 74%,
    rgba(124,170,196,.52) 118%)}
.hero__inner{position:relative;z-index:3;max-width:820px;padding:0 24px;margin:0;display:flex;flex-direction:column;align-items:center}
.hero__logospace{height:clamp(78px,12vh,124px);margin-bottom:clamp(22px,3.4vh,40px)}
.hero__title{font-family:var(--sans);font-size:clamp(1.7rem,3.9vw,3.15rem);font-weight:600;letter-spacing:-.03em;line-height:1.02;margin-bottom:clamp(14px,1.8vh,20px);color:var(--paper);text-wrap:balance}
.hero__title .l{display:block;overflow:hidden;padding-bottom:.03em}
.hero__title .l>span{display:block}
.js .hero__title .l>span{transform:translateY(116%)}
.loaded .hero__title .l>span{transform:none;transition:transform 1.15s var(--ease)}
.hero__title .l:nth-child(2)>span{transition-delay:.1s}
.hero__title em{font-style:normal;font-weight:600;color:#f0d9b8}
.hero__sub{max-width:44ch;font-size:clamp(.9rem,1.05vw,1.02rem);line-height:1.55;color:rgba(249,244,233,.7);margin-bottom:clamp(28px,3.6vh,40px)}
.pill-hero{display:inline-flex;align-items:center;gap:10px;padding:16px 34px;border-radius:100px;
  background:var(--paper);color:var(--marro);font-weight:600;font-size:1rem;
  transition:transform .5s var(--ease),background .35s}
.pill-hero span{transition:transform .4s var(--ease)}
.pill-hero:hover{background:var(--beige)}
.pill-hero:hover span{transform:translateX(6px)}

/* travelling brand lockup (segell + wordmark), hero centre → header */
.brand-lockup{position:fixed;top:0;left:0;z-index:150;display:block;height:26px;
  pointer-events:auto;will-change:transform;transform-origin:center}
.brand-lockup .lk-full{height:26px;width:auto;display:block;object-fit:contain;transition:opacity .4s var(--ease)}
.brand-lockup .lk-dark{position:absolute;inset:0;opacity:0}
.brand-lockup.dark .lk-light{opacity:0}
.brand-lockup.dark .lk-dark{opacity:1}

/* header sits in the cream top margin → always dark */

/* ===== sticky CTA bar (à la vazzi) ===== */
.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:flex;align-items:center;justify-content:center;gap:14px;
  background:var(--terra);color:var(--paper);font-family:var(--serif);font-weight:400;font-size:clamp(1.25rem,2.3vw,1.8rem);
  padding:16px;border-top:1px solid var(--marro);transition:transform .55s var(--ease),background .35s}
.cta-bar span{transition:transform .4s var(--ease)}
.cta-bar:hover{background:var(--terra-dk)}
.cta-bar:hover span{transform:translateX(7px)}
body.drawer-open .cta-bar{transform:translateY(101%)}

/* ===== hero → content transition (panel rises over sticky hero) ===== */
.after-hero{position:relative;z-index:2}
.hero-hold{height:60svh;pointer-events:none}
.after-hero__panel{position:relative;background:var(--paper);border-radius:6px 6px 0 0;
  box-shadow:0 -22px 50px -26px rgba(43,36,28,.55)}

/* línia separadora de seccions */
.sec-line{max-width:var(--wrap);margin:0 auto;height:1px;background:var(--line)}

/* SCROLL HORITZONTAL (Qui som + Filosofia) */
.hpin{position:relative;height:220vh}
.hpin__stage{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--paper2)}
.hpin__track{display:flex;height:100%;will-change:transform}
.hpanel{flex:0 0 100vw;height:100%;overflow:hidden}
.hpanel--split{display:grid;grid-template-columns:1.02fr .98fr}
.hpanel__media{margin:0;overflow:hidden;background:var(--beige)}
.hpanel__media img{width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block}
.hpanel__body{display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,1.9vw,24px);
  padding:clamp(40px,6vw,110px)}
.hpanel .what__label{color:var(--terra);padding-top:0}
.hpanel__title{font-family:var(--sans);font-size:clamp(1.8rem,3.5vw,3.3rem);font-weight:600;letter-spacing:-.035em;
  line-height:1.06;color:var(--marro);max-width:15ch}
.hpanel__title em{font-style:normal;color:var(--terra)}
.hpanel__text{max-width:42ch;color:var(--marro-2);font-size:1.02rem;line-height:1.6}
.who{list-style:none;display:grid;gap:0;margin-top:12px;padding:0}
.who li{border-top:1px solid var(--line);padding:13px 0}
.who h3{font-size:1.2rem;margin:0 0 3px;font-weight:700}
.who span{font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;color:var(--marro-2)}
/* panell de text intro */
.hpanel--intro{flex:0 0 min(52vw,680px);display:flex;align-items:center;padding:clamp(32px,4vw,80px)}
.hpanel__intro{display:flex;flex-direction:column;gap:clamp(16px,2vw,26px);max-width:36ch}
.hpanel__hint{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--terra);margin-top:6px}
.hpanel__btn{align-self:flex-start;margin-top:clamp(10px,1.8vw,22px)}
/* cards escalonades (una amunt, l'altra avall) */
.hpanel--card:nth-of-type(2) .pcard{transform:translateY(-7vh)}
.hpanel--card:nth-of-type(3) .pcard{transform:translateY(7vh)}
/* cards persones · hover K inversa + text a peu de foto */
.hpanel--card{flex:0 0 min(40vw,400px);display:flex;align-items:center;padding:clamp(20px,3vw,56px)}
.pcard{width:100%}
.pcard__ph{position:relative;margin:0;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--beige)}
.pcard__img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);
  transition:transform 1.1s var(--ease-out-quart)}
.pcard:hover .pcard__img{transform:scale(1.06)}
/* text a sota, editorial: nom + rol · línia · descripció */
.pcard__meta{margin-top:clamp(16px,1.8vw,22px)}
.pcard__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid var(--line)}
.pcard__meta h3{font-family:var(--sans);font-size:clamp(1.35rem,1.9vw,1.75rem);font-weight:600;letter-spacing:-.02em;margin:0}
.pcard__role{font-family:var(--mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--terra);white-space:nowrap}
.pcard__meta p{margin:0;color:var(--marro-2);font-size:.92rem;line-height:1.55;max-width:34ch}
@media(max-width:820px){
  .hpin{height:auto}
  .hpin__stage{position:static;height:auto;overflow:visible}
  .hpin__track{flex-direction:column;height:auto}
  .hpanel{flex:auto;height:auto}
  .hpanel--intro,.hpanel--card{flex:auto;padding:clamp(44px,10vw,72px) var(--pad)}
  .hpanel--card:nth-of-type(2) .pcard,.hpanel--card:nth-of-type(3) .pcard{transform:none}
  .pcard__cap{opacity:1;transform:none}
  .hpanel--split{grid-template-columns:1fr}
  .hpanel__media{aspect-ratio:4/5}
  .hpanel__body{padding:clamp(44px,10vw,72px) var(--pad)}
}

/* FEATURE · estil Monastery */
.mona{display:grid;grid-template-columns:1.9fr 1fr;gap:clamp(10px,1vw,16px);
  padding:clamp(12px,1.6vw,22px) clamp(12px,1.6vw,22px) clamp(40px,6vw,90px);min-height:min(88vh,840px)}
.mona__main,.mona__feat{position:relative;border-radius:6px;overflow:hidden}
.mona__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.mona__main::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(43,36,28,.62),rgba(43,36,28,.02) 46%,rgba(43,36,28,.18))}
.mona__note{position:absolute;top:clamp(20px,3vw,42px);right:clamp(20px,3vw,42px);z-index:2;max-width:32ch;
  text-align:right;color:rgba(249,244,233,.92);font-size:clamp(.9rem,1vw,1.02rem);line-height:1.5}
.mona__head{position:absolute;left:clamp(22px,3vw,46px);bottom:clamp(22px,3vw,46px);z-index:2;max-width:19ch;color:var(--paper)}
.mona__head .eyebrow{display:block;color:var(--paper);opacity:.82;margin-bottom:14px}
.mona__title{font-family:var(--sans);font-size:clamp(2rem,3.9vw,3.7rem);font-weight:600;line-height:1.02;letter-spacing:-.035em}
.mona__title em{font-style:normal;color:#f0d9b8}
.mona__feat{display:block;background:var(--marro);color:var(--paper)}
.mona__feat-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;
  transition:transform .9s var(--ease-out-quart),opacity .5s}
.mona__feat::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(43,36,28,.88),rgba(43,36,28,.3))}
.mona__feat:hover .mona__feat-img{opacity:.62;transform:scale(1.05)}
.mona__feat-eye{position:absolute;top:clamp(20px,2.6vw,34px);left:clamp(20px,2.6vw,34px);z-index:2;color:var(--paper);opacity:.82}
.mona__feat-b{position:absolute;left:clamp(20px,2.6vw,34px);bottom:clamp(20px,2.6vw,34px);z-index:2}
.mona__feat-title{font-family:var(--sans);font-size:clamp(2rem,3vw,3rem);font-weight:700;line-height:.98;letter-spacing:-.03em;margin-bottom:16px}
.mona__more{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.mona__feat:hover .mona__more{color:#f0d9b8}
@media(max-width:820px){.mona{grid-template-columns:1fr;min-height:0}.mona__main{aspect-ratio:4/5}.mona__feat{aspect-ratio:1/1}}

/* MOVIMENT · banda d'imatge editorial */
.showcase{padding:clamp(10px,1.4vw,18px) clamp(10px,1.4vw,18px) clamp(28px,6vh,72px)}
.showcase__img{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:16/9;margin:0;background:var(--marro)}
@media(max-width:720px){.showcase__img{aspect-ratio:4/5}}
.showcase__img img{width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.06);transition:transform 1.5s var(--ease-out-quart)}
.showcase__img.in img{transform:scale(1)}
.showcase__cap{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:16px;
  padding:clamp(14px,2.2vw,26px);color:var(--paper);
  background:linear-gradient(to top,rgba(43,36,28,.62),rgba(43,36,28,0))}
.showcase__cap .kicker{color:var(--paper);opacity:.92}

/* titulars a UN sol color (sense accent de color) */
.hero__title em,.display em,.display--light em,.hpanel__title em,.mona__title em,.mona__feat-title em,
.what__lead em,.split-ed__lead em,.cta__title em,.questions__list em,.questions__answer em,
.statement__text em,.drawer-claim em{color:inherit}

/* editorial border lines */
.consulta,.questions{border-top:1px solid var(--line)}
.section-dark{border-top:1px solid var(--line)}

/* ---------- responsive ---------- */
@media(max-width:960px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero__right{margin-top:20px}.hero__photo{transform:none}.hero__symbol{display:none}
  .quisom__top,.people,.metode__grid{grid-template-columns:1fr}
  .person:nth-child(2){margin-top:0}
  .footer__cols{grid-template-columns:1fr 1fr}
  .service{grid-template-columns:60px 1fr;gap:14px}.service__tag{display:none}
  .nav{position:fixed;inset:0 0 0 auto;width:min(80vw,340px);background:var(--paper);flex-direction:column;justify-content:center;
    padding:40px;gap:20px;transform:translateX(100%);transition:transform .5s var(--ease)}
  .nav a{font-size:1.1rem}
  body.nav-open .nav{transform:translateX(0)}
  body.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .burger span:nth-child(2){transform:translateY(0) rotate(-45deg)}
  .burger{display:flex}.header-actions .pill{display:none}
  .footer__bottom{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 16px;text-align:left}
  .footer__bottom>span:nth-child(2){text-align:right}
  .footer__credit{flex-basis:100%;text-align:center;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .js .questions__list span{opacity:1;transform:none}
  .js .hero__title .l>span{transform:none}
  .js .trac-line path{stroke-dashoffset:0}
}

/* ============================================================
   PÀGINES INTERNES (Qui som · La consulta · Com treballem · Contacte)
   ============================================================ */
body.page{background:var(--paper)}
/* capçalera interna: transparent sobre el hero d'imatge, sòlida en baixar (estil home) */
body.page .site-header{background:transparent;box-shadow:none;backdrop-filter:none;
  transition:background .4s var(--ease-out-quart),box-shadow .4s var(--ease-out-quart)}
body.page .site-header.scrolled{background:rgba(249,244,233,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(43,36,28,.07)}
/* idioma: clar sobre la imatge → fosc en baixar */
body.page .site-header .lang{color:rgba(249,244,233,.78)}
body.page .site-header .lang.is-active{color:var(--paper)}
body.page .site-header .lang-sep{color:rgba(249,244,233,.45)}
body.page .site-header.scrolled .lang{color:var(--marro-2)}
body.page .site-header.scrolled .lang.is-active{color:var(--marro)}
body.page .site-header.scrolled .lang-sep{color:var(--line)}
/* logo: blanc a dalt → marró en baixar */
.page-logo .pl-dark{display:none}
/* Pàgines sense hero (legal): capçalera fosca des de dalt */
body.page.nohero .site-header .page-logo .pl-light{display:none}
body.page.nohero .site-header .page-logo .pl-dark{display:block}
body.page.nohero .site-header .lang{color:var(--marro-2)}
body.page.nohero .site-header .lang.is-active{color:var(--marro)}
body.page.nohero .site-header .lang-sep{color:var(--line)}
body.page .site-header.scrolled .page-logo .pl-light{display:none}
body.page .site-header.scrolled .page-logo .pl-dark{display:block}
/* menú obert: capçalera transparent, logo amagat (com la home) */
body.page.drawer-open .site-header{background:transparent;box-shadow:none;backdrop-filter:none}
body.page.drawer-open .page-logo{opacity:0;visibility:hidden}
.page-logo{display:flex;align-items:center;pointer-events:auto;transition:opacity .3s var(--ease-out-quart),visibility .3s}
body.page .page-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.page-logo img{height:24px;width:auto}
.header__nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px)}
.page__main{position:relative}
/* hero de pàgina · imatge de fons + velat (estil home) */
.phero{position:relative;isolation:isolate;overflow:hidden;color:var(--paper);background:var(--paper);--pfr:clamp(9px,1vw,15px);
  min-height:min(78vh,760px);display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(110px,16vh,180px) var(--pad) clamp(40px,6vw,74px)}
.phero__bg{position:absolute;top:var(--pfr);left:var(--pfr);width:calc(100% - var(--pfr)*2);height:calc(100% - var(--pfr)*2);z-index:-2;object-fit:cover;border-radius:6px}
.phero__bg--top{object-position:center 22%}
.phero::after{content:"";position:absolute;inset:var(--pfr);z-index:-1;border-radius:6px;
  background:linear-gradient(180deg,rgba(43,36,28,.34) 0%,rgba(43,36,28,.12) 38%,rgba(43,36,28,.68) 100%)}
.phero__in{position:relative;z-index:1;max-width:var(--wrap);margin:0 auto;width:100%}
.phero__label{display:inline-block;margin-bottom:clamp(16px,2vw,26px)}
.phero .what__label{color:var(--paper)}
.phero__title{font-family:var(--sans);font-size:clamp(2.6rem,7vw,5.8rem);font-weight:600;letter-spacing:-.04em;
  line-height:1;margin:0 0 clamp(18px,2.2vw,30px);color:var(--paper);max-width:16ch}
.phero__title em{font-style:normal;color:inherit}
.phero__intro{font-family:var(--sans);font-size:clamp(1.12rem,1.5vw,1.45rem);line-height:1.5;
  max-width:46ch;color:rgba(249,244,233,.9)}
.phero__intro b{color:var(--paper);font-weight:500}
.phero__btn{margin-top:clamp(24px,3vw,38px)}
.phero__row{display:flex;justify-content:space-between;align-items:flex-end;gap:clamp(24px,5vw,80px);flex-wrap:wrap;margin-top:clamp(6px,1vw,14px)}
.phero__row .phero__intro{margin:0;flex:1 1 320px}
.phero__cta{flex:0 0 auto;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--paper);text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  padding-bottom:5px;border-bottom:1.5px solid rgba(249,244,233,.45);
  transition:border-color .3s var(--ease-out-quart),gap .3s var(--ease-out-quart)}
.phero__cta:hover{border-bottom-color:var(--paper);gap:12px}
.phero__cta span{transition:transform .3s var(--ease-out-quart)}
.phero__cta:hover span{transform:translateX(3px)}
@media(max-width:640px){.phero__row{align-items:flex-start}.phero__cta{align-self:flex-start}}
/* bloc de contingut genèric */
.pblock{max-width:var(--wrap);margin:0 auto;padding:clamp(40px,6vw,90px) var(--pad);border-top:1px solid var(--line)}
/* Sense línia just a sota del hero (primera secció després del hero) */
.phero + section,.shero + section{border-top:0}
.pblock__head{display:grid;grid-template-columns:clamp(120px,22%,240px) 1fr;gap:clamp(24px,5vw,72px);align-items:start;margin-bottom:clamp(30px,4vw,54px)}
.pblock__head--stack{grid-template-columns:1fr;gap:clamp(12px,1.6vw,20px)}
.pblock__head--stack .what__label{justify-self:start}
.pblock__head h2{font-family:var(--sans);font-size:clamp(1.7rem,2.6vw,2.6rem);font-weight:600;letter-spacing:-.03em;line-height:1.08;color:var(--marro);max-width:20ch}
.pblock__lead{font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.6;color:var(--marro-2);max-width:52ch}
/* Capçalera de les pàgines legals (sense portada d'imatge) */
.legalhead{max-width:var(--wrap);margin:0 auto;padding:clamp(126px,17vh,200px) var(--pad) clamp(26px,3.4vw,44px)}
.legalhead h1{font-family:var(--sans);font-size:clamp(2rem,5.2vw,3.4rem);font-weight:700;letter-spacing:-.035em;line-height:1.03;color:var(--marro);margin:.4em 0 .3em;max-width:22ch}
.legalhead p{font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.6;color:var(--marro-2);max-width:54ch}
@media(max-width:720px){.pblock__head{grid-template-columns:1fr;gap:14px}}
/* graella d'ítems (serveis / passos / valors) */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,64px)}
.pgrid--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.pgrid,.pgrid--3{grid-template-columns:1fr;gap:30px}}
.pitem__n{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:var(--terra);display:block;margin-bottom:12px}
.pitem h3{font-family:var(--sans);font-size:clamp(1.2rem,1.7vw,1.6rem);font-weight:600;letter-spacing:-.02em;margin:0 0 10px;color:var(--marro)}
.pitem p{font-size:.98rem;line-height:1.6;color:var(--marro-2);max-width:46ch}
.pitem__list{list-style:none;margin:14px 0 0;padding:0}
.pitem__list li{position:relative;padding-left:18px;font-size:.92rem;line-height:1.5;color:var(--marro-2);margin-bottom:6px}
.pitem__list li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--terra)}
/* serveis · panells a tot l'ample que pugen i s'apilen (sticky) */
.serveis-sec{border-top:1px solid var(--line);padding-top:clamp(40px,6vw,88px)}
.serveis-sec .pblock__head{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad) clamp(22px,3.4vw,46px);
  grid-template-columns:1fr;gap:clamp(14px,1.8vw,22px)}
.serveis-sec .pblock__head .what__label{justify-self:start}
.srv-list{position:relative}
.srv{position:sticky;top:0;min-height:100vh;display:grid;grid-template-columns:1fr 1fr;
  align-items:stretch;background:var(--paper);border-top:1px solid var(--line)}
.srv__media{margin:0;position:relative;overflow:hidden;background:var(--beige);min-height:52vh}
.srv__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.srv:hover .srv__media img{transform:scale(1.04)}
.srv:nth-child(even) .srv__media{order:2}
.srv__body{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(36px,6vw,96px) clamp(24px,6vw,110px)}
.srv__body h3{font-family:var(--sans);font-size:clamp(1.7rem,3vw,2.9rem);font-weight:600;letter-spacing:-.03em;
  line-height:1.05;margin:0 0 clamp(14px,1.8vw,22px);color:var(--marro)}
.srv__body p{font-size:clamp(1.02rem,1.2vw,1.18rem);line-height:1.6;color:var(--marro-2);max-width:46ch;margin:0}
.srv .pitem__list{margin-top:clamp(16px,2vw,24px)}
@media(max-width:820px){
  /* stack: cada servei s'enganxa i el següent puja per sobre (com a ordinador) */
  .srv{position:sticky;top:0;min-height:100vh;min-height:100dvh;grid-template-columns:1fr;grid-template-rows:38dvh auto;border-top:0}
  .srv:nth-child(even) .srv__media{order:0}
  .srv__media{min-height:0;aspect-ratio:auto}
  /* text just sota la imatge + marge ampli a sota de l'última frase abans que pugi el següent bloc */
  .srv__body{padding:clamp(22px,6vw,34px) var(--pad) clamp(140px,27dvh,320px);justify-content:flex-start}
}
/* altres serveis (xerrades / composició) */
.srv-extra{max-width:var(--wrap);margin:0 auto;padding:clamp(56px,8vw,104px) var(--pad)}
.srv-extra > .what__label{display:inline-block;margin-bottom:clamp(22px,3vw,38px)}
.srv-extra__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px)}
.sx{display:block;background:var(--paper);border:1px solid var(--line);border-radius:2px;overflow:hidden;
  text-decoration:none;color:inherit;
  transition:border-color .35s var(--ease),transform .5s var(--ease-out-quart),box-shadow .5s var(--ease-out-quart)}
.sx:hover{border-color:var(--terra);transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(43,36,28,.3)}
.sx__media{margin:0;aspect-ratio:16/9;overflow:hidden;background:var(--beige)}
.sx__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.sx:hover .sx__media img{transform:scale(1.04)}
.sx__body{padding:clamp(24px,2.8vw,40px)}
.sx h3{font-family:var(--sans);font-size:clamp(1.3rem,1.9vw,1.7rem);font-weight:600;letter-spacing:-.025em;margin:0 0 clamp(10px,1.3vw,16px);color:var(--marro)}
.sx p{font-size:clamp(.98rem,1.1vw,1.08rem);line-height:1.55;color:var(--marro-2);margin:0 0 clamp(16px,2vw,24px);max-width:44ch}
.sx__go{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--terra)}
.sx__go span{transition:transform .35s var(--ease-out-quart)}
.sx:hover .sx__go span{transform:translateX(4px)}
@media(max-width:760px){.srv-extra__grid{grid-template-columns:1fr}}
/* metodologia · títol centrat a dalt + text esquerra / passos dreta, ocupa 100vh */
#metodologia{min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.metod-top{text-align:center;margin-bottom:clamp(30px,5vw,60px)}
.metod-top .what__label{display:inline-block;margin-bottom:clamp(12px,1.6vw,20px)}
.metod-top__title{font-family:var(--sans);font-size:clamp(1.9rem,3.4vw,3rem);font-weight:600;letter-spacing:-.035em;line-height:1;color:var(--marro);margin:0}
.metod-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(44px,6vw,90px);align-items:start}
.metod-lead{align-self:start}
@media(max-width:820px){#metodologia{min-height:0}}
.metod-lead .what__label{display:inline-block;margin-bottom:clamp(14px,1.8vw,22px)}
.metod-lead__title{font-family:var(--sans);font-size:clamp(1.7rem,2.6vw,2.6rem);font-weight:600;letter-spacing:-.03em;
  line-height:1.05;color:var(--marro);margin:0 0 clamp(16px,2vw,24px);max-width:14ch}
.metod-lead__p{font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.6;color:var(--marro-2);max-width:42ch}
@media(max-width:820px){.metod-grid{grid-template-columns:1fr;gap:26px}}
/* tarifes · blocs horitzontals + títol centrat */
.pblock__head--center{grid-template-columns:1fr;justify-items:center;text-align:center}
.pblock__head--center h2{max-width:24ch}
.tarif-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:clamp(12px,1.4vw,18px);
  margin-top:clamp(10px,1.6vw,22px)}
.tcard{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:10px;
  padding:clamp(24px,2.4vw,34px) clamp(18px,2vw,26px);display:flex;flex-direction:column;gap:10px}
.tcard__name{font-family:var(--sans);font-weight:600;font-size:clamp(1rem,1.2vw,1.18rem);color:var(--marro);line-height:1.2}
.tcard__price{font-family:var(--sans);font-weight:700;font-size:clamp(1.6rem,2.3vw,2.2rem);color:var(--terra);letter-spacing:-.02em;line-height:1}
.tcard__det{font-family:var(--mono);font-size:.64rem;letter-spacing:.03em;color:var(--marro-2);line-height:1.55;margin-top:auto;padding-top:6px}
.tcard__list{list-style:none;margin:clamp(4px,.8vw,10px) 0 0;padding:clamp(14px,1.6vw,18px) 0 0;
  border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px}
.tcard__list li{position:relative;padding-left:16px;font-size:.82rem;line-height:1.45;color:var(--marro-2)}
.tcard__list li::before{content:"";position:absolute;left:0;top:.5em;width:5px;height:5px;border-radius:50%;background:var(--terra)}
.tcard--reco{border-color:var(--terra);box-shadow:0 22px 46px -28px rgba(170,86,53,.55)}
.tcard__tag{position:absolute;top:-9px;left:clamp(18px,2vw,26px);font-family:var(--mono);font-size:.55rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--paper);background:var(--terra);border-radius:3px;padding:3px 8px}
.tarif-cta{margin-top:clamp(28px,3.4vw,44px);text-align:center}
/* tarifes · capçalera + plans destacats (recomanat fosc) */
.tarif-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.tarif-head--center{display:block;text-align:center;margin-bottom:clamp(30px,4vw,52px)}
.tarif-head--center .what__label{display:inline-block;margin-bottom:clamp(12px,1.6vw,18px)}
.tarif-head--center .tarif-head__title{margin:0 auto;max-width:20ch}
.tarif-head__sub{font-size:clamp(1rem,1.15vw,1.14rem);line-height:1.55;color:var(--marro-2);max-width:52ch;margin:clamp(12px,1.5vw,18px) auto 0}
.tarif-head__l .what__label{display:inline-block;margin-bottom:clamp(14px,1.8vw,22px)}
.tarif-head__title{font-family:var(--sans);font-size:clamp(1.9rem,3.4vw,3.2rem);font-weight:600;letter-spacing:-.035em;line-height:1.02;color:var(--marro);margin:0;max-width:15ch}
.tarif-head__r p{font-size:clamp(1rem,1.15vw,1.14rem);line-height:1.55;color:var(--marro-2);margin:0 0 clamp(14px,1.6vw,20px);max-width:46ch}
.tarif-head__link{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--terra);text-decoration:none;transition:opacity .3s}
.tarif-head__link:hover{opacity:.7}
.tarif-head__link span{margin-left:5px}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px)}
.plan{position:relative;background:var(--paper2);border:1px solid var(--line);border-radius:16px;
  padding:clamp(28px,3.4vw,48px);display:flex;flex-direction:column}
.plan--dark{background:var(--marro);border-color:var(--marro)}
.plan__badge{align-self:flex-start;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--paper);border:1px solid rgba(249,244,233,.4);border-radius:20px;padding:6px 14px;margin-bottom:clamp(18px,2vw,26px)}
.plan__name{font-family:var(--sans);font-size:clamp(1.4rem,2.2vw,2rem);font-weight:600;letter-spacing:-.025em;color:var(--marro);margin:0 0 clamp(20px,2.4vw,30px)}
.plan--dark .plan__name{color:var(--paper)}
.plan__list{list-style:none;margin:0 0 clamp(24px,3vw,38px);padding:0;display:flex;flex-direction:column;gap:clamp(11px,1.3vw,15px);flex:1}
.plan__list li{position:relative;padding-left:29px;font-size:clamp(.95rem,1.05vw,1.05rem);line-height:1.4;color:var(--marro-2)}
.plan--dark .plan__list li{color:rgba(249,244,233,.85)}
.plan__list li::before{content:"✓";position:absolute;left:0;top:.05em;width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--terra);border:1.5px solid var(--terra)}
.plan--dark .plan__list li::before{color:var(--marro);background:var(--terra);border-color:var(--terra)}
.plan__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;
  padding-top:clamp(20px,2.4vw,30px);border-top:1px solid var(--line)}
.plan--dark .plan__foot{border-top-color:rgba(249,244,233,.18)}
.plan__price{font-family:var(--sans);font-weight:700;font-size:clamp(1.6rem,2.4vw,2.2rem);color:var(--marro);letter-spacing:-.02em}
.plan--dark .plan__price{color:var(--paper)}
.plan__btn{flex:0 0 auto}
.plan-extra{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,18px);margin-top:clamp(16px,2vw,26px)}
.pex{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;gap:7px}
.pex__name{font-family:var(--sans);font-weight:600;font-size:1rem;color:var(--marro);line-height:1.2}
.pex__price{font-family:var(--sans);font-weight:700;font-size:1.35rem;color:var(--terra);letter-spacing:-.02em}
.pex__det{font-family:var(--mono);font-size:.62rem;letter-spacing:.03em;color:var(--marro-2);line-height:1.55;margin-top:auto;padding-top:4px}
@media(max-width:820px){.tarif-head{grid-template-columns:1fr;gap:16px;align-items:start}.plans{grid-template-columns:1fr}.plan-extra{grid-template-columns:1fr}}
/* tarifes · tots els blocs en fila (estil pla, recomanat fosc) */
.tplans{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:clamp(12px,1.4vw,18px);margin-top:clamp(8px,1.5vw,20px)}
/* tarifes · plans en scroll (esquerra) + imatge fixa (dreta) */
.tsticky{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(26px,4.5vw,64px);align-items:start;margin-top:clamp(24px,3vw,44px)}
.tsticky__plans{display:flex;flex-direction:column;gap:clamp(14px,1.8vw,24px)}
.tsticky__plans .tplan{width:100%}
.tsticky__media{position:sticky;top:clamp(88px,13vh,128px);align-self:start;margin:0}
.tsticky__media figure{margin:0;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--beige)}
.tsticky__media img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:820px){
  .tsticky{grid-template-columns:1fr;gap:clamp(20px,4vw,30px)}
  .tsticky__media{position:static;order:-1;top:auto}
  .tsticky__media figure{aspect-ratio:16/10}
}
.tplan{position:relative;background:var(--paper2);border:1px solid var(--line);border-radius:6px;
  padding:clamp(18px,1.9vw,26px);display:flex;flex-direction:column;
  transition:background .35s var(--ease),border-color .35s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease)}
.tplan:hover{transform:translateY(-4px);box-shadow:0 24px 50px -32px rgba(43,36,28,.32)}
/* estat marcat (fons fosc): la Recomanat per defecte i qualsevol en hover */
.tplan--dark,.tplan:hover{background:var(--marro);border-color:var(--marro)}
.tplan__badge{position:absolute;top:calc(clamp(10px,1.1vw,13px) * -1);right:clamp(16px,2vw,24px);z-index:2;
  font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--paper);background:var(--terra);border:0;border-radius:20px;padding:5px 12px;
  box-shadow:0 6px 16px -8px rgba(43,36,28,.5)}
.tplan__name{order:1;font-family:var(--sans);font-weight:600;font-size:clamp(1.05rem,1.3vw,1.28rem);letter-spacing:-.02em;color:var(--marro);margin:0;line-height:1.2;transition:color .3s var(--ease)}
.tplan--dark .tplan__name,.tplan:hover .tplan__name{color:var(--paper)}
.tplan__list{order:2;list-style:none;margin:clamp(14px,1.7vw,20px) 0 clamp(16px,2vw,22px);padding:0;
  display:flex;flex-direction:column;gap:8px;flex:1}
.tplan__price{order:3;margin-top:auto;padding-top:clamp(13px,1.5vw,17px);border-top:1px solid var(--line);
  font-family:var(--sans);font-weight:500;font-size:clamp(1.02rem,1.2vw,1.22rem);color:var(--marro);letter-spacing:-.01em;transition:color .3s var(--ease),border-top-color .3s var(--ease)}
.tplan--dark .tplan__price,.tplan:hover .tplan__price{color:var(--paper);border-top-color:rgba(249,244,233,.18)}
.tplan__list li{position:relative;padding-left:24px;font-size:.82rem;line-height:1.4;color:var(--marro-2);transition:color .3s var(--ease)}
.tplan--dark .tplan__list li,.tplan:hover .tplan__list li{color:rgba(249,244,233,.82)}
.tplan__list li::before{content:"";position:absolute;left:2px;top:.32em;width:9px;height:5px;
  border-left:1.7px solid var(--terra);border-bottom:1.7px solid var(--terra);transform:rotate(-45deg);transition:border-color .3s var(--ease)}
.tplan--dark .tplan__list li::before,.tplan:hover .tplan__list li::before{border-color:var(--paper)}
/* en passar pel grup, desmarca la Recomanat negra si no és la que toques */
.tplans:hover .tplan--dark:not(:hover){background:var(--paper2);border-color:var(--line)}
.tplans:hover .tplan--dark:not(:hover) .tplan__name{color:var(--marro)}
.tplans:hover .tplan--dark:not(:hover) .tplan__price{color:var(--marro);border-top-color:var(--line)}
.tplans:hover .tplan--dark:not(:hover) .tplan__list li{color:var(--marro-2)}
.tplans:hover .tplan--dark:not(:hover) .tplan__list li::before{border-color:var(--terra)}
@media(max-width:640px){
  .tplans{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;
    gap:14px;margin-inline:calc(var(--pad) * -1);padding:6px var(--pad) 4px;
    scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
  .tplans::-webkit-scrollbar{display:none}
  .tplan{flex:0 0 80%;scroll-snap-align:center}
}
/* metodologia · passos numerats */
.metod{list-style:none;margin:0;padding-left:clamp(30px,4.5vw,66px);position:relative;
  display:flex;flex-direction:column;justify-content:flex-start;gap:0}
.metod::before{content:"";position:absolute;left:calc(clamp(22px,3vw,45px) * -1);top:0;bottom:0;width:1px;background:var(--line)}
.metod::after{content:"";position:absolute;left:calc(clamp(22px,3vw,45px) * -1 - .5px);top:0;width:2px;height:100%;background:var(--terra);
  transform-origin:top;transform:scaleY(var(--mp,0));transition:transform .15s linear}
.metod__step{display:grid;grid-template-columns:clamp(48px,5vw,72px) 1fr;gap:clamp(18px,2.6vw,36px);
  align-items:start;padding:clamp(26px,3.2vw,42px) 0}
.metod__step:first-child{padding-top:0}
.metod__step:last-child{padding-bottom:0}
.metod__step + .metod__step{border-top:1px solid var(--line)}
.metod__n{font-family:var(--sans);font-weight:700;font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:.9;
  letter-spacing:-.03em;color:var(--terra)}
.metod__body h3{font-family:var(--sans);font-size:clamp(1.2rem,1.7vw,1.6rem);font-weight:700;letter-spacing:-.025em;margin:0 0 clamp(14px,1.7vw,20px);color:var(--marro)}
.metod__body p{font-size:clamp(.92rem,1.05vw,1.05rem);line-height:1.72;font-weight:400;color:var(--marro-2);max-width:54ch;margin:0}
.metod__body p b{color:var(--marro);font-weight:600}
.metod__modes{display:flex;flex-direction:column;gap:clamp(7px,1vw,11px);margin-top:clamp(16px,1.8vw,22px)}
.metod__mode{font-size:clamp(.82rem,.95vw,.92rem);line-height:1.5;color:var(--marro-2);
  padding:0;border:0;background:none}
.metod__mode b{color:var(--terra);font-weight:600}
@media(max-width:600px){.metod{padding-left:32px}.metod::before{left:0}.metod::after{left:0}.metod__step{grid-template-columns:1fr;gap:6px}}
/* tarifes · llista de preus */
.tarifs{border-top:1px solid var(--line)}
.tarif{display:flex;align-items:baseline;justify-content:space-between;gap:clamp(16px,4vw,40px);
  padding:clamp(15px,2vw,24px) 0;border-bottom:1px solid var(--line)}
.tarif__name{font-family:var(--sans);font-weight:600;font-size:clamp(1.05rem,1.4vw,1.32rem);color:var(--marro);letter-spacing:-.015em}
.tarif__det{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;color:var(--marro-2);margin-top:6px;font-weight:400}
.tarif__price{flex:0 0 auto;font-family:var(--sans);font-weight:700;font-size:clamp(1.1rem,1.5vw,1.4rem);color:var(--terra);white-space:nowrap}
.tarif__packs{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;
  font-family:var(--mono);font-size:.8rem;color:var(--marro)}
.tarif__packs span{white-space:nowrap}
.tarif__note{margin-top:clamp(20px,2.6vw,32px);font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;
  color:var(--marro-2);max-width:60ch;line-height:1.6}
@media(max-width:560px){.tarif{flex-direction:column;gap:8px}.tarif__packs{justify-content:flex-start}}
.tarif--reco .tarif__name{color:var(--terra)}
.tarif__tag{display:inline-block;margin-left:10px;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--paper);background:var(--terra);border-radius:3px;padding:3px 7px;vertical-align:middle;font-weight:500}
/* número gran editorial als serveis */
.srv__idx{display:block;font-family:var(--sans);font-weight:700;font-size:clamp(3rem,6.5vw,5.6rem);
  line-height:.8;letter-spacing:-.04em;color:var(--terra);margin-bottom:clamp(12px,1.6vw,20px)}
.srv__n{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--marro-2);margin-bottom:clamp(14px,1.6vw,20px)}
/* bandes de secció de color (ritme) */
.pband{padding:clamp(56px,8vw,112px) 0}
.pband--soft{background:#f3e9d7}
.pband--terra{background:var(--terra);color:var(--paper);min-height:100vh;display:flex;align-items:center}
.pband--terra .pband__in{width:100%}
.pband--terra .what__label,.pband--terra .what__mark,.pband--terra .pblock__head h2{color:var(--paper)}
.pband--terra .value{border-top-color:rgba(249,244,233,.28)}
.pband--terra .value__n{color:var(--paper)}
.pband--terra .value h3{color:var(--paper)}
.pband--terra .value p{color:var(--paper)}
.pband__in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
/* La nostra manera · imatge full-bleed esquerra + títol/punts dreta */
.nostra-sec{display:grid;grid-template-columns:1fr 1fr;min-height:90vh;align-items:stretch;padding:0}
.nostra__media{margin:0;overflow:hidden;background:rgba(0,0,0,.14);position:relative}
.nostra__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.nostra__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vh,56px) clamp(28px,5vw,80px)}
.nostra__title{font-family:var(--sans);font-size:clamp(1.6rem,2.5vw,2.4rem);font-weight:600;letter-spacing:-.035em;line-height:1.07;color:var(--paper);margin:0 0 clamp(14px,2.2vw,26px);max-width:20ch}
.nostra__body .values{grid-template-columns:1fr;gap:0;margin-top:clamp(4px,1vw,10px)}
.nostra__body .value{display:grid;grid-template-columns:auto 1fr;column-gap:clamp(14px,1.8vw,26px);align-items:start;padding:clamp(11px,1.4vw,16px) 0}
.nostra__body .value__n{grid-column:1;grid-row:1/3;font-family:var(--mono);font-weight:500;font-size:clamp(.72rem,.85vw,.8rem);letter-spacing:.14em;color:rgba(249,244,233,.6);margin:0;line-height:1;padding-top:.45em}
.nostra__body .value h3{grid-column:2;margin:0 0 clamp(4px,.6vw,7px);font-size:clamp(1.08rem,1.4vw,1.32rem)}
.nostra__body .value p{grid-column:2;margin:0;max-width:42ch}
@media(max-width:820px){.nostra-sec{grid-template-columns:1fr;min-height:0}.nostra__media{min-height:clamp(330px,74vw,470px)}.nostra__body{padding:clamp(40px,10vw,60px) var(--pad)}
  .nostra__body .value{column-gap:clamp(13px,3.6vw,18px);padding:clamp(14px,3.8vw,19px) 0}
  .nostra__body .value__n{font-family:var(--sans);font-weight:700;font-size:clamp(1.15rem,5.6vw,1.45rem);letter-spacing:-.02em;color:rgba(249,244,233,.9);padding-top:.1em}
  .nostra__body .value h3{font-size:clamp(1.05rem,4.7vw,1.24rem);margin-bottom:5px}
  .nostra__body .value p{font-size:clamp(.9rem,3.7vw,1rem);line-height:1.5;max-width:40ch}}
/* CTA de tancament (fons clar, centrat, 100vh) */
.qcta{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.qcta .what__label{display:inline-block;margin-bottom:clamp(16px,2vw,24px)}
.qcta__title{font-family:var(--sans);font-size:clamp(2rem,4vw,3.4rem);font-weight:600;letter-spacing:-.035em;line-height:1.03;color:var(--marro);margin:0 auto;max-width:18ch}
.qcta__title em{font-style:normal;color:inherit}
.qcta__lead{font-size:clamp(1.05rem,1.3vw,1.25rem);line-height:1.6;color:var(--marro-2);max-width:48ch;margin:clamp(16px,2vw,24px) auto clamp(30px,3.6vw,44px)}
/* CTA final · banda terracota */
.pcta{background:var(--terra);color:var(--paper);margin:clamp(24px,4vw,66px) var(--pad) 0;border-radius:8px;
  padding:clamp(54px,8vw,110px) clamp(24px,5vw,80px)}
.pcta__in{max-width:var(--wrap);margin:0 auto}
.pcta .what__label{color:var(--paper)}
.pcta .what__mark{color:var(--paper)}
.pcta__title{font-family:var(--sans);font-size:clamp(2rem,4.2vw,3.6rem);font-weight:600;letter-spacing:-.035em;
  line-height:1.03;margin:clamp(16px,2vw,26px) 0 0;color:var(--paper);max-width:18ch}
.pcta__title em{font-style:normal;color:var(--paper)}
.pcta__lead{font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.55;color:var(--paper);
  max-width:46ch;margin:clamp(16px,2vw,26px) 0 clamp(28px,3.4vw,44px)}
/* dues persones (qui som) */
.pperson{display:grid;grid-template-columns:clamp(220px,32%,360px) 1fr;gap:clamp(24px,4vw,56px);align-items:start;
  padding:clamp(34px,4.5vw,66px) 0;border-top:1px solid var(--line)}
.pperson:first-of-type{border-top:0}
.pperson__ph{margin:0;aspect-ratio:4/5;border-radius:2px;overflow:hidden;background:var(--beige)}
.pperson__ph img{width:100%;height:100%;object-fit:cover;display:block}
.pperson__name{font-family:var(--sans);font-size:clamp(1.5rem,2.2vw,2.1rem);font-weight:600;letter-spacing:-.025em;margin:0 0 6px;color:var(--marro)}
.pperson__role{font-family:var(--mono);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--marro-2);display:block;margin-bottom:clamp(16px,2vw,24px)}
.pperson__bio p{font-size:1rem;line-height:1.65;color:var(--marro-2);max-width:56ch;margin-bottom:12px}
@media(max-width:640px){.pperson{grid-template-columns:1fr;gap:20px}.pperson__ph{max-width:280px}}
/* contacte */
.pcontact{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:start}
@media(max-width:820px){.pcontact{grid-template-columns:1fr;gap:36px}}
.pcontact__row{display:block;padding:clamp(18px,2vw,26px) 0;border-top:1px solid var(--line)}
.pcontact__row:first-child{border-top:0}
.pcontact__k{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--marro-2);display:block;margin-bottom:8px}
.pcontact__v{font-family:var(--sans);font-size:clamp(1.15rem,1.7vw,1.6rem);font-weight:500;letter-spacing:-.02em;color:var(--marro);display:inline-block}
a.pcontact__v:hover{color:var(--terra)}

/* formulari de contacte */
.pform{display:grid;gap:clamp(18px,2.2vw,26px);max-width:540px}
.pform label{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--marro-2);margin-bottom:10px}
.pform input,.pform textarea{width:100%;font-family:var(--sans);font-size:clamp(1.02rem,1.2vw,1.12rem);color:var(--marro);background:transparent;
  border:0;border-bottom:1px solid var(--line);border-radius:0;padding:11px 2px;transition:border-color .25s var(--ease)}
.pform input::placeholder,.pform textarea::placeholder{color:#c3b393}
.pform input:hover,.pform textarea:hover{border-bottom-color:#cdba96}
.pform input:focus,.pform textarea:focus{outline:none;border-bottom-color:var(--terra)}
.pform textarea{min-height:92px;resize:vertical;line-height:1.55}
.pform__modal{display:flex;gap:22px;flex-wrap:wrap;margin-top:2px}
.pform__radio{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:.98rem;color:var(--marro);cursor:pointer}
.pform__radio input{width:auto}
.pform__note{font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;color:var(--marro-2);margin-top:4px}
.pform label.pform__consent{display:flex;gap:11px;align-items:flex-start;font-family:var(--sans);font-size:.82rem;font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.45;color:var(--marro-2);margin:6px 0 0;cursor:pointer}
.pform label.pform__consent input{flex:0 0 auto;width:17px;height:17px;margin:1px 0 0;accent-color:var(--terra);cursor:pointer}
.pform label.pform__consent a{color:var(--terra);text-decoration:underline;text-underline-offset:2px}

/* contacte · millores (capçalera, grid, segmented, panell, passos) */
.pform-col{min-width:0}
.pform__head{margin-bottom:clamp(22px,3vw,34px)}
.pform__head .what__label{display:inline-block;margin-bottom:clamp(12px,1.5vw,16px)}
.pform__intro{font-size:clamp(1rem,1.15vw,1.14rem);line-height:1.6;color:var(--marro-2);max-width:44ch;margin:0}
.pform{max-width:none}
.pform__grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.6vw,22px)}
.pform__field{min-width:0}
@media(max-width:520px){.pform__grid2{grid-template-columns:1fr}}
.segment{display:inline-flex;gap:clamp(22px,3vw,38px);background:none;border:0;padding:0}
.segment input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pform .segment label{margin:0;padding:6px 1px;border:0;border-bottom:2px solid transparent;border-radius:0;cursor:pointer;font-family:var(--sans);font-size:1.02rem;font-weight:500;letter-spacing:-.01em;text-transform:none;color:var(--marro-2);transition:color .3s var(--ease),border-color .3s var(--ease)}
.segment input:checked + label{color:var(--terra);border-bottom-color:var(--terra);background:none}
.segment input:focus-visible + label{outline:2px solid var(--terra);outline-offset:3px}
.pform__hint{font-size:.9rem;line-height:1.5;color:var(--marro-2);margin:10px 0 0}
.pform__submit{justify-self:start;margin-top:6px;width:max-content;background:none;border:0;padding:0;-webkit-appearance:none;appearance:none}
.cside{align-self:start}
@media(min-width:821px){.cside{border-left:1px solid var(--line);padding-left:clamp(34px,4vw,64px)}}
.cside .what__label{display:inline-block}
.cside__lead{font-size:clamp(1.02rem,1.2vw,1.14rem);line-height:1.55;color:var(--marro-2);margin:0 0 clamp(20px,2.6vw,32px);max-width:34ch}
.cinfo{margin:0;padding:0}
.cinfo__row{padding:clamp(15px,1.8vw,21px) 0;border-top:1px solid var(--line)}
.cinfo__row:first-child{border-top:0;padding-top:0}
.cinfo dt{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--marro-2);margin-bottom:7px}
.cinfo dd{margin:0;font-family:var(--sans);font-size:clamp(1.05rem,1.3vw,1.2rem);font-weight:500;letter-spacing:-.015em;color:var(--marro);line-height:1.3}
.cinfo dd a{color:inherit;text-decoration:none;transition:color .25s var(--ease)}
.cinfo dd a:hover{color:var(--terra)}

/* contacte v2 · formulari centrat, info sota, procés apilat, faq+imatge, mapa ample */
.ctop{max-width:760px;margin:0 auto}
.cinfo--strip{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,3vw,44px);max-width:980px;margin:clamp(46px,6vw,86px) auto 0;padding-top:clamp(28px,3.4vw,44px);border-top:1px solid var(--line)}
.cinfo--strip .cinfo__row{border-top:0;padding:0}
.cinfo--strip dt{margin-bottom:9px}
.cinfo--strip dd{font-size:clamp(1.05rem,1.35vw,1.28rem)}
@media(max-width:720px){.cinfo--strip{grid-template-columns:1fr 1fr;gap:26px}}
@media(max-width:430px){.cinfo--strip{grid-template-columns:1fr}}

.fflow{list-style:none;margin:clamp(30px,4vw,52px) 0 0;padding:0;border-top:1px solid var(--line)}
.fflow__step{display:grid;grid-template-columns:clamp(58px,7vw,120px) 1fr;gap:clamp(20px,4vw,60px);align-items:baseline;padding:clamp(24px,3.4vw,46px) 0;border-bottom:1px solid var(--line)}
.fflow__n{font-family:var(--sans);font-weight:700;font-size:clamp(2rem,4vw,3.4rem);line-height:.85;letter-spacing:-.03em;color:var(--terra)}
.fflow__b h3{font-family:var(--sans);font-size:clamp(1.25rem,1.9vw,1.7rem);font-weight:600;letter-spacing:-.02em;margin:0 0 9px;color:var(--marro);line-height:1.12}
.fflow__b p{margin:0;font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.6;color:var(--marro-2);max-width:62ch}
@media(max-width:600px){.fflow__step{grid-template-columns:1fr;gap:8px;padding:clamp(22px,5vw,30px) 0}.fflow__n{font-size:2rem}}

.faqx{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(30px,5vw,74px);align-items:start}
.faqx__media{border-radius:2px;overflow:hidden;aspect-ratio:3/4}
.faqx__media img{width:100%;height:100%;object-fit:cover;display:block}
.faqx__body .faq{margin-top:clamp(18px,2.4vw,30px)}
/* FAQ amb fons terracota */
.faqsec--terra{background:var(--terra);color:var(--paper);max-width:none;padding:0;overflow:hidden;margin-top:clamp(48px,7vw,104px)}
.faqsec--terra .faqx{max-width:none;margin:0;padding:0;gap:0;grid-template-columns:.88fr 1.12fr;align-items:stretch;min-height:90vh}
.faqsec--terra .faqx__media{aspect-ratio:auto;align-self:stretch;border-radius:0;position:relative;overflow:hidden}
.faqsec--terra .faqx__media img{position:absolute;inset:0}
.faqsec--terra .faqx__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 84%,rgba(43,36,28,.16) 100%)}
.faqsec--terra .faqx__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,3.4vw,52px) clamp(28px,5.5vw,80px)}
.faqsec--terra .pblock__head{margin-bottom:clamp(10px,1.3vw,18px)}
.faqsec--terra .faqx__lead{color:var(--paper);font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.55;max-width:44ch;margin:0}
.faqsec--terra .faqx__body .faq{margin-top:clamp(10px,1.4vw,18px)}
.faqsec--terra .faq__q{padding:clamp(11px,1.3vw,15px) 0;font-size:clamp(1rem,1.2vw,1.18rem);transition:color .35s var(--ease),transform .5s var(--ease-out-quart),font-size .45s var(--ease-out-quart)}
.faqsec--terra .faq__item.is-open .faq__q{font-size:clamp(1.2rem,1.6vw,1.55rem)}
.faqsec--terra .faq__a-in{opacity:0;transition:opacity .45s var(--ease)}
.faqsec--terra .faq__item.is-open .faq__a-in{opacity:1;transition-delay:.08s}
.faqsec--terra .faq__a{transition:grid-template-rows .45s var(--ease-out-quart)}
.faqsec--terra .faq__ic{transition:transform .45s var(--ease-out-quart)}
.faqsec--terra .faq__q[aria-expanded="true"] .faq__ic{transform:rotate(180deg)}
.faqsec--terra .what__label,.faqsec--terra .what__mark{color:var(--paper)}
.faqsec--terra .pblock__head h2{color:var(--paper)}
.faqsec--terra .faq{border-top-color:rgba(249,244,233,.3)}
.faqsec--terra .faq__item{border-bottom-color:rgba(249,244,233,.3)}
.faqsec--terra .faq__q{color:var(--paper)}
.faqsec--terra .faq__q:hover{color:rgba(249,244,233,.9)}
.faqsec--terra .faq__item.is-open .faq__q{color:#fff}
.faqsec--terra .faq__ic::before,.faqsec--terra .faq__ic::after{background:var(--paper)}
.faqsec--terra .faq__a-in p{color:var(--paper)}
.faqsec--terra .faq__a-in a{color:#f7e4c7}
.faqsec--terra .faq__a-in a:hover{color:var(--paper)}
/* FAQ al mòbil: apila imatge a dalt + preguntes a sota, amb més presència */
@media(max-width:820px){
  .faqsec--terra .faqx{grid-template-columns:1fr;min-height:0}
  .faqsec--terra .faqx__media{aspect-ratio:16/11;align-self:auto;min-height:clamp(210px,54vw,300px)}
  .faqsec--terra .faqx__media::after{background:linear-gradient(180deg,transparent 60%,rgba(43,36,28,.28) 100%)}
  .faqsec--terra .faqx__body{padding:clamp(34px,9vw,52px) var(--pad) clamp(40px,11vw,60px)}
  .faqsec--terra .faq__q{padding:16px 0;font-size:1.08rem;color:var(--paper)}
  .faqsec--terra .faq__item.is-open .faq__q{font-size:1.34rem}
  .faqsec--terra .faq__a-in p{font-size:1.02rem;line-height:1.6}
}
@media(max-width:860px){.faqx{grid-template-columns:1fr;gap:clamp(24px,5vw,36px)}.faqx__media{position:static;aspect-ratio:16/10;max-height:340px}
.faqsec--terra .faqx{grid-template-columns:1fr;min-height:0;height:auto}
.faqsec--terra .faqx__media{aspect-ratio:16/10;height:auto;min-height:clamp(220px,52vw,300px);max-height:none}
.faqsec--terra .faqx__body{padding:clamp(30px,7vw,46px) var(--pad)}
.faqsec--terra .faq__item.is-open .faq__q{font-size:clamp(1.25rem,5.4vw,1.65rem)}}

.cmap-grow{padding-bottom:0}
.cmap-grow .mfimg__frame{height:clamp(320px,56vh,620px)}
.cmap__frame{width:100%;height:100%;border:0;display:block;filter:saturate(.9) contrast(.98)}

.ccta{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.ccta__title{font-family:var(--sans);font-size:clamp(2.1rem,4.8vw,3.7rem);font-weight:600;letter-spacing:-.03em;line-height:1.02;color:var(--marro);margin:0;max-width:18ch}
.ccta__title em{font-style:normal;color:inherit}
.ccta__lead{font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.6;color:var(--marro-2);max-width:54ch;margin:clamp(16px,2vw,22px) auto clamp(26px,3vw,34px)}
.ccta__btn{margin:0 auto}
.ccta .what__label{margin-bottom:clamp(14px,1.9vw,22px)}

/* CTA final de pàgina de servei */
.stail{text-align:center;max-width:820px;margin-inline:auto;padding-bottom:clamp(110px,14vh,190px);min-height:90vh;display:flex;flex-direction:column;justify-content:center}
.stail .what__label,.cta .what__label{display:inline-block;margin-bottom:clamp(14px,1.9vw,22px)}
.cta{min-height:90vh;display:flex;align-items:center;justify-content:center}
.pband--soft .cproc__word{background:transparent;padding:0}
.stail__title{font-family:var(--sans);font-size:clamp(1.9rem,3.6vw,3rem);font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--marro);margin:0}
.stail__lead{font-size:clamp(1.05rem,1.2vw,1.16rem);line-height:1.6;color:var(--marro-2);margin:clamp(14px,1.8vw,20px) auto clamp(26px,3vw,34px);max-width:50ch}
.stail .btn{margin-inline:auto}
.stail__more{margin-top:clamp(40px,5.5vw,72px);padding-top:clamp(22px,2.6vw,32px);border-top:1px solid var(--line)}
.stail__more > .what__label{display:inline-block;margin-bottom:clamp(16px,2.2vw,26px)}
.smore{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(20px,3.5vw,52px)}
.smore__item{position:relative;text-decoration:none}
.smore__name{font-family:var(--sans);font-size:clamp(1.1rem,1.5vw,1.4rem);font-weight:500;letter-spacing:-.015em;color:var(--marro);border-bottom:1.5px solid transparent;padding-bottom:3px;transition:color .25s var(--ease),border-color .25s var(--ease)}
.smore__item:hover .smore__name,.smore__item:focus-visible .smore__name{color:var(--terra);border-bottom-color:var(--terra)}
.smore__pop{position:absolute;left:50%;top:calc(100% + 12px);transform:translate(-50%,6px);z-index:20;display:flex;align-items:center;gap:11px;width:max-content;max-width:330px;padding:10px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:4px;box-shadow:0 22px 46px -26px rgba(43,36,28,.5);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s}
.smore__item:hover .smore__pop,.smore__item:focus-visible .smore__pop{opacity:1;visibility:visible;transform:translate(-50%,0)}
.smore__pop img{width:86px;height:66px;object-fit:cover;border-radius:2px;flex:none;display:block}
.smore__txt{font-size:.88rem;line-height:1.42;color:var(--marro-2);max-width:190px}
@media(max-width:640px){.smore{flex-direction:column;align-items:center;gap:12px}
.smore__item{width:100%;max-width:340px;display:grid;grid-template-columns:58px 1fr;grid-template-areas:"img name" "img txt";column-gap:11px;row-gap:2px;align-items:center;border:1px solid var(--line);border-radius:4px;padding:8px}
.smore__pop{display:contents;visibility:visible;opacity:1}
.smore__name{grid-area:name;align-self:end;text-align:left;font-size:.98rem;border-bottom:0;padding-bottom:0}
.smore__pop img{grid-area:img;width:58px;height:100%;min-height:52px;align-self:stretch;margin:0;visibility:visible;opacity:1}
.smore__txt{grid-area:txt;align-self:start;font-size:.8rem;line-height:1.35;max-width:none;color:var(--marro-2);visibility:visible;opacity:1}}

/* hero de pàgina de servei · dues imatges (esquerra ampla amb text, dreta estreta) */
.shero{--pfr:clamp(9px,1vw,15px);padding:var(--pfr);background:var(--paper)}
.shero__grid{display:grid;grid-template-columns:1.75fr 1fr;gap:var(--pfr);height:min(80vh,780px)}
.shero__col{position:relative;border-radius:6px;overflow:hidden;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;color:var(--paper);padding:clamp(22px,3vw,54px)}
.shero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shero__col::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(43,36,28,.34) 0%,rgba(43,36,28,.08) 30%,rgba(43,36,28,.6) 70%,rgba(43,36,28,.92) 100%)}
.shero__in{position:relative;z-index:2;width:100%}
.shero .what__label{color:var(--paper);display:inline-block;margin-bottom:clamp(14px,2vw,22px)}
.shero__col--side .shero__in{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,2vw,20px)}
.shero__col--side .phero__intro{font-size:clamp(1rem,1.15vw,1.2rem);max-width:34ch;margin:0}
@media(max-width:820px){
  .shero__grid{grid-template-columns:1fr;height:auto}
  .shero__col--main{min-height:60vh}
  .shero__col--side{aspect-ratio:16/10}
}

/* servei · intro horitzontal (etiqueta esquerra, títol + text dreta) */
.srvintro{display:grid;grid-template-columns:clamp(120px,22%,240px) 1fr;gap:clamp(24px,5vw,72px);align-items:start;align-content:center;min-height:74vh;border-top:0}
.srvintro > .what__label{margin-top:.35em}
.srvintro__body h2{font-family:var(--sans);font-size:clamp(1.7rem,2.8vw,2.7rem);font-weight:600;letter-spacing:-.03em;line-height:1.06;color:var(--marro);margin:0}
.srvintro__body p{font-size:clamp(1.08rem,1.3vw,1.28rem);line-height:1.6;color:var(--marro-2);margin:clamp(18px,2.2vw,28px) 0 0;max-width:62ch}
@media(max-width:760px){.srvintro{grid-template-columns:1fr;gap:clamp(12px,2vw,18px)}}
.mtop0{border-top:0}
.pblock__lead--tarif{margin-top:clamp(26px,3.2vw,40px);max-width:64ch;color:var(--marro-2)}

/* pestanyes amb icona al selector */
.xtabs--icons .xtab{display:flex;align-items:center;gap:11px}
.xtabs--icons .xtab__ic{flex:none;width:22px;height:22px;color:var(--terra)}
.xtabs--icons .xtab__ic svg{width:100%;height:100%;display:block}
@media(max-width:820px){.xtabs--icons .xtab__ic{display:none}}

/* per a qui · panells d'imatge que s'expandeixen amb hover */
.ppanels{display:flex;gap:clamp(10px,1.1vw,16px);height:clamp(400px,52vh,560px)}
.ppanel{position:relative;flex:1;min-width:0;overflow:hidden;border-radius:4px;isolation:isolate;color:var(--paper);transition:flex .55s var(--ease-out-quart)}
.ppanel:hover,.ppanel:focus-visible{flex:2.6;outline:none}
.ppanel__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out-quart)}
.ppanel:hover .ppanel__img,.ppanel:focus-visible .ppanel__img{transform:scale(1.05)}
.ppanel::before{content:"";position:absolute;inset:0;z-index:1;background:var(--terra);opacity:0;transition:opacity .5s var(--ease)}
.ppanel:hover::before,.ppanel:focus-visible::before{opacity:1}
.ppanel::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 42%,rgba(43,36,28,.62) 100%);pointer-events:none;opacity:1;transition:opacity .5s var(--ease)}
.ppanel:hover::after,.ppanel:focus-visible::after{opacity:0}
.ppanel__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(18px,1.9vw,30px)}
.ppanel__ic{width:32px;height:32px;color:#f0d9b8;margin-bottom:clamp(10px,1.2vw,16px);flex:none}
.ppanel__ic svg{width:100%;height:100%;display:block}
.ppanel__title{font-family:var(--sans);font-size:clamp(1.15rem,1.5vw,1.55rem);font-weight:600;letter-spacing:-.02em;line-height:1.12;margin:0;color:var(--paper)}
.ppanel__detail{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transition:grid-template-rows .5s var(--ease),opacity .5s var(--ease),margin-top .5s var(--ease)}
.ppanel:hover .ppanel__detail,.ppanel:focus-visible .ppanel__detail{grid-template-rows:1fr;opacity:1;margin-top:clamp(12px,1.4vw,18px)}
.ppanel__detail-in{overflow:hidden;min-height:0}
.ppanel__detail p{margin:0 0 12px;font-size:clamp(.95rem,1.05vw,1.05rem);line-height:1.55;color:rgba(249,244,233,.9);max-width:44ch}
.ppanel__detail ul{list-style:none;margin:0;padding:0}
.ppanel__detail li{position:relative;padding-left:18px;font-size:.9rem;line-height:1.5;color:var(--paper);margin-bottom:5px}
.ppanel__detail li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:#f0d9b8}
@media(max-width:820px){
  .ppanels{flex-direction:column;height:auto;gap:12px}
  .ppanel{flex:none;min-height:clamp(330px,88vw,410px)}
  .ppanel:hover,.ppanel:focus-visible{flex:none}
  /* de primeres: només icona + títol, contingut alineat a baix de la imatge */
  .ppanel__content{position:absolute;inset:0;justify-content:flex-end}
  .ppanel__detail{grid-template-rows:0fr;opacity:0;margin-top:0}
  .ppanel__detail-in ul{display:none}
  /* s'activa amb el scroll (com el hover): terracota + descripció */
  .ppanel.is-on::before{opacity:1}
  .ppanel.is-on::after{opacity:0}
  .ppanel.is-on .ppanel__img{transform:scale(1.05)}
  .ppanel.is-on .ppanel__detail{grid-template-rows:1fr;opacity:1;margin-top:clamp(10px,2.5vw,14px)}
}

/* CTA de servei · etiqueta a sobre */
.stail > .what__label{display:inline-block;margin-bottom:clamp(14px,1.8vw,20px)}

/* altres serveis · hover revela imatge + mini text */
.sother{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,44px)}
.sother__item{display:block;text-decoration:none;color:inherit;border-top:1px solid var(--line);padding-top:clamp(15px,1.9vw,22px)}
.sother__head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.sother__name{font-family:var(--sans);font-size:clamp(1.15rem,1.7vw,1.5rem);font-weight:600;letter-spacing:-.02em;color:var(--marro);transition:color .3s var(--ease)}
.sother__go{color:var(--marro-2);font-size:1.1rem;transition:transform .3s var(--ease),color .3s var(--ease)}
.sother__reveal{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transition:grid-template-rows .42s var(--ease),opacity .42s var(--ease),margin-top .42s var(--ease)}
.sother__inner{overflow:hidden;min-height:0}
.sother__img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:2px;display:block}
.sother__txt{display:block;font-size:.95rem;line-height:1.5;color:var(--marro-2);margin-top:10px}
.sother__item:hover .sother__reveal,.sother__item:focus-visible .sother__reveal{grid-template-rows:1fr;opacity:1;margin-top:clamp(12px,1.5vw,18px)}
.sother__item:hover .sother__name,.sother__item:focus-visible .sother__name{color:var(--terra)}
.sother__item:hover .sother__go,.sother__item:focus-visible .sother__go{color:var(--terra);transform:translateX(4px)}
@media(max-width:760px){.sother{grid-template-columns:1fr;gap:0}.sother__item{padding-bottom:clamp(18px,4vw,24px)}.sother__reveal{grid-template-rows:1fr;opacity:1;margin-top:clamp(12px,3vw,16px)}}

/* formulari · capçalera centrada, obligatoris, error i estat */
.pform__head{text-align:center}
.pform__head .pform__intro{margin-inline:auto}
.pform__field:has(input:required) label::after{content:" *";color:var(--terra)}
.pform__field.is-error input,.pform__field.is-error textarea{border-bottom-color:#c0492b}
.pform__field.is-error label{color:#c0492b}
.pform__status{font-size:.92rem;line-height:1.5;margin:4px 0 0;min-height:1.1em;transition:color .3s var(--ease)}
.pform__status.is-bad{color:#c0492b}
.pform__status.is-ok{color:var(--terra)}

/* contacte v3 · info gran a l'esquerra + formulari a la dreta */
#contacte{border-top:0}
.pcontact2{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(36px,5vw,80px);align-items:start}
@media(max-width:880px){.pcontact2{grid-template-columns:1fr;gap:clamp(40px,8vw,58px)}}
.cinfo2{display:flex;flex-direction:column;gap:clamp(30px,4.4vw,58px)}
.cinfo2__row{display:grid;grid-template-columns:clamp(66px,7vw,110px) 1fr;gap:clamp(14px,2vw,30px);align-items:start}
.cinfo2__k{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--marro-2);padding-top:.5em}
.cinfo2__mail,.cinfo2__city{display:inline-block;font-family:var(--sans);font-weight:600;letter-spacing:-.025em;color:var(--marro);line-height:1.1;margin:0;text-decoration:none}
.cinfo2__city{font-size:clamp(1.5rem,2.7vw,2.3rem)}
.cinfo2__mail{font-size:clamp(1.05rem,1.7vw,1.5rem);word-break:normal;overflow-wrap:normal}
.cinfo2__mail{transition:color .25s var(--ease)}
.cinfo2__mail:hover{color:var(--terra)}
.cinfo2__sub{font-size:clamp(.95rem,1.1vw,1.06rem);line-height:1.5;color:var(--marro-2);margin:clamp(8px,1vw,12px) 0 0}
@media(max-width:600px){.cinfo2__mail,.cinfo2__city{font-size:clamp(1.22rem,5.4vw,1.5rem);word-break:normal;overflow-wrap:anywhere}}
.cinfo2__social{display:flex;flex-wrap:wrap;gap:clamp(16px,2.2vw,30px);align-items:baseline;padding-top:.3em}
.cinfo2__social a{font-family:var(--sans);font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:500;letter-spacing:-.01em;color:var(--marro);text-decoration:none;transition:color .25s var(--ease)}
.cinfo2__social a:hover{color:var(--terra)}
/* botó enviar · outline, sense fons */
.pform__send{justify-self:start;margin-top:6px;background:none;border:1px solid var(--marro);color:var(--marro);font-family:var(--sans);font-size:.98rem;font-weight:500;letter-spacing:.005em;padding:14px 34px;border-radius:2px;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.pform__send:hover{background:var(--marro);color:var(--paper)}
.pform__send:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
/* formulari dins un panell beige amb vora, per fer contrast */
.pform--under{background:#f1e8d4;border:1px solid var(--line);border-radius:4px;padding:clamp(24px,3vw,42px)}
@media(max-width:880px){.pform--under{padding:clamp(22px,5vw,30px)}}
.fsteps{list-style:none;margin:clamp(30px,4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,54px)}
.fstep{border-top:2px solid var(--marro);padding-top:clamp(16px,1.8vw,22px)}
.fstep__n{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--terra);text-transform:uppercase;margin-bottom:clamp(12px,1.5vw,18px)}
.fstep h3{font-family:var(--sans);font-size:clamp(1.15rem,1.6vw,1.5rem);font-weight:600;letter-spacing:-.02em;margin:0 0 9px;color:var(--marro);line-height:1.15}
.fstep p{margin:0;font-size:clamp(.95rem,1.05vw,1.05rem);line-height:1.55;color:var(--marro-2)}
@media(max-width:760px){.fsteps{grid-template-columns:1fr;gap:0}.fstep{border-top:1px solid var(--line);padding:clamp(18px,2vw,24px) 0}.fstep:first-child{border-top:0}}

/* contacte · FAQ (acordió) */
.faq{list-style:none;margin:clamp(22px,3vw,40px) 0 0;padding:0;border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,2vw,28px);background:none;border:0;cursor:pointer;text-align:left;padding:clamp(14px,1.7vw,19px) 0;font-family:var(--sans);font-size:clamp(1rem,1.25vw,1.16rem);font-weight:600;letter-spacing:-.015em;color:var(--marro);transition:color .3s var(--ease)}
.faq__q:hover{color:var(--terra)}
.faq__item.is-open .faq__q{color:var(--terra)}
.faq__ic{position:relative;flex:none;width:20px;height:20px}
.faq__ic::before,.faq__ic::after{content:"";position:absolute;background:var(--terra);transition:transform .35s var(--ease),opacity .35s var(--ease)}
.faq__ic::before{left:0;top:50%;width:100%;height:1.6px;transform:translateY(-50%)}
.faq__ic::after{top:0;left:50%;width:1.6px;height:100%;transform:translateX(-50%)}
.faq__q[aria-expanded="true"] .faq__ic::after{transform:translateX(-50%) scaleY(0);opacity:0}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
.faq__a-in{overflow:hidden}
.faq__a-in p{margin:0 0 clamp(14px,1.8vw,20px);max-width:66ch;font-size:clamp(.96rem,1.05vw,1.05rem);line-height:1.58;color:var(--marro-2)}
.faq__a-in a{color:var(--terra);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.faq__a-in a:hover{color:var(--marro)}

/* contacte · ubicació (mapa estilitzat) */
.cloc{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,72px);align-items:center}
@media(max-width:820px){.cloc{grid-template-columns:1fr;gap:clamp(28px,5vw,40px)}}
.cloc__map{position:relative;border-radius:2px;overflow:hidden;background:var(--paper2);border:1px solid var(--line);aspect-ratio:4/3}
.cloc__frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:saturate(.9) contrast(.98)}
.cloc__info .what__label{display:inline-block;margin-bottom:clamp(12px,1.5vw,18px)}
.cloc__city{font-family:var(--sans);font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--marro);margin:0}
.cloc__sub{font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--terra);margin:clamp(10px,1.4vw,16px) 0 0}
.cloc__note{font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.6;color:var(--marro-2);max-width:46ch;margin:clamp(16px,2vw,24px) 0 clamp(20px,2.6vw,30px)}
.cloc__note b{color:var(--marro);font-weight:600}

/* sub-navegació contextual de pàgina (La consulta) */
.subnav{position:sticky;top:52px;z-index:50;background:rgba(249,244,233,.9);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.subnav__in{max-width:var(--wrap);margin:0 auto;padding:15px var(--pad);display:flex;gap:clamp(20px,3vw,44px);
  overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.subnav__in::-webkit-scrollbar{display:none}
.subnav a{position:relative;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--marro-2);white-space:nowrap;padding:5px 0;transition:color .3s}
.subnav a:hover{color:var(--marro)}
.subnav a.is-active{color:var(--terra)}
.subnav a::after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:2px;background:var(--terra);
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out-quart)}
.subnav a.is-active::after{transform:scaleX(1)}


/* Tipografia mòbil: cos de text de lectura més còmode (≥16px) */
@media(max-width:600px){
  .pitem p,.pcard__meta p,.quisom__body,.metod__body p,.split-ed__body,.person__body p{font-size:1.02rem;line-height:1.62}
  .pitem__list li,.tcard__list li,.plan__list li{font-size:1rem;line-height:1.5}
  .hero__sub{font-size:1rem;line-height:1.55}
  .tarif__det{font-size:.72rem}
}

/* Punt 8 — Tarifes: més aire (secció ~85vh, centrada) */
#tarifes{min-height:85vh;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(70px,11vw,130px);padding-bottom:clamp(70px,11vw,130px)}
#tarifes .pband__in{width:100%}
/* Punt 9 — Xerrades: més separació entre seccions i "Què hi treballem" més alta */
.xer-comfem{margin-top:clamp(40px,9vw,92px)}
.xer-temes{padding-top:clamp(78px,12vw,150px);padding-bottom:clamp(78px,12vw,150px)}

/* Punt 5 — Footer mòbil: logo i text descriptiu alineats a l'esquerra amb les columnes
   (la regla base .footer__big{margin:0 auto} el centrava; aquí guanya per ordre) */
@media(max-width:820px){
  .footer__big{max-width:none;margin:0;align-self:stretch}
}
