:root{--ink:#0d0d0c;--paper:#f0eee8;--sand:#d8d1c4;--muted:#77736b;--line:rgba(13,13,12,.16);--lightline:rgba(240,238,232,.18);--mono:"DM Mono",monospace;--sans:"DM Sans",sans-serif;--serif:"Playfair Display",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}.frame{width:min(1200px,calc(100% - 64px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:-70px;left:16px;z-index:100;background:var(--paper);color:var(--ink);padding:12px;font:500 12px var(--mono);text-decoration:none}.skip-link:focus{top:16px}.site-header{position:absolute;top:0;left:0;right:0;z-index:10;width:min(1320px,calc(100% - 64px));margin:auto;padding:24px 0;display:flex;align-items:center;justify-content:space-between;color:var(--paper)}.brand{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font:500 10px/1 var(--mono);letter-spacing:.17em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font:500 10px/1 var(--serif);letter-spacing:-.06em}.main-nav{display:flex;gap:25px}.main-nav a,.site-footer a{color:inherit;text-decoration:none;font:500 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.82}.main-nav a:hover,.site-footer a:hover{opacity:1}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:700px;height:min(100vh,920px);overflow:hidden;background:var(--ink);color:var(--paper)}.hero-photo,.family-image{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,8,8,.93),rgba(8,8,8,.56) 50%,rgba(8,8,8,.1)),url("images/roye-campero-portada.jpeg") center/cover no-repeat;filter:grayscale(1) contrast(1.1)}.noise{position:absolute;inset:0;z-index:-1;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.hero-content{padding:0 0 42px}.eyebrow{margin:0 0 18px;color:var(--muted);font:500 9px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase}.eyebrow.light{color:rgba(240,238,232,.64)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-weight:500}h1{max-width:960px;margin:0 0 26px;font:600 clamp(58px,8.3vw,126px)/.86 var(--serif);letter-spacing:-.085em}h1 em,h2 em,h3 em,h4 em{font-weight:500}.hero-copy{max-width:450px;margin-bottom:30px;color:rgba(240,238,232,.74);font-size:17px;line-height:1.7}.hero-actions,.family-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;min-height:48px;padding:0 18px;border:1px solid currentColor;text-decoration:none;font:500 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:.25s ease}.button-paper{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button-paper:hover{background:transparent;color:var(--paper)}.button-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.button-dark:hover{background:transparent;color:var(--ink)}.button-text{color:var(--ink);font:500 9px/1.4 var(--mono);letter-spacing:.12em;text-decoration:none;text-transform:uppercase}.button-text.light{color:var(--paper)}.button-text:hover{text-decoration:underline}.hero-footer{display:flex;gap:25px;flex-wrap:wrap;margin-top:74px;color:rgba(240,238,232,.5);font:400 8px/1.2 var(--mono);letter-spacing:.13em}.launch-strip{background:var(--sand)}.launch-strip>.frame{min-height:57px;display:grid;grid-template-columns:10px 1fr 2fr 1fr 1fr;gap:15px;align-items:center;font:500 9px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase}.launch-strip p{margin:0}.launch-strip strong{font:500 11px/1.2 var(--sans);letter-spacing:0;text-transform:none}.launch-strip a{justify-self:end;color:inherit;text-decoration:none}.live-dot{width:7px;height:7px;border-radius:50%;background:#b54533;box-shadow:0 0 0 5px rgba(181,69,51,.14)}section{padding:130px 0}.section-dark{background:var(--ink);color:var(--paper)}.split-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:end}.split-heading h2,.section-heading h2,.about-copy h2,.live-title h2,.next-release h2,.merch h2{margin:0;font:600 clamp(48px,6.4vw,91px)/.92 var(--serif);letter-spacing:-.08em}.split-heading h2 em,.section-heading h2 em,.about-copy h2 em,.live-title h2 em,.next-release h2 em,.merch h2 em{color:#878278}.split-heading>div:last-child{max-width:410px;padding-bottom:8px;color:rgba(240,238,232,.63);font-size:16px;line-height:1.75}.split-heading strong{display:block;margin-top:23px;color:var(--paper);font:500 14px var(--serif);font-style:italic}.album-status{display:grid;grid-template-columns:1fr 1.15fr .9fr;gap:35px;align-items:center;margin:100px 0 120px;padding:25px 0;border-block:1px solid var(--lightline)}.album-status p{margin:0}.album-status b{font:500 50px/.8 var(--serif);letter-spacing:-.09em}.album-status span,.album-status>div:last-child{color:rgba(240,238,232,.52);font:400 9px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase}.album-status>div:last-child{text-align:right}.album-status>div:last-child strong{color:var(--paper);font-weight:400}.status-line{height:2px;background:rgba(240,238,232,.2)}.status-line i{display:block;width:60%;height:100%;background:var(--paper)}.concept-block{display:grid;grid-template-columns:95px 1fr;gap:30px;margin-bottom:110px}.concept-block>span{font:400 9px var(--mono);letter-spacing:.13em;color:rgba(240,238,232,.4)}.concept-block h3{max-width:850px;margin:0;font:500 clamp(31px,4vw,59px)/1.03 var(--serif);letter-spacing:-.06em}.concept-block h3 em{color:#857f76}.album-parts{border-top:1px solid var(--lightline)}.album-part{display:grid;grid-template-columns:.7fr 1.3fr;gap:9%;padding:78px 0;border-bottom:1px solid var(--lightline)}.part-heading>span{display:block;margin-bottom:18px;font:500 9px var(--mono);letter-spacing:.13em;color:rgba(240,238,232,.45)}.part-heading h3{margin:0 0 19px;font:500 clamp(30px,3.6vw,51px)/.98 var(--serif);letter-spacing:-.06em}.part-heading h3 em{color:#857f76}.part-heading p{max-width:295px;margin:0 0 21px;color:rgba(240,238,232,.58);font-size:14px;line-height:1.7}.part-heading small{font:400 8px var(--mono);letter-spacing:.11em;color:rgba(240,238,232,.43);text-transform:uppercase}.album-track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.album-track{min-height:390px;background:rgba(240,238,232,.04);border:1px solid rgba(240,238,232,.1);overflow:hidden;transition:transform .35s ease,border-color .35s ease,background .35s ease}.album-track:hover{transform:translateY(-6px);border-color:rgba(240,238,232,.32);background:rgba(240,238,232,.07)}.track-cover{position:relative;overflow:hidden;aspect-ratio:16/9;background:#252421}.track-cover img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.25) contrast(1.04);transition:transform .6s ease,filter .4s ease}.album-track:hover .track-cover img,.catalogue-card:hover img{transform:scale(1.06);filter:grayscale(0)}.future-cover{display:flex;height:100%;padding:17px;align-items:flex-end;justify-content:space-between;background:linear-gradient(125deg,#302e2a,#151514);color:#cbc5b9}.future-cover span{font:500 57px/.8 var(--serif);letter-spacing:-.1em}.future-cover i{font:500 11px var(--serif);font-style:italic}.track-info{padding:17px}.track-number,.track-state{font:400 8px/1 var(--mono);letter-spacing:.1em;color:rgba(240,238,232,.48)}.track-state{float:right}.track-info h4{min-height:43px;margin:13px 0 9px;font:500 21px/1.04 var(--serif);letter-spacing:-.035em}.track-info p{min-height:62px;margin:0 0 18px;color:rgba(240,238,232,.6);font-size:12px;line-height:1.58}.track-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.track-actions a,.lyrics-button,.track-locked{color:var(--paper);font:500 8px/1 var(--mono);letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.lyrics-button{padding:0;border:0;background:transparent;color:#bbb4a8;cursor:pointer}.lyrics-button:hover,.track-actions a:hover{color:#fff;text-decoration:underline}.track-locked{color:#d6a893}.album-track.current{border-color:var(--paper);box-shadow:inset 0 3px var(--paper)}.album-track.current .track-state{color:var(--paper)}.album-track.next{border-color:#d6a893}.next-release{padding:110px 0;background:var(--sand);text-align:center}.next-release h2{font-size:clamp(52px,7.5vw,105px)}.countdown{display:flex;flex-direction:column;align-items:center;margin:38px 0 21px}.countdown b{font:500 clamp(78px,10vw,145px)/.76 var(--serif);letter-spacing:-.1em}.countdown span,.next-copy{font:500 9px/1.7 var(--mono);letter-spacing:.12em;text-transform:uppercase}.next-copy{color:#625d56}.catalogue{padding-bottom:145px}.section-heading{max-width:760px}.section-heading>p:last-child{max-width:480px;margin:31px 0 0;color:#6f6a63;font-size:16px;line-height:1.7}.catalogue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:75px}.catalogue-card{border:1px solid var(--line);background:#e7e3db;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}.catalogue-card:hover{transform:translateY(-7px);box-shadow:0 15px 26px rgba(13,13,12,.13)}.catalogue-card .track-cover{aspect-ratio:1/1}.catalogue-card-copy{padding:15px}.catalogue-card-copy>span{font:400 8px var(--mono);letter-spacing:.1em;color:var(--muted)}.catalogue-card h3{min-height:45px;margin:9px 0 12px;font:500 20px/1.05 var(--serif);letter-spacing:-.035em}.catalogue-card-copy>div{display:flex;gap:10px;flex-wrap:wrap}.catalogue-card a{color:var(--ink);font:500 8px var(--mono);letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.catalogue-card a:hover{text-decoration:underline}.catalogue-note{margin:23px 0 0;color:#79736b;font:400 9px/1.7 var(--mono);letter-spacing:.04em}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:center}.about-image{position:relative;overflow:hidden;aspect-ratio:4/5;background:#252421}.about-image img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);transition:transform .7s ease}.about-image:hover img{transform:scale(1.04)}.about-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,13,12,.8),transparent 40%)}.about-image span{position:absolute;z-index:1;bottom:20px;left:20px;color:var(--paper);font:500 9px var(--mono);letter-spacing:.13em}.about-copy h2{margin-bottom:31px}.about-copy p{max-width:520px;color:rgba(240,238,232,.64);font-size:16px;line-height:1.78}.about-copy .button-text{display:inline-block;margin-top:15px}.press-section{padding:120px 0}.press-head{margin-bottom:55px}.press-head h2{margin:0;font:600 clamp(45px,6vw,86px)/.92 var(--serif);letter-spacing:-.08em}.press-head h2 em{color:#817b73}.press-card{display:grid;grid-template-columns:.5fr 1.3fr .8fr;gap:38px;align-items:start;padding:33px 0;color:inherit;border-block:1px solid var(--line);text-decoration:none}.press-card>span,.press-note>span{font:500 8px var(--mono);letter-spacing:.12em;color:#77736b}.press-card h3{margin:0;font:500 clamp(25px,3vw,40px)/1.05 var(--serif);letter-spacing:-.05em}.press-card h3 em{color:#777168}.press-card p{margin:0;color:#6c665f;font-size:14px;line-height:1.7}.press-card b{justify-self:end;align-self:end;font:500 9px var(--mono);letter-spacing:.1em}.press-card:hover h3{text-decoration:underline}.press-note{display:grid;grid-template-columns:.5fr 1.3fr .8fr;gap:38px;padding-top:25px}.press-note p{grid-column:2;max-width:470px;margin:0;color:#6c665f;font-size:13px;line-height:1.7}.press-note a{color:inherit}.family{position:relative;isolation:isolate;min-height:670px;display:flex;align-items:center;overflow:hidden;color:var(--paper)}.family-image{background:linear-gradient(90deg,rgba(8,8,8,.94),rgba(8,8,8,.53),rgba(8,8,8,.24)),url("images/roye-campero-portada.jpeg") center 38%/cover no-repeat}.family-content{max-width:1200px}.family-content h2{margin:0 0 26px;font:600 clamp(55px,7.2vw,106px)/.88 var(--serif);letter-spacing:-.09em}.family-content h2 em{color:rgba(240,238,232,.55)}.family-content>p:not(.eyebrow){max-width:510px;color:rgba(240,238,232,.73);font-size:16px;line-height:1.75}.family-actions{margin-top:32px}.live-event{padding:135px 0;background:var(--sand)}.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.live-title h2{margin-bottom:24px}.live-title p:last-child{max-width:390px;color:#6b655e;font-size:16px;line-height:1.7}.ticket-card{overflow:hidden;background:var(--paper);border:1px solid rgba(13,13,12,.36);box-shadow:14px 14px 0 var(--ink)}.ticket-top{display:flex;justify-content:space-between;padding:16px;border-bottom:1px dashed var(--line);font:500 8px var(--mono);letter-spacing:.1em}.ticket-date{display:flex;align-items:center;gap:18px;padding:43px 24px}.ticket-date time{font:500 102px/.75 var(--serif);letter-spacing:-.13em}.ticket-date div{display:flex;flex-direction:column;gap:8px}.ticket-date strong,.ticket-date span{font:500 10px/1.45 var(--mono);letter-spacing:.1em}.ticket-date span{color:#6c665f}.ticket-actions{padding:18px 24px 25px;border-top:1px dashed var(--line)}.ticket-actions .button{width:100%}.ticket-actions p{margin:14px 0 0;color:#756f68;font:400 9px/1.55 var(--mono);letter-spacing:.05em}.merch{padding:105px 0;background:#c4bbad}.merch h2{margin-bottom:25px}.merch p:not(.eyebrow){max-width:400px;color:#5e574f}.merch .button-text{display:inline-block;margin-top:15px}.contact{padding:125px 0}.contact-board{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:75px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.contact-board a{display:grid;grid-template-columns:45px 1fr 20px;align-items:center;gap:12px;min-height:99px;padding:16px 20px;color:inherit;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;transition:.25s ease}.contact-board a:hover{background:var(--ink);color:var(--paper)}.platform-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;font:500 14px/1 var(--sans)}.platform-icon.facebook{font-weight:600}.contact-board small,.contact-board b,.contact-board i{display:block}.contact-board small{margin-bottom:5px;font:500 8px var(--mono);letter-spacing:.12em;color:#77736b}.contact-board a:hover small{color:rgba(240,238,232,.55)}.contact-board b{font:500 15px/1.2 var(--sans)}.contact-board i{font:400 13px var(--serif);font-style:normal;text-align:right}.site-footer{padding:27px 0;background:var(--ink);color:var(--paper)}.site-footer>.frame{display:grid;grid-template-columns:1.2fr 1fr auto;gap:28px;align-items:center}.site-footer p{margin:0;color:rgba(240,238,232,.48);font:400 8px var(--mono);letter-spacing:.08em;text-transform:uppercase}.site-footer>div>div{display:flex;gap:17px}.site-footer a{font-size:8px}.track-dialog{width:min(560px,calc(100% - 34px));padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 18px 80px rgba(0,0,0,.5)}.track-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}#dialog-content{padding:52px 45px 43px}.dialog-close{position:absolute;top:10px;right:13px;border:0;background:transparent;color:var(--ink);font:400 31px/1 var(--serif);cursor:pointer}.track-dialog h2{margin:0 0 20px;font:500 48px/.95 var(--serif);letter-spacing:-.06em}.dialog-description{color:#5e5952;font-size:16px;line-height:1.72}.dialog-links{display:flex;gap:15px;flex-wrap:wrap;margin:25px 0}.dialog-links a{color:var(--ink);font:500 9px var(--mono);letter-spacing:.08em}.lyrics-note{padding:18px;background:#dfd8cc}.lyrics-note strong{font:500 8px var(--mono);letter-spacing:.12em}.lyrics-note p{margin:8px 0 0;color:#665f57;font-size:13px;line-height:1.6}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.in-view{opacity:1;transform:none}
@media(max-width:850px){.album-track-grid,.catalogue-grid{grid-template-columns:repeat(2,1fr)}.press-card{grid-template-columns:1fr 1.4fr}.press-card p{grid-column:2}.press-card b{grid-column:2;justify-self:start}.press-note{grid-template-columns:1fr}.press-note p{grid-column:auto}.live-grid{gap:6%}}
@media(max-width:700px){.frame{width:calc(100% - 40px)}.site-header{width:calc(100% - 40px);padding:18px 0}.main-nav{position:absolute;top:70px;right:0;display:none;min-width:220px;padding:20px;background:var(--ink);border:1px solid rgba(240,238,232,.25);flex-direction:column;gap:18px}.menu-open .main-nav{display:flex}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:8px 0;border:0;background:transparent;color:inherit}.menu-toggle i{width:24px;height:1px;background:currentColor}.hero{min-height:650px;height:87vh}.hero-photo{background-position:57% center}.hero-content{padding-bottom:28px}h1{font-size:clamp(54px,16vw,80px)}.hero-copy{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-footer{margin-top:46px;gap:11px;flex-direction:column}.launch-strip>.frame{grid-template-columns:10px 1fr auto;gap:9px;padding:13px 0}.launch-strip p,.launch-strip a{display:none}.launch-strip strong{font-size:10px}.launch-strip time{font-size:8px}.split-heading,.about-grid,.live-grid{grid-template-columns:1fr;gap:35px}.split-heading>div:last-child{max-width:100%}.album-status{grid-template-columns:1fr;gap:20px;margin:70px 0}.album-status>div:last-child{text-align:left}.concept-block{grid-template-columns:1fr;gap:15px;margin-bottom:70px}.album-part{grid-template-columns:1fr;gap:35px;padding:60px 0}.part-heading p{max-width:100%}.album-track{min-height:0}.track-info p{min-height:0}.next-release{padding:85px 0}.catalogue-grid{gap:11px;margin-top:48px}.catalogue-card-copy{padding:12px}.catalogue-card h3{min-height:0;font-size:18px}.catalogue-card-copy>div{gap:8px}.catalogue-card a{font-size:7px}.about-image{max-height:500px}.press-section{padding:85px 0}.press-card{grid-template-columns:1fr;gap:18px}.press-card p,.press-card b{grid-column:auto}.family{min-height:650px}.family-image{background-position:57% center}.live-event{padding:88px 0}.ticket-card{box-shadow:8px 8px 0 var(--ink)}.ticket-date{padding:34px 19px}.ticket-date time{font-size:81px}.merch{padding:83px 0}.contact{padding:85px 0}.contact-board{grid-template-columns:1fr;margin-top:48px}.contact-board a{min-height:79px}.contact-board b{font-size:13px}.site-footer>.frame{grid-template-columns:1fr;gap:18px}.site-footer>div>div{gap:12px}#dialog-content{padding:46px 26px 30px}.track-dialog h2{font-size:40px}.reveal{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Privacidad y analítica: discreto, visible y fácil de usar. */
.analytics-consent{position:fixed;z-index:90;right:20px;bottom:20px;width:min(430px,calc(100% - 40px));padding:18px;background:var(--ink);color:var(--paper);box-shadow:9px 9px 0 rgba(13,13,12,.24);font-size:13px;line-height:1.55}.analytics-consent p{margin:0;color:rgba(240,238,232,.78)}.analytics-consent a{color:var(--paper)}.analytics-consent>div{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.analytics-consent button{min-height:34px;padding:0 12px;border:1px solid rgba(240,238,232,.56);background:transparent;color:var(--paper);font:500 8px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;cursor:pointer}.analytics-consent button:last-child{background:var(--paper);color:var(--ink);border-color:var(--paper)}.analytics-consent button:hover{opacity:.78}.privacy-page{min-height:100vh;background:var(--paper)}.privacy-header{position:static;width:min(1200px,calc(100% - 64px));margin:auto;color:var(--ink);padding:24px 0;border-bottom:1px solid var(--line)}.privacy-main{width:min(780px,calc(100% - 64px));margin:0 auto;padding:105px 0}.privacy-main h1{max-width:720px;margin-bottom:34px;font-size:clamp(54px,8vw,96px);color:var(--ink)}.privacy-main h2{margin:56px 0 16px;font:500 clamp(27px,3.5vw,42px)/1 var(--serif);letter-spacing:-.055em}.privacy-main p,.privacy-main li{max-width:690px;color:#5f5a53;font-size:16px;line-height:1.78}.privacy-main ul{padding-left:20px}.privacy-main a{color:inherit}.privacy-updated{font:500 9px/1.6 var(--mono)!important;letter-spacing:.1em;text-transform:uppercase}.privacy-back{display:inline-flex;margin-top:42px}.cover-fallback{background:linear-gradient(135deg,#38352f,#161615)}.cover-fallback img{display:none}
@media(max-width:700px){.analytics-consent{right:12px;bottom:12px;width:calc(100% - 24px)}.privacy-header,.privacy-main{width:calc(100% - 40px)}.privacy-main{padding:78px 0}.privacy-main h1{font-size:58px}}

/* Galería editorial: imágenes locales seleccionadas del archivo de Royé. */
.hero-photo{background:linear-gradient(90deg,rgba(8,8,8,.96),rgba(8,8,8,.68) 51%,rgba(8,8,8,.15)),url("images/hero-roye.jfif") center/cover no-repeat}
.soliloquio-panorama{position:relative;overflow:hidden;margin:0 0 100px;background:#eae6df}.soliloquio-panorama img{display:block;width:100%;aspect-ratio:3.28/1;object-fit:cover;filter:contrast(1.08)}.soliloquio-panorama:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.24),transparent 50%,rgba(0,0,0,.16));pointer-events:none}.soliloquio-panorama figcaption{position:absolute;z-index:1;bottom:15px;left:17px;right:17px;display:flex;justify-content:space-between;gap:16px;color:var(--paper);font:500 8px var(--mono);letter-spacing:.13em}
.artist-reel{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:17px;margin-top:105px}.artist-reel figure{position:relative;min-height:275px;margin:0;overflow:hidden;background:#292825}.artist-reel img{width:100%;height:100%;position:absolute;inset:0;display:block;object-fit:cover;filter:grayscale(.45) contrast(1.05);transition:transform .7s ease,filter .5s ease}.artist-reel figure:hover img{transform:scale(1.06);filter:grayscale(0)}.artist-reel figcaption{position:absolute;z-index:1;bottom:16px;left:16px;color:var(--paper);font:500 8px var(--mono);letter-spacing:.12em;text-shadow:0 1px 8px #000}.artist-reel figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 48%);pointer-events:none}
.family-image{background:linear-gradient(90deg,rgba(8,8,8,.95),rgba(8,8,8,.59),rgba(8,8,8,.18)),url("images/Imagen%20de%20conciertos%20en%20vivo/c5823075-d428-4125-b244-7be30bfa1f06.jfif") center/cover no-repeat;filter:grayscale(.7) contrast(1.12)}
.live-event{position:relative;isolation:isolate;background:#171515;color:var(--paper);overflow:hidden}.live-event:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,8,8,.96),rgba(8,8,8,.72) 50%,rgba(8,8,8,.38)),url("images/Imagen%20de%20conciertos%20en%20vivo/4e221b35-4c33-44f7-964e-5f84ca363e2c.jfif") center/cover no-repeat;filter:grayscale(.68) contrast(1.08)}.live-event:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.live-title p:last-child{color:rgba(240,238,232,.68)}.ticket-card{border-color:rgba(240,238,232,.5);box-shadow:14px 14px 0 rgba(240,238,232,.72)}
@media(max-width:700px){.soliloquio-panorama{margin-bottom:70px}.soliloquio-panorama img{aspect-ratio:1.5/1}.soliloquio-panorama figcaption{font-size:7px;flex-direction:column;gap:5px}.artist-reel{grid-template-columns:1fr 1fr;gap:11px;margin-top:60px}.artist-reel figure{min-height:210px}.artist-reel .reel-main{grid-column:span 2;min-height:280px}.ticket-card{box-shadow:8px 8px 0 rgba(240,238,232,.68)}}

/* El retrato y la trayectoria de Royé conservan su color; el monocromo se reserva para Soliloquio. */
.about-image img{filter:contrast(1.04) saturate(1.05)}.about-image:after{background:linear-gradient(0deg,rgba(13,13,12,.38),transparent 47%)}
.artist-reel{grid-template-columns:1.55fr 1fr .82fr}.artist-reel figure{min-height:315px}.artist-reel img{filter:contrast(1.03) saturate(1.08)}.artist-reel figure:hover img{filter:contrast(1.04) saturate(1.14)}.artist-reel .reel-main img{object-position:center 43%}.artist-reel figure:nth-child(2) img{object-position:center 38%}.artist-reel figure:nth-child(3) img{object-position:center 35%}
@media(max-width:700px){.artist-reel{grid-template-columns:1fr 1fr}.artist-reel figure{min-height:225px}.artist-reel .reel-main{grid-column:span 2;min-height:250px}}

/* Pausa editorial: la trayectoria respira sin añadir imágenes de menor calidad. */
.artist-reel{grid-template-columns:1.55fr .85fr}.artist-reel .reel-main{min-height:360px}.reel-manifesto{display:flex;min-height:360px;padding:30px;flex-direction:column;justify-content:space-between;border:1px solid rgba(240,238,232,.22);background:linear-gradient(145deg,#2d2b27,#161615);color:var(--paper)}.reel-manifesto .eyebrow{color:rgba(240,238,232,.5)}.reel-manifesto h3{margin:0;font:500 clamp(29px,3vw,43px)/.98 var(--serif);letter-spacing:-.06em}.reel-manifesto h3 em{color:#aaa298}.reel-manifesto>p:not(.eyebrow){max-width:300px;margin:20px 0;color:rgba(240,238,232,.62);font-size:14px;line-height:1.7}.reel-manifesto>div{display:flex;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid rgba(240,238,232,.19);font:500 8px var(--mono);letter-spacing:.1em;color:rgba(240,238,232,.62)}
@media(max-width:700px){.artist-reel .reel-main,.reel-manifesto{grid-column:span 2}.artist-reel .reel-main,.reel-manifesto{min-height:250px}.reel-manifesto{padding:25px}.reel-manifesto h3{font-size:34px}}

/* La Familia usa la portada principal: cercanía, espacio y una invitación clara. */
.family{color:var(--ink);background:#e8e5de}.family-image{background:linear-gradient(90deg,rgba(240,238,232,.76) 0%,rgba(240,238,232,.53) 39%,rgba(240,238,232,.11) 67%,rgba(240,238,232,0)),url("images/roye-campero-portada.jpeg") center 43%/cover no-repeat;filter:contrast(1.06)}.family .noise{display:none}.family .eyebrow.light{color:#746e66}.family-content h2 em{color:#777168}.family-content>p:not(.eyebrow){color:#45413b}.family .button-paper{background:var(--ink);color:var(--paper);border-color:var(--ink)}.family .button-paper:hover{background:transparent;color:var(--ink)}.family .button-text.light{color:var(--ink)}
@media(max-width:700px){.family{min-height:680px}.family-image{background:linear-gradient(180deg,rgba(240,238,232,.96) 0%,rgba(240,238,232,.9) 42%,rgba(240,238,232,.3) 75%,rgba(240,238,232,.1)),url("images/roye-campero-portada.jpeg") 61% center/cover no-repeat}.family-content{align-self:flex-start;padding-top:110px}}

/* Una sola imagen complementaria: se evita repetir el mismo motivo visual. */
.soliloquio-poster{position:relative;margin:0 0 105px;overflow:hidden;border:1px solid rgba(240,238,232,.16);background:#252321}.soliloquio-poster img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:contrast(1.04);transition:transform .7s ease}.soliloquio-poster:hover img{transform:scale(1.025)}.soliloquio-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.4),transparent 44%);pointer-events:none}.soliloquio-poster figcaption{position:absolute;z-index:1;bottom:17px;left:17px;right:17px;display:flex;justify-content:space-between;gap:16px;color:var(--paper);font:500 8px var(--mono);letter-spacing:.13em}
@media(max-width:700px){.soliloquio-poster{margin-bottom:70px}.soliloquio-poster img{aspect-ratio:1.35/1}.soliloquio-poster figcaption{bottom:12px;left:12px;right:12px;flex-direction:column;gap:5px;font-size:7px}}

/* Cada quinto capítulo cierra su parte: ocupa el ancho completo y elimina el vacío final. */
.album-track-grid>.album-track:last-child:nth-child(odd){display:grid;grid-column:span 2;grid-template-columns:.92fr 1.08fr;min-height:224px}.album-track-grid>.album-track:last-child:nth-child(odd) .track-cover{aspect-ratio:auto;min-height:222px}.album-track-grid>.album-track:last-child:nth-child(odd) .track-info{display:flex;flex-direction:column;justify-content:center}.album-track-grid>.album-track:last-child:nth-child(odd) .track-info p{min-height:0}.album-track-grid>.album-track:last-child:nth-child(odd) .future-cover{min-height:222px}
@media(max-width:700px){.album-track-grid>.album-track:last-child:nth-child(odd){display:block;grid-column:span 2;min-height:0}.album-track-grid>.album-track:last-child:nth-child(odd) .track-cover{aspect-ratio:16/9;min-height:0}.album-track-grid>.album-track:last-child:nth-child(odd) .future-cover{min-height:0}}
