/* Fonts allotjades a la web (sense peticions a Google) */
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/BodoniModa-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/BodoniModa-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/BodoniModa-italic-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/BodoniModa-italic-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/BodoniModa-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/BodoniModa-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Forum';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Forum-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Forum';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Forum-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Jost-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Jost-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Jost-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Jost-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/Nunito-normal-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/Nunito-normal-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
:root{color-scheme:dark;
  --plum:#35202F; --apricot:#E0AE93; --apricot-deep:#9A5A40; --dusty:#D9BFB3; --cream:#F3E6DE; --cream-2:#EAD9CF; --muted-c:#6E5264;
  --gut:max(16px,4.5cqi);
  /* Peces de l'editor (cms.css): no canvien amb els colors triats a l'editor */
  --tinta:#2A1A27; --tinta-2:#6E5264; --paper:#FBF6F2; --lli:#F1E6E0; --linia:rgba(53,32,47,.16); --oliva:#9A5A40; --ratlla:#B8392A;
  --ombra:0 20px 60px rgba(0,0,0,.35); --f-text:"Jost",system-ui,sans-serif; --f-disp:"Bodoni Moda",Georgia,serif; --f-mono:ui-monospace,"SF Mono",Menlo,monospace; --gutter:16px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--plum)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;color:var(--cream);font-family:"Jost",system-ui,-apple-system,sans-serif;font-size:18px;line-height:1.55;overflow-x:hidden}
h1,h2,h3,h4{text-wrap:balance;font-weight:400}
button{font:inherit}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--apricot);outline-offset:3px}
.sky{position:fixed;inset:0;z-index:0;pointer-events:none}
.page{container-type:inline-size;position:relative;z-index:1;overflow:hidden}
.page img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none}
.page a{color:inherit;text-decoration:none}

/* Capçalera */
.m-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px var(--gut);font-size:16px}
.logo{display:flex;flex-direction:column;gap:4px;line-height:1;cursor:default}
.logo b{font-family:"Forum",Georgia,serif;font-weight:400;font-size:26px;letter-spacing:.02em;transition:letter-spacing .6s cubic-bezier(.2,.7,.2,1)}
.logo:hover b{letter-spacing:.07em}
.logo small{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--dusty)}
.m-menu{display:flex;gap:22px;color:var(--dusty);letter-spacing:.04em}
.ml{position:relative;cursor:pointer;transition:color .25s;color:inherit;text-decoration:none}
.ml::after{content:"";position:absolute;left:50%;right:50%;bottom:-6px;height:1px;background:var(--apricot);transition:left .35s cubic-bezier(.2,.7,.2,1),right .35s cubic-bezier(.2,.7,.2,1)}
.ml:hover{color:var(--cream)}
.ml:hover::after{left:0;right:0}
.moon{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--dusty);letter-spacing:.06em;white-space:nowrap}
.moon svg{width:22px;height:22px;flex:none;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}
.moon:hover svg{transform:rotate(-25deg) scale(1.25);filter:drop-shadow(0 0 8px rgba(243,230,222,.7))}

.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:4.5cqi;padding:1cqi var(--gut) 0;align-items:center}
.h-left h1{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:clamp(40px,6.8cqi,90px);line-height:.94;margin:0 0 22px;letter-spacing:-.02em}
.h-left h1 em{font-style:italic;color:var(--apricot)}
.w{display:inline-block;transition:color .35s,text-shadow .35s,transform .45s cubic-bezier(.3,1.4,.5,1)}
.w:hover{transform:translateY(-6px) rotate(-2deg);text-shadow:0 0 26px rgba(224,174,147,.55)}
.lede{margin:0 0 24px;color:var(--dusty);font-size:18px;max-width:34ch}
.m-ctas{display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--apricot);color:var(--plum);padding:11px 20px;border-radius:999px;font-size:16px;font-weight:500;white-space:nowrap;cursor:pointer;border:0;transition:background .25s,color .25s,box-shadow .3s,transform .35s cubic-bezier(.3,1.4,.5,1)}
.btn:hover{box-shadow:0 10px 26px -10px rgba(224,174,147,.8)}
.btn.ghost{background:transparent;color:var(--cream);border:1px solid rgba(224,174,147,.5)}
.btn.ghost:hover{background:rgba(224,174,147,.14)}

