*{box-sizing:border-box}
:root{
 --bg:#090b0e;--panel:#14181e;--panel2:#1a1f27;--text:#f6f7f9;
 --muted:#9da6b3;--line:rgba(255,255,255,.1);--gold:#f0c84b;
 --green:#69d49a;--red:#ff8181;--radius:24px
}
html{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{margin:0;min-height:100vh;background:
 radial-gradient(circle at 15% 0,rgba(240,200,75,.11),transparent 29%),
 linear-gradient(180deg,#090b0e,#10141a)}
a{color:inherit;text-decoration:none}button,input{font:inherit}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;
 min-height:72px;padding:0 5vw;background:rgba(9,11,14,.82);backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand-icon,.logo{display:grid;place-items:center;
 background:var(--gold);color:#111;font-weight:950;letter-spacing:-.06em;border-radius:14px;width:44px;height:44px}
.brand-name{font-size:1.05rem}nav{display:flex;align-items:center;gap:22px;color:var(--muted)}nav form{margin:0}
.nav-button{border:0;background:none;color:var(--muted);padding:0;cursor:pointer}
.page{width:min(1160px,90vw);margin:auto;padding:42px 0 80px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card,.install-wrap{width:min(680px,100%);background:rgba(20,24,30,.94);border:1px solid var(--line);
 border-radius:30px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.38)}
.install-wrap{width:min(920px,100%)}.install-header{display:flex;gap:20px;align-items:center;margin-bottom:26px}
.logo.large{width:82px;height:82px;border-radius:24px;font-size:1.5rem;margin:0 auto 20px}
h1{font-size:clamp(2.2rem,6vw,4.7rem);letter-spacing:-.055em;margin:.1em 0}
.login-card h1{text-align:center;font-size:3rem}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;
 color:var(--gold);font-weight:850}.centered{text-align:center;display:block}.muted{color:var(--muted)}
.hero{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:20px 0 34px}
.hero p{color:var(--muted);max-width:690px;line-height:1.7;font-size:1.08rem}.hero.compact h1{font-size:clamp(2.2rem,5vw,4rem)}
.stats,.system-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:10px 0 26px}
.stats article,.system-summary article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.stats span,.system-summary span{display:block;color:var(--muted);margin-bottom:10px}
.stats strong{font-size:2.7rem}.system-summary strong{font-size:1.15rem;word-break:break-word}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.module{min-height:250px;background:var(--panel);
 border:1px solid var(--line);border-radius:var(--radius);padding:25px;display:flex;flex-direction:column;justify-content:space-between}
.module.featured{background:linear-gradient(145deg,rgba(240,200,75,.18),var(--panel))}
.module-icon{font-size:2.2rem}.module small{color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.module h2{font-size:1.8rem;margin:8px 0}.module p{color:var(--muted);line-height:1.55}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.check{display:flex;align-items:center;gap:14px;
 padding:16px;border:1px solid var(--line);border-radius:17px;background:#10141a}.check-symbol{display:grid;place-items:center;
 width:34px;height:34px;border-radius:50%;font-weight:900;flex:none}.check.ok .check-symbol{background:rgba(105,212,154,.15);color:var(--green)}
.check.bad .check-symbol{background:rgba(255,129,129,.15);color:var(--red)}.check strong,.check small{display:block}
.check small{color:var(--muted);margin-top:4px}.system-ready,.system-blocked{margin:20px 0;padding:16px;border-radius:16px}
.system-ready{background:rgba(105,212,154,.1);border:1px solid rgba(105,212,154,.3);color:#c6f4d9}
.system-blocked{background:rgba(255,129,129,.1);border:1px solid rgba(255,129,129,.3);color:#ffd0d0}
.form-card,.form-stack{display:grid;gap:17px;margin-top:22px}.form-card{padding-top:22px;border-top:1px solid var(--line)}
label{display:grid;gap:8px;font-size:.92rem}label small{color:var(--muted)}input{width:100%;padding:15px 16px;border-radius:14px;
 border:1px solid var(--line);background:#0c0f13;color:var(--text);outline:0}input:focus{border-color:var(--gold);
 box-shadow:0 0 0 3px rgba(240,200,75,.12)}.primary,.secondary-button{display:inline-flex;justify-content:center;align-items:center;
 min-height:50px;border-radius:14px;padding:0 20px;font-weight:850;cursor:pointer}.primary{border:0;background:var(--gold);color:#111}
.primary:disabled{opacity:.35;cursor:not-allowed}.secondary-button{border:1px solid var(--line);background:var(--panel);white-space:nowrap}
.alert{padding:14px 16px;border-radius:14px;margin:18px 0;line-height:1.5}.alert.error{background:rgba(255,129,129,.1);
 border:1px solid rgba(255,129,129,.3);color:#ffd0d0}.alert.success{background:rgba(105,212,154,.1);
 border:1px solid rgba(105,212,154,.3);color:#c6f4d9}.good-text{color:var(--green)}.warn-text{color:var(--red)}
code{background:rgba(255,255,255,.08);padding:.15em .4em;border-radius:6px}
@media(max-width:760px){
 .topbar{padding:0 18px}.brand-name{display:none}nav a:first-child{display:none}
 .page{width:min(100% - 28px,1160px);padding-top:22px}.hero{flex-direction:column;align-items:stretch}
 .stats,.system-summary,.module-grid,.check-grid{grid-template-columns:1fr}.login-card,.install-wrap{padding:25px 20px;border-radius:24px}
 .install-header{align-items:flex-start}.install-header .logo{flex:none}
}


textarea,select{width:100%;padding:15px 16px;border-radius:14px;border:1px solid var(--line);
background:#0c0f13;color:var(--text);outline:0;font:inherit}
textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(240,200,75,.12)}
.editor-card,.upload-card{display:grid;gap:18px;background:var(--panel);border:1px solid var(--line);
border-radius:var(--radius);padding:25px}.form-two{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cards-list{display:grid;gap:14px}.list-card{display:flex;justify-content:space-between;align-items:center;gap:20px;
background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.list-card h2{margin:5px 0;font-size:1.7rem}.list-card p,.meta{color:var(--muted);line-height:1.55}
.list-card small,.album-body small{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.danger-button{border:1px solid rgba(255,129,129,.35);background:rgba(255,129,129,.08);color:#ffb0b0;
border-radius:12px;padding:10px 14px;cursor:pointer}.danger-button.full{width:100%;border-radius:0 0 20px 20px}
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.album-card{overflow:hidden;background:var(--panel);
border:1px solid var(--line);border-radius:var(--radius)}.album-cover{height:170px;display:grid;place-items:center;
background:linear-gradient(145deg,#202630,#11151b);font-size:3rem}.album-body{padding:20px}.album-body h2{margin:7px 0}
.album-body p{color:var(--muted)}.empty-state{grid-column:1/-1;text-align:center;padding:55px 25px;
border:1px dashed rgba(255,255,255,.18);border-radius:var(--radius);color:var(--muted)}
.empty-state h2{color:var(--text)}.upload-card{margin-bottom:26px}.file-picker{display:flex;justify-content:center;
align-items:center;min-height:110px;border:1px dashed rgba(240,200,75,.45);border-radius:18px;
background:rgba(240,200,75,.06);cursor:pointer;font-weight:800}.file-picker input{display:none}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.photo-card{overflow:hidden;background:var(--panel);
border:1px solid var(--line);border-radius:20px}.photo-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;
background:#0b0e12}.photo-info{display:grid;gap:5px;padding:16px}.photo-info strong{overflow:hidden;text-overflow:ellipsis;
white-space:nowrap}.photo-info small{color:var(--muted)}.exif-line{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}
.exif-line span{background:rgba(255,255,255,.06);border-radius:8px;padding:4px 7px;font-size:.75rem;color:#dce1e8}
@media(max-width:760px){
 .form-two,.album-grid,.photo-grid{grid-template-columns:1fr}.list-card{align-items:stretch;flex-direction:column}
 .list-card form,.list-card .danger-button{width:100%}
}

/* NRO Studio 0.4.0 — Portada definitiva */
.public-home-body{background:#050505}
.public-home{min-height:100vh;background:#050505;color:#f5f2ec}
.portfolio-shell{min-height:100svh;position:relative;overflow:hidden;background:
radial-gradient(circle at 36% 42%,rgba(129,91,50,.18),transparent 34%),
linear-gradient(135deg,#050505,#0b0b0b 56%,#030303)}
.portfolio-nav{height:90px;padding:0 clamp(24px,4vw,66px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}
.signature-brand{display:flex;align-items:center;gap:18px}
.signature-mark{font-family:"Brush Script MT","Segoe Script",cursive;font-size:4rem;line-height:.75;color:#c99743;font-style:italic;letter-spacing:-.15em;width:92px}
.signature-brand strong,.signature-brand small{display:block;text-transform:uppercase;letter-spacing:.13em}
.signature-brand strong{font-size:.9rem}.signature-brand small{font-size:.58rem;color:#858585;margin-top:7px}
.portfolio-menu{display:flex;gap:clamp(20px,2.8vw,44px);align-items:center}
.portfolio-menu a{text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:#e6e3de;padding:13px 0;position:relative}
.portfolio-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:#c99743;transition:right .25s ease}
.portfolio-menu a:hover:after,.portfolio-menu a.active:after{right:0}
.mobile-menu-button{display:none;background:none;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:10px;padding:9px 12px}
.portfolio-hero{min-height:calc(100svh - 90px);display:grid;grid-template-columns:51% 49%;align-items:center;position:relative}
.hero-portrait{height:100%;min-height:720px;position:relative;overflow:hidden}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:55% center;filter:saturate(.7) contrast(1.08) brightness(.77)}
.hero-portrait:after{content:"";position:absolute;inset:0;background:
linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.05) 55%,#070707 100%),
linear-gradient(0deg,#060606 0%,transparent 22%)}
.portrait-shade{position:absolute;inset:0;box-shadow:inset 0 0 130px 35px #050505;z-index:1}
.hero-identity{position:relative;z-index:3;padding:30px clamp(28px,5vw,90px) 90px 20px}
.hero-kicker{text-transform:uppercase;letter-spacing:.25em;color:#9a8e7c;font-size:.68rem}
.hero-identity h1{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;font-weight:400;font-size:clamp(4rem,7vw,8rem);line-height:.86;letter-spacing:.035em;margin:23px 0 25px}
.hero-identity h1 span,.hero-identity h1 em{display:block;font-style:normal}
.hero-identity h1 em{color:#c99a52}
.gold-rule{width:66px;height:1px;background:#c99a52;margin:10px 0 24px}
.hero-identity p{text-transform:uppercase;letter-spacing:.32em;color:#b7b2aa;font-size:clamp(.72rem,1vw,.98rem)}
.hero-identity p b{color:#c99a52;margin:0 12px}
.discover-button{margin-top:32px;border:1px solid #af7f36;display:inline-flex;min-width:305px;min-height:58px;align-items:center;justify-content:center;gap:48px;text-transform:uppercase;letter-spacing:.14em;color:#d6a75e;transition:.25s}
.discover-button:hover{background:#c99743;color:#080808}
.scroll-indicator{position:absolute;left:50%;bottom:20px;z-index:7;color:#bbb;display:grid;place-items:center}
.scroll-indicator span{width:20px;height:32px;border:1px solid #aaa;border-radius:12px;display:block}
.scroll-indicator i{font-style:normal;font-size:1.2rem}
.portal-section{padding:0 clamp(24px,2vw,38px) 25px;margin-top:-82px;position:relative;z-index:8;background:#050505}
.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.portal-card{height:320px;border:1px solid rgba(255,255,255,.13);border-radius:9px;overflow:hidden;position:relative;background:#111}
.portal-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .55s ease}
.portal-card:hover img{transform:scale(1.045)}
.portal-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.96),rgba(0,0,0,.05) 70%)}
.card-photography .portal-overlay{background:linear-gradient(0deg,rgba(0,24,48,.98),rgba(0,0,0,.05) 68%)}
.card-travel .portal-overlay{background:linear-gradient(0deg,rgba(0,43,50,.98),rgba(0,0,0,.06) 68%)}
.card-family .portal-overlay{background:linear-gradient(0deg,rgba(48,31,0,.98),rgba(0,0,0,.06) 68%)}
.card-video .portal-overlay{background:linear-gradient(0deg,rgba(31,10,45,.98),rgba(0,0,0,.06) 68%)}
.portal-content{position:absolute;inset:auto 23px 20px;z-index:2}
.portal-icon{font-style:normal;font-size:2rem;color:#c99743}.card-photography .portal-icon,.card-photography strong{color:#2196f3}
.card-travel .portal-icon,.card-travel strong{color:#11c6c0}.card-video .portal-icon,.card-video strong{color:#a14bf4}
.portal-content h2{font-family:Georgia,serif;text-transform:uppercase;font-weight:400;font-size:1.75rem;margin:8px 0 4px}
.portal-content p{color:#d1d1d1;margin:0}.portal-content strong{display:block;font-size:1.7rem;margin-top:13px;color:#c99743}
.about-section{max-width:980px;margin:auto;text-align:center;padding:120px 30px}
.about-section h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.7rem,6vw,5.6rem);margin:12px 0 25px}
.about-section>p{color:#a7a7a7;font-size:1.12rem;line-height:1.8;max-width:800px;margin:auto}
.homepage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:60px}
.homepage-stats article{border-top:1px solid rgba(255,255,255,.15);padding-top:23px}
.homepage-stats strong,.homepage-stats span{display:block}.homepage-stats strong{font-family:Georgia,serif;font-size:3rem;color:#c99743}
.homepage-stats span{text-transform:uppercase;letter-spacing:.15em;color:#888;font-size:.7rem}
.portfolio-footer{border-top:1px solid rgba(255,255,255,.1);padding:28px clamp(24px,4vw,66px);display:flex;justify-content:space-between;color:#777;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.public-inner-hero{min-height:420px;padding:80px clamp(24px,8vw,130px);display:flex;flex-direction:column;justify-content:end;background-size:cover;background-position:center;position:relative}
.public-inner-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#070707,rgba(0,0,0,.25))}
.public-inner-hero>*{position:relative;z-index:1}.public-inner-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(4rem,10vw,9rem);margin:12px 0}
.public-inner-hero p{color:#b5b5b5;font-size:1.1rem}.back-home{color:#c99743;margin-bottom:42px}
.photo-inner{background-image:linear-gradient(90deg,rgba(0,0,0,.65),transparent),url("../images/portrait/fotografias.jpg")}
.travel-inner{background-image:linear-gradient(90deg,rgba(0,0,0,.65),transparent),url("../images/portrait/viajes.jpg")}
.video-inner{background-image:linear-gradient(90deg,rgba(0,0,0,.65),transparent),url("../images/portrait/videos.jpg")}
.public-content{width:min(1400px,calc(100% - 40px));margin:auto;padding:70px 0 110px}
.masonry-grid{columns:4 280px;column-gap:14px}.masonry-photo{break-inside:avoid;margin:0 0 14px;background:#111;border-radius:8px;overflow:hidden}
.masonry-photo img{width:100%;display:block}.masonry-photo figcaption{display:flex;justify-content:space-between;padding:12px;color:#999;font-size:.75rem}
.trip-public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.trip-public-card{min-height:300px;border:1px solid rgba(255,255,255,.12);padding:28px;display:flex;flex-direction:column;background:linear-gradient(145deg,rgba(201,151,67,.1),#0d0d0d);border-radius:13px}
.trip-public-card small{color:#c99743;text-transform:uppercase;letter-spacing:.13em}.trip-public-card h2{font-family:Georgia,serif;font-size:2.2rem;font-weight:400}
.trip-public-card p{color:#999;line-height:1.65}.trip-public-card div{margin-top:auto;display:flex;gap:8px}.trip-public-card div span{background:#171717;padding:7px 9px;border-radius:6px;color:#aaa;font-size:.75rem}
.family-gate{min-height:100svh;display:grid;grid-template-columns:58% 42%;background:#f4f1eb;color:#181818}
.family-image{overflow:hidden}.family-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.family-access-panel{padding:70px clamp(30px,6vw,100px);display:flex;flex-direction:column;justify-content:center}
.family-access-panel h1{font-family:Georgia,serif;font-size:clamp(4rem,9vw,8rem);font-weight:400;margin:15px 0}
.family-access-panel>p{font-size:1.15rem;color:#666}.family-form{display:grid;gap:17px;margin-top:25px}.family-form input{background:#fff;color:#111;border-color:#ccc}
.family-private-header{padding:70px clamp(24px,6vw,90px);display:flex;justify-content:space-between;align-items:end;background:linear-gradient(135deg,#17120a,#050505)}
.family-private-header h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(3rem,7vw,7rem);max-width:900px}
.family-private-header p{color:#999}.family-albums{padding:60px clamp(24px,5vw,80px) 100px}
.family-album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.family-album-card{background:#121212;border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden}
.family-album-card img,.family-placeholder{width:100%;height:250px;object-fit:cover}.family-placeholder{display:grid;place-items:center;font-size:4rem;color:#c99743;background:#201a11}
.family-album-card>div:last-child{padding:22px}.family-album-card small{color:#c99743;text-transform:uppercase;letter-spacing:.12em}.family-album-card h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:8px 0}
.check-option{display:flex;grid-template-columns:none;align-items:flex-start;gap:13px;background:#10141a;border:1px solid var(--line);border-radius:14px;padding:16px}
.check-option input{width:auto;margin-top:3px}.check-option span,.check-option strong,.check-option small{display:block}.check-option small{margin-top:5px}
@media(max-width:1050px){
 .portfolio-nav{height:auto;min-height:82px}.portfolio-menu{display:none;position:absolute;top:82px;left:18px;right:18px;background:#111;border:1px solid #333;padding:18px;flex-direction:column;align-items:stretch}
 .portfolio-menu.open{display:flex}.mobile-menu-button{display:block}
 .portfolio-hero{grid-template-columns:1fr;min-height:auto}.hero-portrait{min-height:600px}.hero-identity{position:absolute;inset:auto 0 80px;padding:30px 8vw;background:linear-gradient(0deg,rgba(0,0,0,.94),transparent)}
 .hero-identity h1{font-size:clamp(3.3rem,11vw,7rem)}.portal-section{margin-top:0}.portal-grid{grid-template-columns:repeat(2,1fr)}
 .trip-public-grid,.family-album-grid{grid-template-columns:repeat(2,1fr)}.family-gate{grid-template-columns:1fr}.family-image{height:48vh}
}
@media(max-width:620px){
 .signature-brand span:last-child{display:none}.signature-mark{font-size:3.2rem;width:72px}
 .hero-portrait{min-height:620px}.hero-portrait img{object-position:56% center}.hero-identity{bottom:35px;padding:20px}
 .hero-identity h1{font-size:3.25rem;line-height:.9}.hero-identity p{letter-spacing:.14em;font-size:.62rem}.hero-identity p b{margin:0 4px}
 .discover-button{min-width:100%;gap:25px}.scroll-indicator{display:none}.portal-grid{grid-template-columns:1fr}.portal-card{height:300px}
 .about-section{padding:80px 22px}.homepage-stats{grid-template-columns:1fr}.portfolio-footer{flex-direction:column;gap:13px}
 .public-inner-hero{min-height:350px;padding:50px 22px}.public-content{width:calc(100% - 28px);padding-top:35px}
 .trip-public-grid,.family-album-grid{grid-template-columns:1fr}.family-access-panel{padding:45px 24px}.family-private-header{align-items:stretch;flex-direction:column;gap:20px}
}


/* NRO Studio 0.5.0 */
.hero-socials{position:absolute;right:clamp(22px,3vw,52px);top:50%;transform:translateY(-50%);z-index:8;display:grid;gap:14px}
.hero-socials a{width:46px;height:46px;border:1px solid #b78334;border-radius:50%;display:grid;place-items:center;color:#d5a24e;font-size:1.15rem;font-family:Arial,sans-serif;transition:.2s}
.hero-socials a:hover{background:#c99743;color:#080808;transform:translateX(-3px)}
.photo-selection-toolbar{position:sticky;top:78px;z-index:20;display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:rgba(13,17,22,.96);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:22px 0}
.photo-selection-toolbar label{display:flex;align-items:center;gap:9px}.photo-selection-toolbar input{width:auto}.photo-selection-toolbar span{color:var(--muted);margin-right:auto}
.selectable-photo{position:relative;transition:border-color .2s,transform .2s}.selectable-photo.is-selected{border-color:#c99743;transform:translateY(-2px);box-shadow:0 0 0 2px rgba(201,151,67,.18)}
.photo-selector{position:absolute;top:10px;left:10px;z-index:5;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;cursor:pointer}
.photo-selector input{position:absolute;opacity:0}.photo-selector span{opacity:0;color:#050505;font-weight:900}.photo-selector:has(input:checked){background:#c99743;border-color:#c99743}.photo-selector:has(input:checked) span{opacity:1}
.photo-open-button,.family-photo-button{display:block;width:100%;border:0;padding:0;background:none;color:inherit;text-align:inherit;cursor:zoom-in}.photo-open-button img{width:100%;display:block}
.photo-lightbox[hidden]{display:none}.photo-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.96);display:grid;grid-template-columns:90px 1fr 90px;align-items:center;touch-action:pan-y}
.lightbox-stage{height:100vh;display:grid;grid-template-rows:1fr auto;place-items:center;padding:34px 0 22px;min-width:0}.lightbox-stage img{max-width:100%;max-height:calc(100vh - 90px);object-fit:contain;user-select:none}.lightbox-stage p{margin:10px 0 0;color:#bdbdbd}
.lightbox-close{position:absolute;right:22px;top:18px;z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid #777;background:rgba(0,0,0,.55);color:#fff;font-size:2rem}
.lightbox-nav{height:100%;border:0;background:transparent;color:#fff;font-size:4rem;opacity:.65}.lightbox-nav:hover{opacity:1}.lightbox-counter{position:absolute;left:22px;bottom:20px;color:#aaa;font-size:.85rem}
body.lightbox-open{overflow:hidden}.family-photo-button{break-inside:avoid;margin:0 0 14px;border-radius:8px;overflow:hidden}.family-photo-button img{width:100%;display:block}.social-settings-form{max-width:780px}
@media(max-width:1050px){.hero-socials{top:auto;right:24px;bottom:105px;transform:none}.photo-selection-toolbar{top:10px}}
@media(max-width:620px){.hero-socials{display:flex;right:auto;left:20px;bottom:16px}.hero-socials a{width:38px;height:38px}.photo-lightbox{grid-template-columns:48px 1fr 48px}.lightbox-nav{font-size:2.6rem}.lightbox-stage{padding:60px 0 48px}.lightbox-stage img{max-height:calc(100vh - 130px)}.photo-selection-toolbar{align-items:stretch}.photo-selection-toolbar span{width:100%;order:3}.photo-selection-toolbar .danger-button{width:100%}}


/* NRO Studio 0.5.1 — PORTADA 1 APROBADA */
.portfolio-shell{
    background:
      radial-gradient(circle at 28% 42%,rgba(255,255,255,.045),transparent 28%),
      linear-gradient(90deg,#070707 0%,#0b0b0b 52%,#050505 100%);
}
.portfolio-hero{
    grid-template-columns:50% 50%;
    min-height:calc(100svh - 88px);
}
.hero-portrait{min-height:710px}
.hero-portrait img{
    object-fit:cover;
    object-position:center center;
    filter:none;
}
.hero-portrait:after{
    background:
      linear-gradient(90deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,0) 55%,#070707 100%),
      linear-gradient(0deg,#050505 0%,transparent 26%);
}
.hero-identity h1{font-size:clamp(4.8rem,7.6vw,8.5rem)}
.discover-button{min-width:340px}
.portal-section{
    margin-top:-92px;
    padding:0 clamp(34px,11vw,180px) 24px;
    background:transparent;
}
.portal-grid{
    max-width:1180px;
    margin:0 auto;
    gap:22px;
}
.portal-card{
    height:230px;
    border-radius:8px;
}
.portal-content{padding:18px}
.portal-content h2{font-size:1.45rem}
.portal-content p{font-size:.78rem}
.portal-content strong{font-size:1.35rem;margin-top:8px}
.portfolio-footer{padding-top:20px}
@media(max-width:1050px){
    .portfolio-hero{grid-template-columns:1fr}
    .portal-section{padding:25px 24px}
    .portal-card{height:260px}
}
@media(max-width:620px){
    .hero-portrait img{object-position:center center}
    .portal-card{height:280px}
}


/* NRO Studio 0.6.0 — composición pública centrada y separada */
.public-home-body{
    overflow-x:hidden;
    background:#050505;
}
.public-home{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}
.portfolio-shell{
    min-height:100svh;
    width:100%;
    background:#050505;
}
.portfolio-nav{
    width:min(1500px,calc(100% - 64px));
    margin:0 auto;
    padding:0;
    height:92px;
}
.signature-brand{flex:0 0 auto}
.portfolio-menu{
    margin-left:auto;
    justify-content:flex-end;
}
.portfolio-hero{
    width:min(1500px,calc(100% - 64px));
    margin:0 auto;
    min-height:650px;
    height:calc(100svh - 92px);
    max-height:820px;
    display:grid;
    grid-template-columns:minmax(460px,47%) minmax(560px,53%);
    align-items:stretch;
    position:relative;
}
.hero-portrait{
    min-height:0;
    height:100%;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    justify-content:center;
}
.hero-portrait img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 50%;
    display:block;
}
.hero-portrait:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(90deg,transparent 0%,transparent 70%,#050505 100%),
      linear-gradient(0deg,#050505 0%,transparent 18%);
}
.hero-identity{
    position:relative;
    inset:auto;
    align-self:center;
    padding:30px 42px 70px 34px;
    background:none;
}
.hero-identity h1{
    font-size:clamp(4rem,7vw,7.3rem);
    line-height:.83;
    max-width:720px;
}
.hero-socials{
    right:18px;
}
.scroll-indicator{
    left:50%;
    bottom:98px;
}
.portal-section{
    width:100%;
    margin:-78px 0 0;
    padding:0 32px 18px;
    position:relative;
    z-index:6;
}
.portal-grid{
    width:min(1080px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
}
.portal-card{
    height:auto;
    aspect-ratio:1.18/1;
    overflow:hidden;
    border-radius:8px;
}
.portal-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 50%;
    display:block;
    transform:none;
}
.portal-card:hover img{transform:scale(1.025)}
.portal-content{
    padding:16px 17px;
    justify-content:flex-end;
}
.portal-content h2{font-size:1.35rem}
.portal-content p{font-size:.75rem}
.portal-content strong{font-size:1.2rem}
.about-section{
    width:min(1080px,calc(100% - 48px));
    margin:70px auto 0;
}
.portfolio-footer{
    width:min(1080px,calc(100% - 48px));
    margin:0 auto;
}

/* Centrado uniforme de miniaturas en álbumes y panel */
.album-card img,
.photo-card img,
.family-album-card img,
.masonry-photo img,
.selectable-photo img,
.gallery-card img,
.card-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}
.album-card,
.family-album-card,
.gallery-card,
.card-cover{
    overflow:hidden;
}
.album-card img,
.family-album-card img{
    aspect-ratio:4/3;
    height:auto;
}

/* Evita que la barra administrativa aparezca en cualquier página pública */
body.public-home-body > .topbar{display:none!important}

@media(max-width:1100px){
    .portfolio-nav{width:calc(100% - 36px)}
    .portfolio-hero{
        width:100%;
        height:auto;
        max-height:none;
        min-height:auto;
        grid-template-columns:1fr;
    }
    .hero-portrait{
        height:66svh;
        min-height:560px;
    }
    .hero-portrait img{object-position:center center}
    .hero-identity{
        position:relative;
        padding:38px 7vw 54px;
        text-align:left;
    }
    .hero-identity h1{font-size:clamp(3.8rem,12vw,7rem)}
    .hero-socials{right:22px;bottom:30px;top:auto}
    .scroll-indicator{display:none}
    .portal-section{margin:0;padding:20px 24px 30px}
    .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
    .portal-card{aspect-ratio:1.25/1}
}
@media(max-width:620px){
    .portfolio-nav{width:calc(100% - 28px);height:78px}
    .hero-portrait{height:58svh;min-height:430px}
    .hero-identity{padding:30px 20px 42px}
    .hero-identity h1{font-size:clamp(3.05rem,16vw,5rem)}
    .discover-button{min-width:0;width:100%}
    .portal-section{padding:18px 18px 28px}
    .portal-grid{grid-template-columns:1fr;max-width:390px}
    .portal-card{aspect-ratio:1.28/1}
}


/* NRO Studio 0.6.1 — indicador aprobado, sin alterar la portada */
.hero-identity .scroll-indicator-inline{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:36px;
    margin:24px auto 0;
    z-index:8;
    display:grid;
    place-items:center;
    color:#d4d4d4;
    text-decoration:none;
}
.hero-identity .scroll-indicator-inline span{
    width:20px;
    height:34px;
    border:1px solid rgba(255,255,255,.82);
    border-radius:12px;
    display:block;
    position:relative;
}
.hero-identity .scroll-indicator-inline span::after{
    content:"";
    position:absolute;
    width:3px;
    height:6px;
    border-radius:3px;
    background:#d7a74e;
    left:50%;
    top:7px;
    transform:translateX(-50%);
}
.hero-identity .scroll-indicator-inline i{
    font-style:normal;
    font-size:1.2rem;
    line-height:1;
    margin-top:2px;
}
@media(max-width:1100px){
    .hero-identity .scroll-indicator-inline{display:none}
}


/* NRO Studio 0.6.2 — encuadres interiores corregidos */

/* Fotografías y Viajes:
   la imagen se muestra completa, centrada y sin recortar cabeza/cuerpo. */
.public-inner-hero{
    min-height:560px;
    background-color:#080808;
    background-repeat:no-repeat;
    background-size:auto 100%;
    background-position:center center;
}
.public-inner-hero::before{
    background:
      linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.52) 34%,rgba(0,0,0,.18) 58%,rgba(0,0,0,.45) 100%),
      linear-gradient(0deg,#070707 0%,rgba(7,7,7,.18) 32%,rgba(7,7,7,.08) 100%);
}
.photo-inner{
    background-image:
      linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.08)),
      url("../images/portrait/fotografias.jpg");
    background-position:center center;
}
.travel-inner{
    background-image:
      linear-gradient(90deg,rgba(0,0,0,.10),rgba(0,0,0,.10)),
      url("../images/portrait/viajes.jpg");
    background-position:center center;
}
.video-inner{
    background-size:auto 100%;
    background-position:center center;
}

/* Familia:
   el retrato y el cartel se muestran completos. */
.family-gate{
    grid-template-columns:minmax(0,58%) minmax(420px,42%);
}
.family-image{
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
}
.family-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
    background:#fff;
}

/* Ajustes para pantallas panorámicas */
@media(min-width:1350px){
    .public-inner-hero{
        min-height:590px;
        background-size:auto 100%;
    }
}

/* Ajustes para tablet y móvil */
@media(max-width:1050px){
    .public-inner-hero{
        min-height:520px;
        background-size:auto 100%;
        background-position:center center;
        padding:60px 28px;
    }
    .family-gate{
        grid-template-columns:1fr;
    }
    .family-image{
        min-height:52svh;
    }
    .family-image img{
        max-height:62svh;
    }
}
@media(max-width:620px){
    .public-inner-hero{
        min-height:500px;
        background-size:auto 100%;
        background-position:center center;
        padding:45px 22px;
    }
    .public-inner-hero h1{
        font-size:clamp(3.7rem,20vw,6rem);
    }
    .family-image{
        min-height:42svh;
    }
}

/* NRO Studio 0.6.5 — PORTADA EXACTA APROBADA */
body:has(.exact-home){background:#000}
body:has(.exact-home) .topbar{display:none}
body:has(.exact-home) .page{width:100%;max-width:none;padding:0;margin:0}
.exact-home{position:relative;width:100%;aspect-ratio:1536/1024;background:#000;overflow:hidden}
.exact-home-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.home-hotspot{position:absolute;z-index:5;display:block;border:0;background:transparent}
.home-hotspot:focus-visible{outline:2px solid #d59b2b;outline-offset:2px}
.hs-inicio{left:52.5%;top:3.2%;width:5%;height:5%}
.hs-viajes{left:58.5%;top:3.2%;width:6%;height:5%}
.hs-fotografias{left:64.7%;top:3.2%;width:9%;height:5%}
.hs-videos{left:74.7%;top:3.2%;width:6%;height:5%}
.hs-familia{left:81.5%;top:3.2%;width:7%;height:5%}
.hs-sobre{left:89.5%;top:3.2%;width:8%;height:5%}
.hs-boton{left:51.8%;top:53.2%;width:24.4%;height:6.5%}
.hs-instagram{left:92.2%;top:31.4%;width:4.5%;height:5.5%}
.hs-youtube{left:92.2%;top:38.3%;width:4.5%;height:5.5%}
.hs-email{left:92.2%;top:45.1%;width:4.5%;height:5.5%}
.hs-card-fotos{left:14.5%;top:72.1%;width:16%;height:21.2%}
.hs-card-viajes{left:31.7%;top:72.1%;width:16.5%;height:21.2%}
.hs-card-familia{left:50.2%;top:72.1%;width:16.5%;height:21.2%}
.hs-card-videos{left:67.6%;top:72.1%;width:16.5%;height:21.2%}
.hs-admin{left:30%;top:95%;width:38%;height:3.5%}
.exact-about{background:#090909;color:#eee;padding:90px max(24px,10vw);text-align:center}
.exact-about h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.02em}
.exact-about p{color:#aaa;max-width:720px;margin:auto;line-height:1.7}
@media(max-width:800px){
 .exact-home{aspect-ratio:1536/1024;min-height:auto}
 .exact-home-image{object-fit:contain}
 .exact-about{padding-top:60px}
}

/* NRO Studio 0.6.6 — portada real con fotografía original /web/FOTOS/foto portada 1 */
body:has(.nro-home){background:#000;color:#fff}
body:has(.nro-home) .topbar{display:none}
body:has(.nro-home) .page{width:100%;max-width:none;padding:0;margin:0}
.nro-home{min-height:100vh;background:#030303;overflow:hidden;padding:22px 34px 28px;box-sizing:border-box;font-family:Arial,sans-serif}
.nro-header{height:72px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:20}
.nro-brand{display:flex;align-items:center;gap:20px;color:#fff;text-decoration:none}
.nro-monogram{font-family:"Brush Script MT",cursive;font-size:58px;line-height:.8;font-style:italic;color:#d49a28;letter-spacing:-8px}
.nro-brand-copy{display:flex;flex-direction:column;gap:8px;letter-spacing:2px}
.nro-brand-copy strong{font-size:15px;font-weight:400}.nro-brand-copy small{font-size:10px;color:#8e8e8e;letter-spacing:5px}
.nro-nav{display:flex;gap:39px;align-items:center;padding-top:13px}.nro-nav a{color:#eee;text-decoration:none;font-size:13px;letter-spacing:1px;white-space:nowrap;padding-bottom:15px}.nro-nav a.active{color:#d49a28;border-bottom:2px solid #d49a28}
.nro-hero{height:635px;position:relative;max-width:1300px;margin:0 auto}
.nro-portrait-wrap{position:absolute;left:3%;top:-25px;width:48%;height:650px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.nro-portrait-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#030303 0%,transparent 18%,transparent 76%,#030303 100%),linear-gradient(0deg,#030303 0%,transparent 28%)}
.nro-portrait{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;filter:grayscale(1)}
.nro-photo-warning{border:1px solid #8c641b;padding:25px;max-width:380px;color:#d7a74e;display:flex;flex-direction:column;gap:10px}.nro-photo-warning span{font-size:13px;color:#aaa;line-height:1.5}
.nro-copy{position:absolute;left:52%;top:55px;width:43%;z-index:5}.nro-copy h1{font-family:Georgia,serif;font-weight:400;margin:0;line-height:.86;letter-spacing:3px}.nro-copy h1 span,.nro-copy h1 em{display:block;font-style:normal;font-size:82px}.nro-copy h1 em{color:#c68e36}.nro-rule{width:54px;height:1px;background:#c68e36;margin:31px 0 20px}.nro-copy p{font-size:14px;letter-spacing:6px;color:#d6d6d6}.nro-copy p b{color:#c68e36;margin:0 12px}.nro-cta{margin-top:30px;width:310px;height:58px;border:1px solid #a97822;color:#dba63d;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:20px;letter-spacing:3px;font-size:15px}.nro-cta span{font-size:25px}.nro-scroll{display:flex;flex-direction:column;align-items:center;width:30px;margin-top:28px;color:#fff;text-decoration:none}.nro-scroll i{width:20px;height:38px;border:1px solid #fff;border-radius:12px;position:relative}.nro-scroll i:after{content:"";position:absolute;width:3px;height:6px;background:#d49a28;border-radius:3px;left:8px;top:7px}.nro-scroll span{font-size:25px;line-height:16px}.nro-socials{position:absolute;right:-1%;top:210px;display:flex;flex-direction:column;gap:22px}.nro-socials a{width:42px;height:42px;border:1px solid #c68e36;border-radius:50%;display:grid;place-items:center;color:#dba63d;text-decoration:none;font-size:17px}
.nro-cards{max-width:1085px;margin:-28px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative;z-index:10}.nro-card{height:210px;border:1px solid #3f3f3f;border-radius:6px;overflow:hidden;position:relative;color:#fff;text-decoration:none;background:#111}.nro-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.15) 70%)}.nro-card img{width:100%;height:100%;object-fit:cover;object-position:center top}.nro-card div{position:absolute;z-index:2;left:15px;right:15px;bottom:13px;display:flex;flex-direction:column;gap:5px}.nro-card strong{font-family:Georgia,serif;font-size:18px;font-weight:400}.nro-card span{font-size:12px}.nro-card b{font-size:22px;color:#d49a28;font-weight:400}.nro-footer{text-align:center;color:#767676;font-size:11px;letter-spacing:1px;padding-top:27px}
@media(max-width:1100px){.nro-nav{gap:18px}.nro-copy h1 span,.nro-copy h1 em{font-size:65px}.nro-copy{left:50%}.nro-socials{right:1%}}
@media(max-width:820px){.nro-home{padding:18px}.nro-header{height:auto}.nro-nav{display:none}.nro-brand-copy strong{font-size:12px}.nro-hero{height:auto;display:flex;flex-direction:column;align-items:center}.nro-portrait-wrap{position:relative;left:auto;top:auto;width:100%;height:520px}.nro-copy{position:relative;left:auto;top:auto;width:100%;padding:15px 4px 55px}.nro-copy h1 span,.nro-copy h1 em{font-size:clamp(48px,14vw,72px)}.nro-copy p{letter-spacing:3px;font-size:11px}.nro-socials{display:none}.nro-cards{margin:0;grid-template-columns:1fr 1fr}.nro-card{height:190px}.nro-footer{line-height:1.6}}
@media(max-width:520px){.nro-monogram{font-size:48px}.nro-brand-copy{gap:4px}.nro-brand-copy strong{font-size:9px}.nro-brand-copy small{font-size:8px}.nro-portrait-wrap{height:420px}.nro-cta{width:100%;box-sizing:border-box;font-size:12px}.nro-cards{grid-template-columns:1fr}.nro-card{height:230px}}


/* NRO Studio 0.6.7 — integración correcta de la fotografía original */
.nro-portrait-wrap{
    left:0;
    top:-34px;
    width:50.5%;
    height:675px;
    align-items:flex-end;
    justify-content:center;
    background:#030303;
}
.nro-portrait-wrap:after{
    background:
      linear-gradient(90deg,#030303 0%,transparent 8%,transparent 78%,#030303 100%),
      linear-gradient(0deg,#030303 0%,transparent 20%);
}
.nro-portrait{
    width:auto;
    height:100%;
    max-width:none;
    object-fit:contain;
    object-position:center bottom;
    transform:scale(1.08);
    transform-origin:center bottom;
    filter:grayscale(1) contrast(1.07) brightness(.82);
}
@media(max-width:820px){
    .nro-portrait-wrap{left:auto;top:auto;width:100%;height:520px}
    .nro-portrait{height:100%;width:auto;transform:scale(1.02)}
}
@media(max-width:520px){
    .nro-portrait-wrap{height:420px}
}


/* NRO Studio 0.6.8 — fotografía original, proporciones y fondo corregidos */
.nro-portrait-wrap{
    left:2.2%;
    top:-16px;
    width:49%;
    height:660px;
    align-items:flex-end;
    justify-content:center;
    overflow:visible;
}
.nro-portrait-wrap:after{
    background:
      linear-gradient(90deg,#030303 0%,transparent 13%,transparent 82%,#030303 100%),
      linear-gradient(0deg,#030303 0%,transparent 24%);
}
.nro-portrait{
    width:auto !important;
    height:650px !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    display:block;
    filter:none !important;
    transform:none !important;
}
@media(max-width:820px){
    .nro-portrait-wrap{width:100%;height:520px;overflow:hidden}
    .nro-portrait{height:510px !important;width:auto !important}
}
@media(max-width:520px){
    .nro-portrait-wrap{height:420px}
    .nro-portrait{height:410px !important}
}


/* NRO Studio 0.6.9 — PORTADA 2 en color, recorte a busto */
.nro-portrait-wrap{
    left:1.5%;
    top:10px;
    width:48%;
    height:640px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    overflow:visible;
}
.nro-portrait-wrap:after{
    background:
      linear-gradient(90deg,#030303 0%,transparent 10%,transparent 84%,#030303 100%),
      linear-gradient(0deg,#030303 0%,transparent 22%);
}
.nro-portrait{
    width:auto !important;
    height:620px !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    filter:none !important;
    transform:none !important;
}
@media(max-width:1100px){
    .nro-portrait-wrap{height:580px;width:49%}
    .nro-portrait{height:560px !important}
}
@media(max-width:820px){
    .nro-portrait-wrap{
        position:relative;
        left:auto;
        top:auto;
        width:100%;
        height:500px;
        overflow:hidden;
    }
    .nro-portrait{height:490px !important;width:auto !important}
}
@media(max-width:520px){
    .nro-portrait-wrap{height:410px}
    .nro-portrait{height:400px !important}
}


/* NRO Studio 0.7.0 — módulo de gestión */
.admin-shell{min-height:100vh;background:#0a0a0b;color:#f4f0e8}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#111114;border-right:1px solid rgba(196,157,82,.24);padding:26px 20px;display:flex;flex-direction:column;z-index:50}
.admin-brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;padding:5px 8px 28px}
.admin-brand-mark{width:43px;height:43px;border:1px solid #c49d52;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;color:#c49d52;font-weight:700}
.admin-brand b{display:block;font-family:Georgia,serif;font-size:21px;letter-spacing:.08em}
.admin-brand small{display:block;color:#c49d52;letter-spacing:.16em;text-transform:uppercase;font-size:9px;margin-top:2px}
.admin-nav{display:grid;gap:5px}
.admin-nav a,.admin-sidebar-bottom a,.admin-sidebar-bottom button{display:block;width:100%;padding:12px 14px;border-radius:10px;color:#d8d3ca;text-decoration:none;background:transparent;border:0;text-align:left;font:inherit;cursor:pointer}
.admin-nav a:hover,.admin-sidebar-bottom a:hover,.admin-sidebar-bottom button:hover{background:rgba(196,157,82,.12);color:#fff}
.admin-sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}
.admin-sidebar-bottom form{margin:0}
.admin-content{margin-left:250px;min-height:100vh}
.admin-content .page{max-width:1500px;margin:0 auto;padding:38px 42px 70px}
.admin-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}
.admin-heading.compact{align-items:center}
.admin-heading h1{font-family:Georgia,serif;font-size:clamp(34px,4vw,58px);margin:6px 0 8px}
.admin-heading p{max-width:740px;color:#aaa49a;margin:0}
.admin-heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.primary-button-link{display:inline-flex;align-items:center;padding:13px 18px;border-radius:10px;background:#c49d52;color:#0b0b0c;text-decoration:none;font-weight:700}
.admin-stats{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:25px}
.admin-stats>a,.admin-stats>article{display:block;background:#151518;border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:18px;text-decoration:none;color:inherit}
.admin-stats span{display:block;color:#aaa49a;font-size:13px}
.admin-stats strong{display:block;font-family:Georgia,serif;font-size:31px;color:#fff;margin:7px 0}
.admin-stats small{color:#c49d52}
.admin-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:34px}
.admin-modules a{background:#121214;border:1px solid rgba(196,157,82,.18);border-radius:15px;padding:22px;text-decoration:none;color:#fff;min-height:120px}
.admin-modules b{display:block;font-family:Georgia,serif;font-size:22px;margin-bottom:8px}
.admin-modules span{color:#aaa49a;line-height:1.5}
.section-title-row{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}
.section-title-row h2{font-family:Georgia,serif;font-size:30px;margin:4px 0 0}
.section-title-row a,.text-link,.filter-reset{color:#c49d52;text-decoration:none}
.latest-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.latest-photo-grid a{background:#151518;border-radius:13px;overflow:hidden;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.07)}
.latest-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.latest-photo-grid span,.latest-photo-grid small{display:block;padding:0 12px}
.latest-photo-grid span{padding-top:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.latest-photo-grid small{color:#9c978f;padding-top:4px;padding-bottom:12px}
.admin-filters{display:grid;grid-template-columns:2fr 1fr auto auto;gap:12px;align-items:end;background:#151518;border:1px solid rgba(255,255,255,.08);padding:16px;border-radius:14px;margin-bottom:18px}
.admin-filters label span{display:block;color:#aaa49a;font-size:12px;margin-bottom:6px}
.admin-filters input,.admin-filters select{width:100%;min-height:44px;background:#0d0d0f;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:0 12px}
.admin-photo-library{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){
 .admin-stats{grid-template-columns:repeat(3,1fr)}
 .admin-modules{grid-template-columns:repeat(2,1fr)}
 .admin-photo-library,.latest-photo-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
 .admin-sidebar{position:static;width:auto;height:auto;padding:14px}
 .admin-brand{padding-bottom:12px}
 .admin-nav{display:flex;overflow-x:auto}
 .admin-nav a{white-space:nowrap}
 .admin-sidebar-bottom{display:none}
 .admin-content{margin-left:0}
 .admin-content .page{padding:24px 16px 50px}
 .admin-heading{display:block}
 .admin-heading-actions{margin-top:18px}
 .admin-stats{grid-template-columns:repeat(2,1fr)}
 .admin-modules{grid-template-columns:1fr}
 .latest-photo-grid,.admin-photo-library{grid-template-columns:repeat(2,1fr)}
 .admin-filters{grid-template-columns:1fr}
}


/* NRO Studio 1.0.0 — portada definitiva aprobada */
.nro-home-v1{background:#020202;color:#fff;min-height:100vh}
.nro-home-v1 .nro-header{padding:25px 30px 0;align-items:flex-start}
.nro-brand-text-only{gap:0}
.nro-brand-text-only .nro-brand-copy strong{font-size:17px;letter-spacing:.10em;font-weight:500}
.nro-brand-text-only .nro-brand-copy small{font-size:10px;letter-spacing:.38em;margin-top:8px;color:#9e9e9e}
.nro-home-v1 .nro-nav{gap:25px;align-items:center}
.nro-home-v1 .nro-nav a{font-size:12px;letter-spacing:.075em;white-space:nowrap}
.nro-admin-link{border-left:1px solid rgba(255,255,255,.2);padding-left:22px!important;color:#d6a43d!important}
.nro-admin-link span{margin-right:5px}
.nro-home-v1 .nro-hero{min-height:585px}
.nro-home-v1 .nro-portrait-wrap{left:3.5%;top:25px;width:43%;height:590px;align-items:flex-end;justify-content:center;overflow:visible}
.nro-home-v1 .nro-portrait-wrap:after{background:linear-gradient(90deg,#020202 0%,transparent 7%,transparent 90%,#020202 100%),linear-gradient(0deg,#020202 0%,transparent 14%)}
.nro-home-v1 .nro-portrait{height:590px!important;width:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center bottom!important;filter:none!important;transform:none!important}
.nro-home-v1 .nro-copy{width:52%;right:3.5%;top:88px}
.nro-home-v1 .nro-copy h1{font-size:clamp(64px,7vw,112px);line-height:.78}
.nro-home-v1 .nro-copy h1 em{color:#d2a13c}
.nro-home-v1 .nro-copy p{letter-spacing:.34em}
.nro-home-v1 .nro-cta{margin-top:30px}
.nro-home-v1 .nro-cards{padding:0 30px;gap:18px;position:relative;z-index:4}
.nro-home-v1 .nro-card{height:260px;border-color:rgba(255,255,255,.22)}
.nro-home-v1 .nro-card img{width:100%;height:100%;object-fit:cover}
.nro-home-v1 .nro-card:after{background:linear-gradient(0deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.52) 42%,rgba(0,0,0,.05) 78%)}
.nro-home-v1 .nro-card div{padding:20px}
.nro-home-v1 .nro-card strong{font-size:21px}
.nro-home-v1 .nro-card span{font-size:13px}
.nro-footer-full{border-top:1px solid rgba(255,255,255,.16);margin:20px 30px 0;padding:15px 0 18px;text-align:center}
.nro-footer-links{display:flex;justify-content:center;align-items:center;gap:0;margin-bottom:14px}
.nro-footer-links a{color:#d1d1d1;text-decoration:none;font-size:11px;letter-spacing:.075em;padding:0 40px;border-right:1px solid rgba(255,255,255,.22)}
.nro-footer-links a:last-child{border-right:0}
.nro-footer-links i{color:#d6a43d;font-style:normal;font-size:18px;margin-right:9px}
.nro-footer-full p{margin:0;color:#858585;font-size:10px;letter-spacing:.08em}
@media(max-width:1180px){.nro-home-v1 .nro-nav{gap:14px}.nro-home-v1 .nro-nav a{font-size:10px}.nro-home-v1 .nro-copy h1{font-size:70px}.nro-footer-links a{padding:0 20px}}
@media(max-width:900px){.nro-home-v1 .nro-header{display:block}.nro-home-v1 .nro-nav{margin-top:18px;overflow-x:auto;padding-bottom:10px}.nro-admin-link{border-left:0;padding-left:0!important}.nro-home-v1 .nro-hero{display:block;min-height:auto}.nro-home-v1 .nro-portrait-wrap{position:relative;left:auto;top:auto;width:100%;height:490px}.nro-home-v1 .nro-portrait{height:485px!important}.nro-home-v1 .nro-copy{position:relative;right:auto;top:auto;width:auto;padding:10px 25px 30px}.nro-home-v1 .nro-copy h1{font-size:clamp(54px,14vw,86px)}.nro-home-v1 .nro-cards{grid-template-columns:repeat(2,1fr);padding:0 18px}.nro-footer-links{flex-wrap:wrap;gap:14px}.nro-footer-links a{border-right:0;padding:0 12px}}
@media(max-width:560px){.nro-home-v1 .nro-portrait-wrap{height:390px}.nro-home-v1 .nro-portrait{height:385px!important}.nro-home-v1 .nro-cards{grid-template-columns:1fr}.nro-home-v1 .nro-card{height:235px}}


/* NRO Studio 1.0.1 — Familia y progreso de subida */
.family-password-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:18px}
.family-password-grid .editor-card{align-content:start}
.reset-family-card{border-color:rgba(210,80,70,.35)}
.reset-family-card h2,.editor-card h2{font-family:Georgia,serif;margin:0;color:#fff}
.reset-family-card p{color:#aaa49a;line-height:1.6}
.temporary-password-card{background:#151518;border:1px solid rgba(196,157,82,.55);border-radius:15px;padding:20px;margin-bottom:18px}
.temporary-password-card>span{display:block;color:#c49d52;font-size:11px;letter-spacing:.16em;margin-bottom:12px}
.temporary-password-card>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.temporary-password-card code{font-size:clamp(22px,3vw,34px);letter-spacing:.1em;color:#fff;background:#09090a;border-radius:10px;padding:12px 16px}
.temporary-password-card p{color:#aaa49a;margin:12px 0 0}
.upload-progress-panel{background:#0d0d0f;border:1px solid rgba(196,157,82,.35);border-radius:12px;padding:15px}
.upload-progress-panel.is-error{border-color:rgba(220,74,64,.65)}
.upload-progress-head,.upload-progress-detail{display:flex;justify-content:space-between;gap:16px;align-items:center}
.upload-progress-head strong{color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.upload-progress-head span{color:#c49d52;font-weight:800}
.upload-progress-track{height:12px;background:#252529;border-radius:999px;overflow:hidden;margin:12px 0}
.upload-progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#9e7834,#e3bd67);border-radius:inherit;transition:width .15s linear}
.upload-progress-detail{font-size:12px;color:#aaa49a}
@media(max-width:760px){
 .family-password-grid{grid-template-columns:1fr}
 .upload-progress-detail{display:grid;gap:4px}
}

/* NRO Studio 1.0.2 — viajes, álbumes y visor público */
.trip-public-card{text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease}.trip-public-card:hover{transform:translateY(-3px);border-color:rgba(201,151,67,.52)}.trip-public-card div b{margin-left:auto;color:#c99743}.public-trip-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.public-trip-summary span{background:#151515;border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:9px 13px;color:#bbb}.public-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.public-album-card{display:block;background:#111;border:1px solid rgba(255,255,255,.12);border-radius:14px;overflow:hidden;text-decoration:none;color:#fff}.public-album-cover{height:250px;background:#1c1811;display:grid;place-items:center;overflow:hidden}.public-album-cover img{width:100%;height:100%;object-fit:cover}.public-album-card>div:last-child{padding:20px}.public-album-card h2{font-family:Georgia,serif;font-size:2rem;font-weight:400}.public-album-card strong{color:#c99743}.public-photo-button{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.public-photo-button img{width:100%;height:auto;display:block}@media(max-width:900px){.public-album-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.public-album-grid{grid-template-columns:1fr}}


/* NRO Studio 1.1.0 — importador NAS */
.album-import-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.album-import-actions span{color:#aaa49a;font-size:13px}
.album-import-actions code,.nas-breadcrumb code{color:#c49d52}
.nas-import-button{border-color:rgba(196,157,82,.55)}
.nas-breadcrumb{display:flex;gap:9px;align-items:center;flex-wrap:wrap;background:#151518;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:13px 16px;margin-bottom:12px}
.nas-breadcrumb a,.nas-parent-link{color:#c49d52;text-decoration:none}
.nas-parent-link{display:inline-block;margin:0 0 14px}
.nas-folders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.nas-folders a{display:flex;align-items:center;gap:11px;background:#151518;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;color:#fff;text-decoration:none}
.nas-folders a:hover{border-color:rgba(196,157,82,.55)}
.nas-folders span{font-size:25px}
.nas-selection-toolbar{position:sticky;top:10px;z-index:10;background:#151518}
.nas-file-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.nas-file-card{position:relative;background:#151518;border:1px solid rgba(255,255,255,.09);border-radius:13px;overflow:hidden;cursor:pointer}
.nas-file-card:hover{border-color:rgba(196,157,82,.5)}
.nas-file-card>input{position:absolute;z-index:3;top:12px;left:12px;width:24px;height:24px;accent-color:#c49d52}
.nas-file-card:has(input:checked){border-color:#c49d52;box-shadow:0 0 0 2px rgba(196,157,82,.18)}
.nas-file-card.is-disabled{opacity:.63;cursor:not-allowed}
.nas-file-preview{aspect-ratio:4/3;background:#09090a;display:grid;place-items:center;overflow:hidden}
.nas-file-preview img{width:100%;height:100%;object-fit:cover;display:block}
.nas-heic-placeholder{text-align:center}
.nas-heic-placeholder strong{display:block;font-family:Georgia,serif;font-size:32px;color:#c49d52}
.nas-heic-placeholder span{display:block;color:#999;margin-top:5px}
.nas-file-meta{padding:12px}
.nas-file-meta>strong{display:block;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nas-file-meta>span,.nas-file-meta>small{display:block;color:#999;font-size:12px;margin-top:5px}
.nas-file-meta>small{color:#e2ad54}
@media(max-width:1100px){.nas-file-grid,.nas-folders{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.nas-file-grid,.nas-folders{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.nas-file-grid,.nas-folders{grid-template-columns:1fr}}


/* NRO Studio 1.1.1 — ruta NAS configurable */
.nas-root-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:22px;background:#151518;border:1px solid rgba(196,157,82,.24);border-radius:15px;padding:22px;margin-bottom:22px}
.nas-root-settings h2{font-family:Georgia,serif;font-size:30px;margin:5px 0 8px}
.nas-root-settings p{color:#aaa49a;line-height:1.55;margin:0}
.nas-root-settings form{display:grid;gap:12px;align-content:start}
.nas-root-settings label{color:#d8d3ca}
.nas-root-settings input{display:block;width:100%;min-height:46px;margin-top:7px;background:#0d0d0f;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:0 12px;font-family:monospace}
@media(max-width:760px){.nas-root-settings{grid-template-columns:1fr}}


/* NRO Studio 1.1.2 — diagnóstico NAS */
.nas-diagnostic-card{background:#111114;border:1px solid rgba(196,157,82,.24);border-radius:15px;padding:22px;margin-bottom:22px}
.nas-diagnostic-header{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:20px}
.nas-diagnostic-header h2{font-family:Georgia,serif;font-size:31px;margin:5px 0 8px}
.nas-diagnostic-header p{color:#aaa49a;margin:0}
.nas-diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nas-diagnostic-grid article{display:flex;gap:12px;background:#17171a;border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:13px}
.nas-diagnostic-grid article>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-weight:800;flex:0 0 auto}
.nas-diagnostic-grid article.ok>span{background:rgba(62,174,119,.18);color:#66d39d}
.nas-diagnostic-grid article.bad>span{background:rgba(216,73,73,.18);color:#ff7f7f}
.nas-diagnostic-grid strong{display:block;color:#fff;margin-bottom:4px}
.nas-diagnostic-grid code{display:block;color:#b9b4aa;word-break:break-word}
.nas-diagnostic-error,.nas-diagnostic-success,.nas-diagnostic-interpretation{margin-top:14px;border-radius:11px;padding:15px}
.nas-diagnostic-error{background:rgba(167,53,53,.13);border:1px solid rgba(216,73,73,.42)}
.nas-diagnostic-success{background:rgba(40,135,86,.12);border:1px solid rgba(62,174,119,.38)}
.nas-diagnostic-interpretation{background:#17171a;border:1px solid rgba(196,157,82,.22)}
.nas-diagnostic-error strong,.nas-diagnostic-success strong,.nas-diagnostic-interpretation h3{display:block;color:#fff;margin:0 0 8px}
.nas-diagnostic-error code{color:#ffaaaa;word-break:break-word}
.nas-diagnostic-success p,.nas-diagnostic-interpretation p{margin:0;color:#b9b4aa}
@media(max-width:760px){.nas-diagnostic-header{display:block}.nas-diagnostic-header form{margin-top:16px}.nas-diagnostic-grid{grid-template-columns:1fr}}

/* NRO Studio 1.2.0 — biblioteca FOTOS_WEB */
.nas-quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.folder-trip-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:24px;background:linear-gradient(135deg,rgba(196,157,82,.13),#121214);border:1px solid rgba(196,157,82,.4);border-radius:15px;padding:22px;margin-bottom:20px}.folder-trip-card h2{font-family:Georgia,serif;font-size:31px;margin:6px 0 9px}.folder-trip-card p{color:#aaa49a;line-height:1.6;margin:0}.folder-trip-card form{display:grid;gap:12px}.folder-trip-card input{display:block;width:100%;min-height:44px;margin-top:6px;background:#0d0d0f;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:0 12px}.folder-trip-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:800px){.folder-trip-card{grid-template-columns:1fr}.folder-trip-fields{grid-template-columns:1fr}}


/* NRO Studio 1.2.1 — permisos Synology */
.synology-permission-guide{margin-top:14px;background:#0e0e10;border:1px solid rgba(246,199,76,.35);border-radius:11px;padding:16px}
.synology-permission-guide h4{margin:0 0 10px;color:#f6c74c;font-size:17px}
.synology-permission-guide ol{margin:0;padding-left:22px;color:#d7d2c8;line-height:1.7}
.synology-permission-guide li+li{margin-top:5px}
.synology-permission-guide code{color:#f6c74c;background:#242428;border-radius:5px;padding:2px 6px}
.synology-permission-guide .permission-note{margin-top:12px;color:#9e998f}


/* NRO Studio 1.2.2 — visor profesional a pantalla completa */
.photo-lightbox{position:fixed!important;inset:0!important;width:100vw!important;width:100dvw!important;height:100vh!important;height:100dvh!important;z-index:2147483000!important;background:#000!important;display:grid!important;grid-template-columns:clamp(48px,7vw,96px) minmax(0,1fr) clamp(48px,7vw,96px)!important;align-items:stretch!important;overflow:hidden!important;overscroll-behavior:contain}
.photo-lightbox[hidden]{display:none!important}
.lightbox-stage{position:relative;width:100%;height:100vh;height:100dvh;min-width:0;padding:54px 10px 52px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:zoom-in}
.lightbox-stage.is-dragging{cursor:grabbing}
.lightbox-stage img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100vh - 120px)!important;max-height:calc(100dvh - 120px)!important;object-fit:contain!important;user-select:none;-webkit-user-drag:none;transform-origin:center center;transition:transform .16s ease,opacity .16s ease;will-change:transform}
.lightbox-stage img.is-zoomed{cursor:grab}
.lightbox-stage img.is-loading{opacity:0}
.lightbox-stage p{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:60vw;margin:0!important;color:#d4d4d4!important;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.lightbox-close{position:fixed!important;top:max(16px,env(safe-area-inset-top))!important;right:max(18px,env(safe-area-inset-right))!important;z-index:6!important;width:48px!important;height:48px!important;border:1px solid rgba(255,255,255,.38)!important;background:rgba(10,10,10,.76)!important;color:#fff!important;cursor:pointer}
.lightbox-nav{position:relative;z-index:4;width:100%!important;height:100%!important;border:0!important;background:transparent!important;color:#fff!important;font-size:clamp(44px,6vw,82px)!important;opacity:.62;cursor:pointer}
.lightbox-nav:hover{opacity:1}
.lightbox-counter{position:fixed!important;left:max(20px,env(safe-area-inset-left))!important;bottom:max(18px,env(safe-area-inset-bottom))!important;z-index:6;color:#d2a13c!important;font-size:13px!important;letter-spacing:.08em}
.lightbox-toolbar{position:fixed;top:max(17px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:6px;padding:5px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(12,12,12,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.lightbox-toolbar button{min-width:39px;height:36px;padding:0 11px;border:0;border-radius:999px;background:transparent;color:#fff;font-size:17px;cursor:pointer}
.lightbox-toolbar button:hover{background:rgba(255,255,255,.13)}
.lightbox-toolbar [data-lightbox-zoom-reset]{min-width:68px;font-size:12px}
.lightbox-loading{position:fixed;inset:0;z-index:2;display:none;place-content:center;place-items:center;gap:12px;color:#ddd;pointer-events:none}
.lightbox-loading.is-visible{display:grid}
.lightbox-loading span{width:38px;height:38px;border:3px solid rgba(255,255,255,.22);border-top-color:#d2a13c;border-radius:50%;animation:nro-lightbox-spin .75s linear infinite}
.lightbox-loading b{font-size:13px;font-weight:500}
@keyframes nro-lightbox-spin{to{transform:rotate(360deg)}}
body.lightbox-open{position:fixed;inset:0;width:100%;overflow:hidden!important;touch-action:none}
@media(max-width:700px){.photo-lightbox{grid-template-columns:42px minmax(0,1fr) 42px!important}.lightbox-stage{padding:64px 2px 54px!important}.lightbox-stage img{max-width:calc(100vw - 86px)!important;max-height:calc(100dvh - 125px)!important}.lightbox-stage p{max-width:62vw;font-size:11px}.lightbox-toolbar{top:max(12px,env(safe-area-inset-top))}.lightbox-toolbar button{min-width:34px;height:34px;padding:0 8px}.lightbox-close{width:42px!important;height:42px!important}}


/* NRO Studio 1.3.0 — portada sin Vídeos y retrato ampliado */
.nro-home-v1 .nro-portrait-wrap{
    left:2.2% !important;
    width:46% !important;
    height:625px !important;
    top:2px !important;
}
.nro-home-v1 .nro-portrait{
    height:625px !important;
    width:auto !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:none !important;
}
.nro-home-v1 .nro-copy{
    width:50% !important;
    right:2.8% !important;
}
.nro-home-v1 .nro-cards{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
@media(max-width:1100px){
    .nro-home-v1 .nro-portrait-wrap{width:47% !important;height:590px !important}
    .nro-home-v1 .nro-portrait{height:590px !important}
    .nro-home-v1 .nro-copy{width:49% !important}
}
@media(max-width:900px){
    .nro-home-v1 .nro-portrait-wrap{
        width:100% !important;height:530px !important;left:auto !important;top:auto !important
    }
    .nro-home-v1 .nro-portrait{height:525px !important;max-width:100% !important}
    .nro-home-v1 .nro-copy{width:auto !important;right:auto !important}
    .nro-home-v1 .nro-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:560px){
    .nro-home-v1 .nro-portrait-wrap{height:435px !important}
    .nro-home-v1 .nro-portrait{height:430px !important}
    .nro-home-v1 .nro-cards{grid-template-columns:1fr !important}
}


/* NRO Studio 1.3.1 — portada aprobada */
.nro-home-v1{--gold:#d4a126;background:#020202!important;padding:22px 38px 26px!important}
.nro-home-v1 .nro-header{max-width:1460px;height:78px;margin:auto;padding:0!important}
.nro-home-v1 .nro-brand-copy strong{font-size:18px!important;font-weight:400!important;letter-spacing:.105em!important}
.nro-home-v1 .nro-brand-copy small{font-size:9px!important;color:var(--gold)!important;letter-spacing:.48em!important;margin-top:9px!important}
.nro-home-v1 .nro-nav{gap:30px!important;padding-top:9px!important}
.nro-home-v1 .nro-nav a{font-size:12px!important}
.nro-home-v1 .nro-hero{max-width:1460px!important;height:615px!important;min-height:615px!important;margin:auto!important}
.nro-home-v1 .nro-portrait-wrap{
 position:absolute!important;left:1.5%!important;top:-4px!important;width:48.5%!important;height:620px!important;
 overflow:hidden!important;align-items:flex-start!important;background:radial-gradient(circle at 42% 42%,#292929,#151515 42%,#020202 74%)!important
}
.nro-home-v1 .nro-portrait-wrap:after{
 background:linear-gradient(90deg,#020202 0%,transparent 10%,transparent 86%,#020202 100%),linear-gradient(0deg,#020202 0%,transparent 12%)!important
}
.nro-home-v1 .nro-portrait{
 width:auto!important;height:700px!important;max-width:none!important;object-fit:contain!important;object-position:center top!important;
 transform:translateY(-8px)!important;filter:none!important
}
.nro-home-v1 .nro-copy{left:auto!important;right:2.2%!important;top:72px!important;width:51%!important}
.nro-home-v1 .nro-copy h1{font-size:clamp(72px,7.15vw,112px)!important;line-height:.77!important}
.nro-home-v1 .nro-copy h1 em{color:var(--gold)!important}
.nro-home-v1 .nro-copy p{font-size:13px!important;letter-spacing:.34em!important}
.nro-home-v1 .nro-cta{width:342px!important;height:62px!important;border-color:#ad7e18!important;color:#dfa927!important}
.nro-home-v1 .nro-cta:hover{background:var(--gold)!important;color:#050505!important}

.nro-home-v1 .nro-cards{max-width:1380px!important;margin:-3px auto 0!important;padding:0!important;grid-template-columns:repeat(3,1fr)!important;gap:25px!important}
.nro-home-v1 .nro-card{height:296px!important;border:1px solid rgba(255,255,255,.27)!important;border-radius:7px!important;overflow:hidden!important;transition:.25s ease}
.nro-home-v1 .nro-card:hover{transform:translateY(-5px);border-color:rgba(212,161,38,.72)!important;box-shadow:0 16px 34px rgba(0,0,0,.42)}
.nro-home-v1 .nro-card:after{display:none!important;content:none!important}
.nro-home-v1 .nro-card>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;z-index:0!important}
.nro-home-v1 .nro-card-shade{position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(0deg,rgba(0,0,0,.98),rgba(0,0,0,.78) 29%,rgba(0,0,0,.12) 70%,transparent)!important}
.nro-home-v1 .nro-card .nro-card-content{
 position:absolute!important;left:24px!important;right:24px!important;bottom:20px!important;z-index:3!important;
 display:grid!important;grid-template-columns:43px 1fr!important;grid-template-rows:auto auto!important;column-gap:15px!important;row-gap:8px!important;
 padding:0!important;align-items:center!important
}
.nro-home-v1 .nro-card-icon{grid-column:1;grid-row:1;display:grid!important;place-items:center;width:42px;height:42px;color:var(--gold)!important;font-size:31px;font-style:normal}
.nro-home-v1 .nro-card-copy{grid-column:2;grid-row:1;display:flex!important;flex-direction:column!important;gap:5px!important}
.nro-home-v1 .nro-card-copy strong{font-family:Georgia,serif!important;font-size:27px!important;font-weight:400!important;line-height:1!important;color:#fff!important}
.nro-home-v1 .nro-card-copy small{font-family:Arial,sans-serif!important;font-size:14px!important;color:#f2f2f2!important}
.nro-home-v1 .nro-card .nro-card-content>b{grid-column:1/-1;grid-row:2;color:var(--gold)!important;font-size:27px!important;font-weight:400!important}
.nro-home-v1 .nro-footer-full{margin-top:20px!important}

@media(max-width:1100px){
 .nro-home-v1 .nro-copy h1{font-size:74px!important}
 .nro-home-v1 .nro-card{height:260px!important}
 .nro-home-v1 .nro-card-copy strong{font-size:23px!important}
}
@media(max-width:900px){
 .nro-home-v1{padding:18px!important}
 .nro-home-v1 .nro-header{height:auto!important;display:block!important}
 .nro-home-v1 .nro-nav{display:flex!important;margin-top:16px!important;overflow-x:auto!important}
 .nro-home-v1 .nro-hero{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important}
 .nro-home-v1 .nro-portrait-wrap{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:500px!important}
 .nro-home-v1 .nro-portrait{height:570px!important}
 .nro-home-v1 .nro-copy{position:relative!important;right:auto!important;top:auto!important;width:100%!important;padding:5px 12px 34px!important}
 .nro-home-v1 .nro-copy h1{font-size:clamp(54px,12vw,84px)!important}
 .nro-home-v1 .nro-cards{grid-template-columns:1fr!important;gap:18px!important}
 .nro-home-v1 .nro-card{height:310px!important}
}
@media(max-width:560px){
 .nro-home-v1 .nro-portrait-wrap{height:410px!important}
 .nro-home-v1 .nro-portrait{height:475px!important}
 .nro-home-v1 .nro-copy h1{font-size:clamp(47px,13.2vw,68px)!important}
 .nro-home-v1 .nro-card{height:250px!important}
}


/* NRO Studio 1.4.0 — Centro de Publicación */
.publisher-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.8fr);gap:22px}
.publisher-editor,.publisher-queue{background:#111114;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px}
.publisher-editor form{display:grid;gap:16px}
.publisher-editor input,.publisher-editor textarea,.publisher-editor select{display:block;width:100%;margin-top:7px;background:#0b0b0d;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:12px;box-sizing:border-box}
.publisher-photo-picker{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:end}
.publisher-preview{height:180px;border:1px dashed rgba(196,157,82,.45);border-radius:12px;background:#080809;display:grid;place-items:center;overflow:hidden;color:#89847c}
.publisher-preview img{width:100%;height:100%;object-fit:cover}
.publisher-two-columns,.publisher-status-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.publisher-networks{display:flex;flex-wrap:wrap;gap:9px 12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px}
.publisher-networks label{display:flex;align-items:center;gap:7px;background:#19191c;border-radius:999px;padding:8px 12px}
.publisher-networks input{width:auto;margin:0}
.publisher-actions{display:flex;gap:10px;flex-wrap:wrap}
.publisher-note{margin:0;color:#8f8a82;font-size:12px}
.publisher-post-list{display:grid;gap:12px}
.publisher-post-list article{display:grid;grid-template-columns:90px 1fr;gap:12px;background:#17171a;border-radius:12px;padding:11px}
.publisher-post-list img{width:90px;height:90px;object-fit:cover;border-radius:8px}
.publisher-post-list h3{margin:6px 0 5px;color:#fff}
.publisher-post-list p{margin:0;color:#aaa49a;font-size:13px}
.publisher-post-list small{display:block;color:#c49d52;margin-top:7px}
.publisher-status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:10px;text-transform:uppercase}
.publisher-item-actions{display:flex;gap:10px;margin-top:9px}
.publisher-item-actions a,.publisher-item-actions button{color:#c49d52;background:transparent;border:0;padding:0;text-decoration:none}
.publisher-item-actions form{margin:0}
@media(max-width:1000px){.publisher-layout{grid-template-columns:1fr}}
@media(max-width:650px){.publisher-photo-picker,.publisher-two-columns,.publisher-status-row{grid-template-columns:1fr}}


/* NRO Studio 1.5.0 — Photo Viewer Pro */
.viewer-pro-controls{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:9;display:flex;gap:8px;padding:6px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(8,8,8,.82);backdrop-filter:blur(14px)}
.viewer-pro-controls button{width:43px;height:39px;border:0;border-radius:999px;background:transparent;color:#fff;font-size:21px;cursor:pointer}
.viewer-pro-controls button:hover{background:rgba(255,255,255,.12)}
.viewer-pro-controls .is-favorite{color:#d4a126}
.viewer-pro-info{position:fixed;top:0;right:0;bottom:0;z-index:10;width:min(390px,88vw);padding:72px 28px 28px;background:rgba(12,12,13,.97);border-left:1px solid rgba(212,161,38,.35);box-shadow:-20px 0 50px rgba(0,0,0,.5);overflow:auto}
.viewer-pro-info[hidden]{display:none}
.viewer-pro-info>button{position:absolute;right:18px;top:18px;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:transparent;color:#fff;font-size:25px}
.viewer-pro-info>span{color:#d4a126;font-size:10px;letter-spacing:.24em}
.viewer-pro-info h2{font-family:Georgia,serif;color:#fff;font-size:27px;font-weight:400;word-break:break-word}
.viewer-pro-info dl{display:grid;grid-template-columns:130px 1fr;gap:11px 15px;margin-top:26px}
.viewer-pro-info dt{color:#8e8981}
.viewer-pro-info dd{margin:0;color:#fff;word-break:break-word}
.viewer-pro-info a{display:inline-block;margin-top:25px;color:#d4a126;text-decoration:none}
.photo-lightbox .lightbox-toolbar{top:max(16px,env(safe-area-inset-top))}
.photo-lightbox .lightbox-counter{bottom:max(72px,calc(env(safe-area-inset-bottom) + 58px))!important}
.photo-lightbox .lightbox-stage p{bottom:76px!important}
@media(max-width:700px){
 .viewer-pro-controls{bottom:max(10px,env(safe-area-inset-bottom))}
 .viewer-pro-controls button{width:39px;height:36px}
 .viewer-pro-info{padding-left:22px;padding-right:22px}
 .viewer-pro-info dl{grid-template-columns:105px 1fr;font-size:13px}
 .photo-lightbox .lightbox-stage p{bottom:65px!important}
}


/* NRO Studio 1.5.1 — selector completo de álbumes */
.publisher-photo-fields{display:grid;gap:12px}
.publisher-photo-count{display:block;color:#9d978e;font-size:12px;line-height:1.45}
.publisher-editor select optgroup{color:#d4a126;background:#111}
.publisher-editor select option{color:#fff;background:#111}
@media(max-width:650px){
 .publisher-photo-picker{grid-template-columns:1fr}
}