/* Arcs: inclinació 3D i llum (ratolí a l'ordinador, scroll al mòbil) */
.arches{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:2.5cqi;padding:5cqi var(--gut) 0;align-items:end;perspective:1000px}
.arch{margin:0;border-radius:999px 999px 0 0;overflow:hidden;position:relative;max-width:100%;cursor:pointer;outline-offset:4px;
  transform:rotateX(calc(var(--ay,0)*-8deg)) rotateY(calc(var(--ax,0)*10deg));transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.arch:hover{transition-duration:.15s,.4s;box-shadow:0 30px 50px -24px rgba(0,0,0,.6)}
.arch::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .35s;
  background:radial-gradient(circle at var(--sx,50%) var(--sy,50%),rgba(255,240,210,.35),rgba(255,232,196,.13) 22%,transparent 48%),linear-gradient(125deg,rgba(142,134,203,.11),transparent 40%,rgba(242,180,139,.11))}
.arch:hover::after{opacity:1}
.arches .arch:nth-child(1),.arches .arch:nth-child(3){aspect-ratio:3/4}
.arches .arch:nth-child(2){aspect-ratio:4/5}
.arches .arch:nth-child(1) img{object-position:40% 50%}
.arches .arch:nth-child(2) img{object-position:30% 40%}
.arch figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:44px 16px 16px;background:linear-gradient(transparent,rgba(53,32,47,.94) 60%);font-family:"Bodoni Moda",serif;font-style:italic;font-size:clamp(20px,2.2cqi,24px);line-height:1.15}
.arch figcaption small{display:block;font-family:"Jost",sans-serif;font-style:normal;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--apricot);margin-top:3px}
.ad{display:block;max-height:0;opacity:0;overflow:hidden;font-family:"Jost",sans-serif;font-style:normal;font-size:16px;line-height:1.45;color:var(--cream);transition:max-height .5s cubic-bezier(.2,.7,.2,1),opacity .35s,margin .5s}
.ad b{font-weight:500;color:var(--apricot);white-space:nowrap}
.arch:hover .ad,.arch:focus-visible .ad{max-height:110px;opacity:1;margin-top:8px}
.touch .arch{transition:transform .15s linear,box-shadow .4s}
.touch .arch::after{opacity:var(--lo,0);transition:none}
.touch .arch .ad{max-height:110px;opacity:1;margin-top:8px}

/* Oracle */
.orc{--op:22px;position:relative;isolation:isolate;border-radius:22px;padding:22px var(--op) 18px;color:#F4EEF8;display:grid;gap:12px;
  background:
    radial-gradient(1.2px 1.2px at 12% 18%,#fff 50%,transparent),radial-gradient(1px 1px at 84% 12%,#fff 50%,transparent),
    radial-gradient(1px 1px at 70% 42%,#fff 50%,transparent),radial-gradient(1.3px 1.3px at 22% 66%,#fff 50%,transparent),
    radial-gradient(1px 1px at 92% 78%,#fff 50%,transparent),radial-gradient(1px 1px at 40% 8%,#fff 50%,transparent),
    radial-gradient(120% 90% at 80% 0%,#4C4994 0%,#2F2D66 48%,#23224C 100%);
  box-shadow:0 30px 70px -26px rgba(142,134,203,.8),0 0 70px -24px rgba(242,180,139,.5)}
.orc::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:30;
  background:conic-gradient(from var(--ang),rgba(242,180,139,.28) 0 62%,#F2B48B 74%,#FFF3E8 79%,#8E86CB 86%,rgba(242,180,139,.28) 96%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 7s linear infinite}
@keyframes spin{to{--ang:360deg}}
.orc-head{display:grid;gap:4px}
.orc-k{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#F2B48B;margin:0;font-weight:500}
.orc h2{font-family:"Bodoni Moda",Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(26px,2.9cqi,36px);margin:0;line-height:1}
.orc-d{font-size:15px;color:#C3BCDD;margin:0}
.orc-body{display:grid;position:relative}
.orc-stage,.orc-rev{grid-area:1/1}
.orc-stage{position:relative;border-radius:14px;outline-offset:4px;transition:opacity .45s ease .15s,height .45s cubic-bezier(.2,.7,.2,1)}
.orc.rv .orc-stage{opacity:0;pointer-events:none}
.orc-rev{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:18px;align-items:start;padding-top:4px}
.orc-slot{aspect-ratio:5/8;width:100%;position:relative}
.hcard{position:absolute;z-index:20;transform-style:preserve-3d;will-change:transform}
.hcard.placed{position:relative;left:auto;top:auto;width:100%;height:100%;transform:perspective(1400px) rotateY(180deg)}
.hcard .hb,.hcard .hf{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:10px;overflow:hidden;box-shadow:0 24px 44px -20px rgba(4,3,16,.85)}
.hcard .hb{background:var(--back) center/100% 100% no-repeat}
.hcard .hf{transform:rotateY(180deg)}
.face{height:100%;width:100%;container-type:inline-size;position:relative;border-radius:10px;overflow:hidden;background:#2C2B5E}
.face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.face .tab{position:absolute;left:0;bottom:8cqi;background:#24234A;color:#F6DCC4;padding:2.6cqi 6cqi 2.6cqi 5cqi;border-radius:0 3.5cqi 3.5cqi 0;font-family:"Nunito",system-ui,sans-serif;font-weight:800;font-size:6cqi;letter-spacing:.02em;line-height:1.2;max-width:88%}
.face .tab::before,.face .tab::after{content:"";position:absolute;top:-3cqi;width:0;height:0;border-left:2.4cqi solid transparent;border-right:2.4cqi solid transparent;border-bottom:3.4cqi solid #24234A}
.face .tab::before{right:4cqi}
.face .tab::after{right:10cqi}
.orc-txt{display:grid;gap:9px;align-content:start}
.orc-txt p{margin:0}
.orc-txt .rk{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#F2B48B;font-weight:500}
.orc-txt .rn{font-family:"Bodoni Moda",Georgia,serif;font-style:italic;font-size:clamp(27px,2.8cqi,34px);line-height:1}
.orc-txt .rm{font-size:17px;line-height:1.55}
.orc-txt .rq{font-size:17px;font-style:italic;padding-left:12px;border-left:2px solid #F2B48B;color:#E3DCF0}
.orc-txt .rq span{display:block;font-style:normal;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#C3BCDD;margin-bottom:2px}
.orc-txt .btn{background:#F2B48B;color:#24234A;justify-self:start;margin-top:4px}
.orc-foot{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;position:relative;z-index:31;min-height:44px}
.orc-btn{appearance:none;border:0;cursor:pointer;background:#F2B48B;color:#24234A;font:500 16px "Jost",system-ui,sans-serif;padding:11px 22px;border-radius:999px;animation:ping 2.6s ease-out infinite;transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.orc-btn:hover{transform:scale(1.05)}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(242,180,139,.55)}70%,100%{box-shadow:0 0 0 14px rgba(242,180,139,0)}}
.orc-hint{font-size:15px;color:#C3BCDD}
.orc-link{appearance:none;background:none;border:0;padding:0;color:#C3BCDD;text-decoration:underline;cursor:pointer;font-size:15px}
.orc-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;padding:12px 14px;border-radius:14px;background:rgba(242,180,139,.14);border:1px solid rgba(242,180,139,.45);animation:rise .35s cubic-bezier(.2,.7,.2,1)}
.orc-confirm b{font-family:"Bodoni Moda",Georgia,serif;font-style:italic;font-weight:400;font-size:20px;flex:1 1 auto}
.orc-confirm .yes{background:#F2B48B;color:#24234A}
.orc-confirm .no{background:transparent;color:#F4EEF8;border:1px solid rgba(242,180,139,.5)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.deck{cursor:pointer;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.deck::before{content:"";position:absolute;left:50%;bottom:0;width:86%;height:70px;translate:-50% 0;background:radial-gradient(ellipse at center,rgba(242,180,139,.38),transparent 70%);filter:blur(6px);pointer-events:none}
.deck.masked{-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.deck .halo{position:absolute;left:50%;top:58%;width:min(78%,420px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(242,180,139,.5),rgba(142,134,203,.24) 45%,transparent 70%);animation:pulse 3.4s ease-in-out infinite;pointer-events:none}
@keyframes pulse{0%,100%{scale:.9;opacity:.7}50%{scale:1.08;opacity:1}}
.deck .cb{position:absolute;left:0;top:0;will-change:transform;backface-visibility:hidden;background:var(--back) center/100% 100% no-repeat;border-radius:9px;box-shadow:0 12px 22px -12px rgba(5,4,20,.8);transition:box-shadow .3s,filter .3s}
.deck .cb.hot{box-shadow:0 0 0 2px #F2B48B,0 0 28px 4px rgba(242,180,139,.5),0 20px 30px -14px rgba(5,4,20,.9);filter:brightness(1.14) saturate(1.1)}
.deck .cb.hot::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,rgba(255,240,228,.42) 45%,rgba(142,134,203,.26) 55%,transparent 70%);background-size:260% 100%;animation:sheen 1.5s ease-in-out infinite}
.deck .cb.sel{box-shadow:0 0 0 3px #FFF3E8,0 0 40px 8px rgba(242,180,139,.7),0 20px 30px -14px rgba(5,4,20,.9)}
@keyframes sheen{from{background-position:120% 0}to{background-position:-20% 0}}
.touch .orc-body{margin-inline:calc(-1 * (var(--op) + var(--gut)))}
.touch .orc.rv .orc-body{margin-inline:0}
.touch .deck.open{touch-action:none}

/* Brúixola */
.bx{background:var(--cream);color:var(--plum);display:grid;grid-template-columns:1.1fr .9fr;gap:6cqi;padding:6cqi var(--gut);margin-top:6cqi;align-items:start;scroll-margin-top:16px}
.bx .kick{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--apricot-deep);margin:0 0 12px}
.bx h2{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:clamp(36px,6cqi,72px);line-height:.95;margin:0 0 14px;letter-spacing:-.02em}
.bx h2 em{font-style:italic;color:var(--apricot-deep)}
.bx .sub{margin:0 0 22px;color:var(--muted-c);font-size:18px;max-width:42ch}
.opts{border:0;margin:0;padding:0;border-top:1px solid rgba(53,32,47,.18)}
.opts legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt label{display:grid;grid-template-columns:24px 1fr auto;gap:14px;align-items:center;padding:15px 6px;border-bottom:1px solid rgba(53,32,47,.18);cursor:pointer;font-size:18px;color:var(--muted-c);transition:color .2s,background .3s,padding .35s cubic-bezier(.2,.7,.2,1)}
.opt label:hover{color:var(--plum);background:rgba(224,174,147,.16);padding-left:14px}
.opt input:checked+label{color:var(--plum)}
.opt input:focus-visible+label{outline:2px solid var(--plum);outline-offset:2px}
.opt .svc{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--apricot-deep);white-space:nowrap}
.opt svg{width:22px;height:22px;display:block}
.opt .ring{fill:none;stroke:currentColor;stroke-width:1.2;opacity:.55}
.opt .full{fill:var(--apricot);transform-origin:12px 12px;transform:scale(0);transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.opt input:checked+label .ring{opacity:1;stroke:var(--apricot-deep)}
.opt input:checked+label .full{transform:scale(1)}
.res{display:grid;gap:18px;justify-items:start;perspective:1000px}
.res .arch{width:min(100%,340px);aspect-ratio:4/5;background:var(--cream-2);cursor:default}
.res .arch img{transition:opacity .35s ease}
.res .arch img.fade{opacity:0}
.res .card{display:grid;gap:6px;max-width:40ch}
.res small{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--apricot-deep)}
.res b{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:clamp(28px,3.4cqi,38px);line-height:1.05}
.res p{margin:0;font-size:18px;color:var(--muted-c)}
.res .meta{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--plum)}
.res .btn{background:var(--plum);color:var(--cream);margin-top:8px;justify-self:start}
.ethic{font-size:16px;color:var(--muted-c);border-top:1px solid rgba(53,32,47,.18);padding-top:12px;max-width:44ch;margin:0}

.press{padding:6cqi var(--gut) 4cqi;display:grid;gap:14px;justify-items:start}
.press span{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--dusty)}
.press img{filter:invert(1);opacity:.62;height:auto;width:100%;max-width:640px;transition:opacity .4s}
.press:hover img{opacity:.95}
.sign{border-top:1px solid rgba(224,174,147,.3);padding:6cqi var(--gut) 3cqi;display:grid;justify-items:center;gap:10px;text-align:center}
.sign svg{width:18px;height:18px;fill:var(--apricot);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.sign:hover svg{transform:rotate(180deg) scale(1.3)}
.sign b{font-family:"Forum",Georgia,serif;font-weight:400;font-size:clamp(40px,7.8cqi,94px);letter-spacing:.02em;line-height:1}
.sign small{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--dusty)}
.m-foot{display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;padding:18px var(--gut) calc(24px + env(safe-area-inset-bottom,0px));font-size:15px;color:var(--dusty)}
.m-foot nav{display:flex;gap:18px;flex-wrap:wrap}

@container (max-width:780px){
  .m-menu{display:none}
  .hero{grid-template-columns:1fr;gap:34px}
  .arches{grid-template-columns:1fr 1fr;padding-top:44px;gap:12px}
  .arches .arch:nth-child(2){grid-column:1/-1;order:-1;aspect-ratio:1/1}
  .bx{grid-template-columns:1fr;padding-block:44px;margin-top:44px}
  .res{grid-template-columns:auto 1fr;align-items:end}
  .res .arch{width:min(36cqi,200px)}
  .res .ethic{grid-column:1/-1}
}
@container (max-width:480px){
  .orc{--op:18px}
  .moon span{display:none}
  .res{grid-template-columns:1fr}
  .res .arch{width:min(100%,300px)}
  .opt label{grid-template-columns:24px 1fr}
  .opt .svc{grid-column:2}
  .orc-rev{grid-template-columns:1fr;justify-items:center}
  .orc-slot{max-width:200px}
  .arch figcaption{padding:36px 12px 12px}
}
@media (prefers-reduced-motion:reduce){
  .orc::after,.halo,.deck .cb.hot::after,.orc-btn{animation:none!important}
  .w,.arch{transition:none!important}
}

/* Textos que només es veuen quan toca (l'editor els mostra) i blocs eliminats */
.cms-ocult{display:none}
.cms-eliminat{display:none!important}
.arch{display:block}
.arch figcaption>span[data-cms]{display:block}

/* Contacte */
.contacte{display:grid;grid-template-columns:.9fr 1.1fr;gap:6cqi;padding:7cqi var(--gut) 2cqi;align-items:start;scroll-margin-top:16px}
.contacte .kick{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--apricot);margin:0 0 12px}
.contacte h2{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:clamp(36px,6cqi,72px);line-height:.95;margin:0 0 16px;letter-spacing:-.02em}
.contacte h2 em{font-style:italic;color:var(--apricot)}
.contacte .sub{margin:0;color:var(--dusty);max-width:40ch}
.form{display:grid;gap:14px;background:rgba(255,255,255,.04);border:1px solid rgba(224,174,147,.25);border-radius:22px;padding:clamp(18px,3cqi,30px)}
.dos-camps{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.camp{display:grid;gap:6px}
.camp label{font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--dusty)}
.camp input,.camp textarea,.camp select{font:400 18px/1.4 "Jost",system-ui,sans-serif;color:var(--cream);background:rgba(0,0,0,.18);border:1px solid rgba(224,174,147,.3);border-radius:12px;padding:12px 14px;width:100%}
.camp select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--apricot) 50%),linear-gradient(135deg,var(--apricot) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.camp select option{color:#35202F}
.camp textarea{min-height:130px;resize:vertical}
.camp input:focus,.camp textarea:focus,.camp select:focus{outline:2px solid var(--apricot);outline-offset:1px;border-color:transparent}
.mel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.accepto{display:flex;gap:10px;align-items:flex-start;font-size:17px;color:var(--dusty)}
.accepto input{margin-top:4px;accent-color:var(--apricot);width:18px;height:18px;flex:none}
.accepto a{color:var(--cream);text-decoration:underline}
.form .btn{justify-self:start;font-size:18px;padding:13px 26px}
.form-avis{margin:0;font-size:18px;padding:12px 14px;border-radius:12px;background:rgba(184,57,42,.18);color:#FFD9D0}
.form-avis.ok{background:rgba(224,174,147,.18);color:var(--cream)}
.m-foot a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Pàgines legals */
.legal{max-width:68ch;padding:40px var(--gut) 80px;margin:0 auto;display:grid;gap:16px}
.legal h1{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:clamp(36px,6vw,56px);line-height:1;margin:0}
.legal h2{font-family:"Bodoni Moda",Georgia,serif;font-weight:400;font-size:26px;margin:14px 0 0}
.legal p{margin:0;color:var(--dusty)}
.legal b{color:var(--cream);font-weight:500}
.legal a{color:var(--cream)}

@container (max-width:780px){
  .contacte{grid-template-columns:1fr;padding-top:56px;gap:28px}
}
@container (max-width:480px){
  .dos-camps{grid-template-columns:1fr}
}

.bx-textos{display:none}

/* Amb la lletra més gran, la barra de dalt s'escurça abans */
@container (max-width:1180px){ .moon span{display:none} }
@container (max-width:940px){ .m-menu{display:none} }
.logo small{line-height:1.45}

/* El titular no va en cursiva (només canvia el color) */
.h-left h1 em{font-style:normal}
/* Botons-enllaç: el color del text no l'hereten de l'enllaç */
.page a.btn{color:var(--plum)}
.page a.btn.ghost{color:var(--cream)}
.page .res a.btn{color:var(--cream)}
.page .orc-txt a.btn{color:#24234A}
