/*
  NIKO ROSALES · Dark Editorial 2026
  Diseño limpio, oscuro, elegante y sin capas de parches.
*/
:root{
  --bg:#050507;
  --bg-2:#0a0a0d;
  --panel:#111116;
  --panel-2:#17171d;
  --ink:#f7f1e8;
  --muted:#b8ada1;
  --soft:#847b72;
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.2);
  --red:#e31845;
  --red-2:#ff315e;
  --gold:#d7b46a;
  --shadow:0 28px 90px rgba(0,0,0,.48);
  --shadow-soft:0 18px 50px rgba(0,0,0,.32);
  --radius:28px;
  --radius-sm:18px;
  --wrap:min(1220px, calc(100vw - 40px));
  --display:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  --body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --serif:Georgia, 'Times New Roman', serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  background:
    radial-gradient(circle at 18% 6%, rgba(227,24,69,.24), transparent 34vw),
    radial-gradient(circle at 88% 12%, rgba(215,180,106,.12), transparent 28vw),
    linear-gradient(180deg,#060608 0%, #0b0b0f 42%, #050507 100%);
  font-family:var(--body);
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.22;
  z-index:-1;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom, black, transparent 78%);
}
body:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.12;
  background:url('/assets/img/hero-bg-stage-chair.jpg') center/cover no-repeat;
  filter:grayscale(1) contrast(1.25);
}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0;color:var(--muted);line-height:1.72;font-size:17px}
main{min-height:70vh}
input,select,textarea,button{font:inherit}
::selection{background:var(--red);color:white}

.site-header{
  width:var(--wrap);
  position:sticky;
  top:16px;
  z-index:100;
  margin:16px auto 0;
  min-height:76px;
  padding:12px 12px 12px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(9,9,12,.72);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 18px 65px rgba(0,0,0,.38);
}
.brand{display:flex;align-items:center;gap:12px;min-width:210px}
.brand-mark{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  color:white;background:linear-gradient(145deg,var(--red),#7c0d24);
  font-family:var(--display);font-size:25px;letter-spacing:.03em;
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 14px 28px rgba(227,24,69,.26);
}
.brand-text{display:flex;flex-direction:column;gap:1px;line-height:1}
.brand-text strong{font-size:15px;letter-spacing:.16em;font-weight:950}
.brand-text small{font-size:10px;color:var(--muted);letter-spacing:.24em;font-weight:850}
.nav-wrap{display:flex;align-items:center;gap:14px;flex:1;justify-content:flex-end}
.nav{display:flex;align-items:center;gap:4px;justify-content:center}
.nav a{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  height:42px;padding:0 14px;border-radius:999px;
  color:#ddd3c8;font-size:13px;font-weight:850;letter-spacing:.03em;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.nav a:hover,.nav a.active,.nav a.is-active{background:rgba(255,255,255,.08);color:#fff;transform:translateY(-1px)}
.header-actions{display:flex;align-items:center;gap:10px}
.whatsapp-mini{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);transition:.2s ease;
}
.whatsapp-mini:hover{background:#1faa59;border-color:#1faa59;transform:translateY(-1px)}
.whatsapp-mini svg{width:21px;height:21px;fill:currentColor}
.nav-cta,.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:46px;padding:0 20px;border-radius:999px;
  border:1px solid var(--line-strong);
  background:rgba(255,255,255,.06);
  color:#fff;font-size:13px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;transition:.22s ease;
}
.nav-cta{background:transparent;border:1px solid rgba(255,255,255,.72);padding:0 19px}
.nav-cta:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.24)}
.menu-toggle{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.07);color:#fff;font-size:20px;cursor:pointer}

.btn.redbtn,.btn.primary{background:linear-gradient(135deg,var(--red),#9e102e);border-color:transparent;color:#fff;box-shadow:0 16px 36px rgba(227,24,69,.24)}
.btn.light{background:#f7f1e8;color:#08080a;border-color:#f7f1e8}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.34)}
.btn.full{width:100%;min-height:58px}
.btn-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.kicker,.label,.diary-chip,.blog-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  color:var(--gold);font-size:12px;font-weight:950;letter-spacing:.22em;text-transform:uppercase;
}
.kicker:before,.blog-eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 20px rgba(227,24,69,.8)}
.red{color:var(--red-2)}
.display,.pro-hero-title,.blog-fix-hero h1,.blog-article h1,.about-no-photo-hero h1,.album-title-box h1{
  font-family:var(--display);font-weight:900;letter-spacing:-.035em;text-transform:uppercase;line-height:.88;margin:0;color:#fff;
  text-wrap:balance;
}
.display{font-size:clamp(54px,8vw,124px)}
.display.small{font-size:clamp(44px,5.6vw,82px);line-height:.94}
.display.big{font-size:clamp(64px,10vw,148px)}

.section{
  width:var(--wrap);margin:0 auto;padding:clamp(58px,8vw,112px) 0;position:relative;
}
.section.tight{padding:34px 0 76px}
.section-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.58fr);gap:32px;align-items:end;margin-bottom:32px}
.section-head p{font-size:18px;max-width:560px}

.home-hero.pro-hero{
  width:var(--wrap);min-height:calc(100vh - 118px);margin:22px auto 0;
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);align-items:center;gap:28px;
  padding:clamp(42px,6vw,78px);overflow:hidden;border:1px solid var(--line);border-radius:42px;
  background:
    linear-gradient(90deg,rgba(7,7,10,.96),rgba(10,10,13,.78) 49%,rgba(8,8,10,.88)),
    radial-gradient(circle at 74% 42%,rgba(227,24,69,.34),transparent 28vw);
  box-shadow:var(--shadow);
}
.home-hero.pro-hero:before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.88));
}
.hero-marquee-bg{position:absolute;inset:-8% -12%;z-index:0;opacity:.18;filter:grayscale(1) contrast(1.2);transform:rotate(-5deg);pointer-events:none}
.hero-marquee-row{display:flex;gap:16px;margin:16px 0;animation:marquee 42s linear infinite;width:max-content}
.hero-marquee-row.row-b{animation-duration:52s;animation-direction:reverse;opacity:.8}
.hero-marquee-row.row-c{animation-duration:64s;opacity:.55}
.hero-marquee-item{width:190px;height:120px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 40px rgba(0,0,0,.28)}
.hero-marquee-item.wide{width:250px}
.hero-marquee-item img{width:100%;height:100%;object-fit:cover}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-42%)}}
.pro-hero-copy,.pro-hero-visual{position:relative;z-index:2}
.pro-hero-copy{align-self:end;padding-bottom:10px}
.pro-hero-title{font-size:clamp(82px,13.8vw,206px);line-height:.79;letter-spacing:-.055em;margin:0 0 20px;text-shadow:0 20px 60px rgba(0,0,0,.6)}
.hero-sub.manifesto{display:inline-flex;margin:0 0 18px;color:#fff;font-size:clamp(18px,2vw,24px);font-weight:950;letter-spacing:.28em;text-transform:uppercase}
.hero-signature{max-width:650px;margin:18px 0 0;color:#e6ddd3;font-family:var(--serif);font-size:clamp(23px,2.4vw,37px);line-height:1.16;text-wrap:balance}
.hero-intro{max-width:600px;margin-top:18px;font-size:18px;color:var(--muted)}
.hero-actions{margin-top:30px}
.pro-hero-visual{min-height:570px;align-self:stretch;display:flex;align-items:flex-end;justify-content:center}
.pro-hero-plate{
  position:absolute;inset:10% 4% 2%;border-radius:34px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 80px rgba(0,0,0,.36);
}
.pro-hero-visual img{position:relative;z-index:2;width:min(100%,560px);height:min(74vh,690px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 28px 45px rgba(0,0,0,.62))}
.pro-hero-badge{
  position:absolute;right:0;bottom:34px;z-index:3;width:min(245px,60%);padding:16px 18px;border-radius:20px;
  background:rgba(10,10,12,.76);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 50px rgba(0,0,0,.4)
}
.pro-hero-badge strong{display:block;color:#fff;font-size:14px;letter-spacing:.12em}.pro-hero-badge span{display:block;margin-top:5px;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.16em}

.split-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:stretch}
.split-feature.split-booking{grid-template-columns:1fr .78fr}.split-story{padding-top:72px}
.photo-panel,.black-panel,.about-text-card,.about-mini,.contract-side,.contract-form,.blog-fix-hero,.blog-feature,.blog-card,.blog-article,.album-title-box,.visual-card,.number,.home-diary-shell,.video-card{
  border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));box-shadow:var(--shadow-soft);border-radius:var(--radius);overflow:hidden;
}
.photo-panel{position:relative;min-height:500px;background:#0d0d10}
.photo-panel.round{border-radius:var(--radius)}
.photo-panel img{width:100%;height:100%;min-height:500px;object-fit:cover;filter:saturate(.86) contrast(1.05)}
.photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.88))}
.photo-panel h2{position:absolute;left:24px;right:20px;bottom:22px;z-index:2;margin:0;font-family:var(--display);font-size:clamp(42px,5vw,78px);line-height:.88;text-transform:uppercase;color:white;letter-spacing:-.035em}
.black-panel{padding:clamp(30px,5vw,56px);display:flex;flex-direction:column;justify-content:center;min-height:500px;background:linear-gradient(145deg,#111116,#09090c)}
.black-panel p{margin-top:20px;font-size:18px;color:#cfc4b9}.black-panel .btn-row{margin-top:28px}

.visual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.visual-grid.compact{grid-template-columns:repeat(4,1fr)}
.visual-card{position:relative;min-height:430px;background:#111116;transition:.25s ease}
.visual-card:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.26)}
.visual-card img{width:100%;height:100%;min-height:430px;object-fit:cover;filter:saturate(.78) contrast(1.08)}
.visual-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.88));pointer-events:none}
.visual-content{position:absolute;z-index:2;left:20px;right:20px;bottom:20px}.visual-content h3{margin:12px 0 10px;color:white;font-size:clamp(26px,2.3vw,36px);line-height:1.02;letter-spacing:-.04em}.visual-content p{font-size:15px;color:#d0c7be;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.visual-content a,.home-diary-readmore{display:inline-flex;margin-top:16px;color:#fff;font-weight:950;text-transform:uppercase;font-size:12px;letter-spacing:.16em;border-bottom:1px solid rgba(255,255,255,.32);padding-bottom:6px}.visual-content a:hover,.home-diary-readmore:hover{color:var(--red-2);border-color:var(--red-2)}

.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.number{padding:26px;background:linear-gradient(180deg,rgba(227,24,69,.14),rgba(255,255,255,.045))}.number strong{display:block;font-family:var(--display);font-size:clamp(44px,5vw,74px);line-height:.85;color:white;letter-spacing:-.04em}.number span{display:block;margin-top:10px;color:var(--muted);font-size:13px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}

.home-diary-spectacular{width:var(--wrap);margin:0 auto;padding:36px 0 90px}.home-diary-shell{padding:clamp(28px,4vw,52px);background:linear-gradient(160deg,rgba(227,24,69,.14),rgba(255,255,255,.05) 42%,rgba(215,180,106,.08));border-radius:36px}.home-diary-head{display:grid;grid-template-columns:1fr minmax(260px,.65fr) auto;gap:24px;align-items:end;margin-bottom:28px}.home-diary-head h2{font-family:var(--display);font-size:clamp(58px,8vw,118px);line-height:.88;letter-spacing:-.04em;margin:0;text-transform:uppercase}.home-diary-head p{font-size:17px}.home-diary-cards{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:16px}.home-diary-card{position:relative;min-height:390px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#111116}.home-diary-card.is-featured{min-height:440px}.home-diary-card-media{position:absolute;inset:0}.home-diary-card-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.08)}.home-diary-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.92));pointer-events:none}.home-diary-card-body{position:absolute;z-index:2;left:20px;right:20px;bottom:20px}.home-diary-card h3{font-size:clamp(25px,2.4vw,38px);line-height:1.02;letter-spacing:-.04em;margin:12px 0;color:#fff}.home-diary-card p{font-size:14px;color:#d5ccc2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.diary-chip{color:#fff;background:rgba(227,24,69,.86);border-radius:999px;padding:8px 12px;font-size:10px;letter-spacing:.14em}

.about-no-photo{width:var(--wrap);margin:38px auto 0;padding-bottom:86px}.about-no-photo-hero{padding:clamp(44px,7vw,86px);border:1px solid var(--line);border-radius:38px;background:linear-gradient(135deg,rgba(227,24,69,.18),rgba(255,255,255,.055));box-shadow:var(--shadow)}.about-no-photo-hero h1{font-size:clamp(66px,11vw,156px);margin:16px 0}.about-no-photo-hero p{max-width:800px;font-size:20px}.about-no-photo-hero .btn-row{margin-top:28px}.about-no-photo-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;margin-top:22px}.about-text-card{padding:clamp(30px,5vw,58px)}.about-text-card h2{font-size:clamp(34px,4vw,56px);line-height:1.02;margin:14px 0 20px;letter-spacing:-.04em}.about-story{color:#d8cec4;font-size:20px;line-height:1.85;text-align:justify}.about-story p{margin-bottom:18px}.about-quote{margin-top:32px;padding:26px;border-left:3px solid var(--red);background:rgba(227,24,69,.08);border-radius:18px;font-family:var(--serif);font-size:26px;color:#fff;line-height:1.25}.about-side{display:grid;gap:16px;align-content:start}.about-mini{padding:24px;background:rgba(255,255,255,.055)}.about-mini.dark{background:linear-gradient(135deg,var(--red),#620719)}.about-mini h3{margin:0 0 10px;font-size:24px;line-height:1.05}.about-mini p{font-size:15px}.about-tags{display:flex;gap:8px;flex-wrap:wrap}.about-tags span,.media-tab,.check-pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}

.contract-hero{width:var(--wrap);margin:38px auto 0;padding-bottom:86px;display:grid;grid-template-columns:.78fr 1.22fr;gap:22px;align-items:start}.contract-side{padding:clamp(28px,4vw,48px);position:sticky;top:118px;background:linear-gradient(160deg,rgba(227,24,69,.16),rgba(255,255,255,.05))}.contract-side p{margin:20px 0}.contract-info{display:grid;gap:14px;margin:24px 0}.contract-info div{padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(0,0,0,.18);color:var(--muted)}.contract-info strong{color:#fff}.contract-form{padding:clamp(28px,4vw,46px);background:rgba(255,255,255,.055)}.form-section{margin-bottom:28px}.form-section h2{font-size:30px;letter-spacing:-.04em;margin:0 0 16px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid.three{grid-template-columns:repeat(3,1fr)}label{display:block;margin:0 0 8px;color:#fff;font-size:12px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}input,select,textarea{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(0,0,0,.22);color:#fff;min-height:52px;padding:0 16px;outline:none}textarea{min-height:168px;padding:16px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--red-2);box-shadow:0 0 0 4px rgba(227,24,69,.13)}select option{background:#111;color:#fff}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.check-pill{cursor:pointer;justify-content:flex-start;text-transform:none;letter-spacing:0}.check-pill input{width:auto;min-height:auto;margin:0 8px 0 0;accent-color:var(--red)}

.blog-fix-wrap{width:var(--wrap);margin:38px auto 0;padding-bottom:86px}.blog-fix-hero{padding:clamp(34px,5vw,64px);display:grid;grid-template-columns:1fr .72fr;gap:26px;align-items:end;background:linear-gradient(135deg,rgba(227,24,69,.16),rgba(255,255,255,.055))}.blog-fix-hero h1{font-size:clamp(66px,11vw,154px);margin:14px 0 0}.blog-fix-search{display:flex;gap:10px;margin-top:20px}.blog-feature{margin:22px 0;display:grid;grid-template-columns:330px 1fr;min-height:260px;background:linear-gradient(145deg,#15151b,#09090c)}.blog-feature img{width:100%;height:100%;object-fit:cover}.blog-feature-body{padding:34px;display:flex;flex-direction:column;justify-content:center}.blog-feature h2,.blog-card h2{margin:12px 0;color:#fff;letter-spacing:-.04em;line-height:1.04}.blog-feature h2{font-size:clamp(34px,4vw,58px)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blog-card{background:rgba(255,255,255,.055)}.blog-card img{width:100%;height:210px;object-fit:cover;filter:saturate(.84) contrast(1.05)}.blog-card-body{padding:22px}.blog-card h2{font-size:30px}.blog-card p{font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;color:var(--soft);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.blog-empty{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.055)}.blog-empty h2{font-family:var(--display);font-size:clamp(44px,6vw,82px);margin:0 0 12px;line-height:.9}.blog-article{width:min(920px,calc(100vw - 40px));margin:38px auto 86px;padding:clamp(30px,5vw,60px);background:rgba(255,255,255,.075)}.blog-article h1{font-size:clamp(50px,8vw,112px);margin:14px 0 22px}.blog-article img{width:100%;max-height:460px;object-fit:cover;border-radius:22px;margin:24px 0 30px}.blog-article-body{font-size:20px;line-height:1.85;color:#e3d9cf;text-align:justify}.blog-article-body p{margin:0 0 20px}.blog-related{width:min(920px,calc(100vw - 40px));margin:-62px auto 86px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.blog-related a{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:12px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.06)}.blog-related img{width:96px;height:80px;object-fit:cover;border-radius:14px}.blog-related strong{display:block;color:#fff;line-height:1.12}.blog-related span{font-size:12px;color:var(--soft);text-transform:uppercase;font-weight:850}

.media-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}.media-tab.active,.media-tab:hover{background:var(--red);border-color:var(--red)}.gallery-dynamic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:14px}.gallery-item{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);cursor:pointer;background:#111}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.05);transition:.35s ease}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.82));pointer-events:none}.gallery-caption{position:absolute;z-index:2;left:16px;right:16px;bottom:14px}.gallery-caption span{color:var(--gold);font-size:11px;text-transform:uppercase;font-weight:950;letter-spacing:.16em}.gallery-caption h3{margin:4px 0 0;color:#fff;font-size:20px;line-height:1.05}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.video-card{padding:14px}.video-card h3{margin:14px 4px 4px}.video-frame{aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000}.video-frame iframe{width:100%;height:100%;border:0}.album-grid-compact{grid-template-columns:repeat(3,1fr)}.album-page-head,.album-gallery-wrap{width:var(--wrap);margin:38px auto 0}.album-title-box{padding:clamp(30px,5vw,56px);display:grid;grid-template-columns:1fr .55fr;gap:24px;align-items:end}.album-title-box h1{font-size:clamp(52px,8vw,112px)}.album-gallery-wrap{padding-bottom:86px}

.lightbox{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:36px;background:rgba(0,0,0,.9);backdrop-filter:blur(10px)}.lightbox.open{display:flex}.lightbox img{max-width:min(1200px,92vw);max-height:82vh;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.7)}.lightbox button{position:absolute;right:28px;top:24px;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.1);color:white;font-size:32px;cursor:pointer}.lightbox-title{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.42);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13px}

.site-footer{width:var(--wrap);margin:0 auto 24px;padding:34px;display:grid;grid-template-columns:1fr repeat(2,220px);gap:28px;border:1px solid var(--line);border-radius:34px;background:rgba(255,255,255,.055);box-shadow:var(--shadow-soft)}.footer-brand strong{display:block;font-family:var(--display);font-size:46px;letter-spacing:-.035em;line-height:.9}.footer-brand span{display:block;color:var(--gold);font-size:12px;font-weight:950;letter-spacing:.2em;margin:8px 0 14px}.footer-col{display:flex;flex-direction:column;gap:9px}.footer-col h4{margin:0 0 8px;color:#fff;text-transform:uppercase;font-size:12px;letter-spacing:.16em}.footer-col a{color:var(--muted);font-weight:750}.footer-col a:hover{color:#fff}

@media (max-width:1080px){
  .site-header{width:calc(100vw - 28px);border-radius:28px;align-items:flex-start}.nav-wrap{justify-content:flex-end}.menu-toggle{display:grid;place-items:center}.nav{display:none;position:absolute;left:14px;right:14px;top:76px;padding:12px;border:1px solid var(--line);border-radius:24px;background:rgba(8,8,10,.96);box-shadow:var(--shadow-soft);grid-template-columns:1fr}.nav.open{display:grid}.nav a{height:46px;justify-content:flex-start}.home-hero.pro-hero{grid-template-columns:1fr;min-height:auto;padding:38px 28px}.pro-hero-copy{order:2}.pro-hero-visual{order:1;min-height:380px}.pro-hero-visual img{height:420px}.hero-signature{font-size:26px}.section-head,.split-feature,.contract-hero,.about-no-photo-grid,.album-title-box,.blog-fix-hero,.blog-feature{grid-template-columns:1fr}.visual-grid,.visual-grid.compact,.home-diary-cards,.blog-grid{grid-template-columns:repeat(2,1fr)}.home-diary-head{grid-template-columns:1fr}.numbers{grid-template-columns:repeat(2,1fr)}.contract-side{position:relative;top:auto}.form-grid,.form-grid.three,.check-grid{grid-template-columns:1fr 1fr}.gallery-dynamic{grid-template-columns:repeat(2,1fr)}.site-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.blog-feature img{height:280px}.album-grid-compact{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  :root{--wrap:calc(100vw - 24px)}p{font-size:16px}.site-header{top:10px;margin-top:10px;padding:10px}.brand-text small{display:none}.brand{min-width:auto}.header-actions{gap:6px}.whatsapp-mini{display:none}.nav-cta{min-height:42px;padding:0 13px;font-size:11px}.home-hero.pro-hero{border-radius:28px;margin-top:14px;padding:28px 20px}.pro-hero-title{font-size:clamp(66px,24vw,116px)}.hero-sub.manifesto{font-size:14px;letter-spacing:.18em}.hero-signature{font-size:22px}.pro-hero-visual{min-height:300px}.pro-hero-visual img{height:340px}.pro-hero-badge{right:8px;bottom:14px;width:210px}.section{padding:58px 0}.display{font-size:52px}.visual-grid,.visual-grid.compact,.home-diary-cards,.blog-grid,.numbers,.form-grid,.form-grid.three,.check-grid,.gallery-dynamic,.video-grid,.site-footer,.blog-related,.album-grid-compact{grid-template-columns:1fr}.home-diary-shell,.about-no-photo-hero,.contract-form,.contract-side,.blog-fix-hero,.blog-article{border-radius:24px}.home-diary-head h2,.about-no-photo-hero h1,.blog-fix-hero h1{font-size:62px}.visual-card,.visual-card img{min-height:360px}.photo-panel,.photo-panel img{min-height:390px}.gallery-item.wide,.gallery-item.tall{grid-column:auto;grid-row:auto}.gallery-dynamic{grid-auto-rows:260px}.blog-feature{display:block}.blog-feature img{height:220px}.blog-feature-body{padding:24px}.about-story,.blog-article-body{text-align:left;font-size:18px}.site-footer{padding:26px}.btn{width:100%}.btn-row .btn{width:auto}.blog-fix-search{flex-direction:column}.blog-fix-search .btn{width:100%}
}

/* --- 2026-06 About page rebuild + hero legibility fix --- */
.pro-hero-copy{max-width:680px}
.pro-hero-title{
  max-width:680px;
  font-size:clamp(72px,11vw,168px);
  line-height:.84;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.hero-sub.manifesto{margin-top:6px}
.hero-intro{max-width:660px}

.about-editorial{
  width:var(--wrap);
  margin:38px auto 0;
  padding-bottom:86px;
}
.about-editorial-hero,
.about-article-card,
.about-visual-card{
  border:1px solid var(--line);
  border-radius:38px;
  box-shadow:var(--shadow);
}
.about-editorial-hero{
  padding:clamp(40px,6vw,78px);
  background:
    radial-gradient(circle at top left, rgba(227,24,69,.18), transparent 38%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
}
.about-editorial-hero h1{
  margin:14px 0 20px;
  max-width:980px;
  font-size:clamp(50px,7vw,108px);
  line-height:.93;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.about-editorial-hero p{
  max-width:760px;
  font-size:20px;
  color:#ddd2c8;
}
.about-editorial-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.75fr);
  gap:22px;
  margin-top:22px;
  align-items:start;
}
.about-article-card{
  padding:clamp(28px,4vw,54px);
  background:rgba(255,255,255,.04);
}
.about-article-body{
  font-size:20px;
  line-height:1.9;
  color:#ddd2c8;
  text-align:justify;
}
.about-article-body p{margin:0 0 1.3em}
.about-article-body p:last-child{margin-bottom:0}
.about-visual-stack{
  display:grid;
  gap:18px;
  position:sticky;
  top:110px;
}
.about-visual-card{
  overflow:hidden;
  background:rgba(255,255,255,.04);
}
.about-visual-card img{
  display:block;
  width:100%;
  height:auto;
}
.about-visual-card figcaption{
  padding:18px 20px 22px;
  color:#cfc3b8;
  font-size:15px;
  line-height:1.65;
}

@media (max-width: 1100px){
  .about-editorial-layout{grid-template-columns:1fr}
  .about-visual-stack{position:relative;top:auto;grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .pro-hero-title{font-size:clamp(62px,21vw,108px);line-height:.88;max-width:none}
  .about-editorial-hero,.about-article-card,.about-visual-card{border-radius:24px}
  .about-editorial-hero h1{font-size:clamp(40px,12vw,68px)}
  .about-editorial-hero p,.about-article-body{font-size:18px;text-align:left}
  .about-visual-stack{grid-template-columns:1fr}
}

/* --- 2026-06 hero portrait refresh --- */
.pro-hero-visual.has-transparent img{
  width:min(100%,600px);
  height:min(78vh,760px);
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 35px 60px rgba(0,0,0,.68)) drop-shadow(0 0 42px rgba(227,24,69,.12));
}
.pro-hero-plate{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
}


/* --- 2026-06 transparent hero portrait refinement --- */
.pro-hero-visual.has-transparent{background:transparent}
.pro-hero-visual.has-transparent .pro-hero-plate{display:none}
.pro-hero-visual.has-transparent img{mix-blend-mode:normal}
@media (max-width: 760px){.pro-hero-visual.has-transparent .pro-hero-plate{display:none}}

/* --- 2026-06 v6 hero scale + pro menu polish --- */
.site-header{
  min-height:84px;
  padding:10px 12px 10px 18px;
  border-color:rgba(255,255,255,.10);
  background:linear-gradient(90deg,rgba(10,10,14,.92),rgba(7,7,10,.86));
  box-shadow:0 22px 70px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.04);
}
.brand{gap:14px}
.brand-mark{
  width:48px;height:48px;
  box-shadow:0 0 0 1px rgba(255,255,255,.16),0 12px 32px rgba(227,24,69,.28), inset 0 1px 0 rgba(255,255,255,.18);
}
.brand-text strong{font-size:16px;letter-spacing:.15em}
.brand-text small{font-size:10px;letter-spacing:.26em;color:#d2c6ba}
.nav-wrap{gap:16px}
.nav{
  padding:5px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.nav a{
  height:44px;
  padding:0 16px;
  color:#d8cec4;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nav a:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
}
.nav a.active,.nav a.is-active{
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 10px 22px rgba(0,0,0,.22);
}
.header-actions{gap:12px}
.whatsapp-mini{
  width:44px;height:44px;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
}
.nav-cta{
  min-height:48px;
  padding:0 24px;
  border:1px solid rgba(255,255,255,.36);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.nav-cta:hover{
  border-color:rgba(255,255,255,.68);
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04));
}

.home-hero.pro-hero{
  grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);
}
.pro-hero-copy{padding-bottom:24px}
.pro-hero-visual{
  min-height:690px;
  justify-content:flex-end;
  align-items:flex-end;
}
.pro-hero-visual.has-transparent img{
  width:min(112%,720px);
  height:min(90vh,900px);
  object-position:center bottom;
  transform:translateX(12px) translateY(8px);
  filter:drop-shadow(0 42px 90px rgba(0,0,0,.72)) drop-shadow(0 0 56px rgba(227,24,69,.14));
}
.pro-hero-badge{
  right:6px;
  bottom:46px;
}

@media (max-width: 1100px){
  .nav a{padding:0 12px;font-size:11px}
  .home-hero.pro-hero{grid-template-columns:1fr minmax(360px,.82fr)}
  .pro-hero-visual{min-height:620px}
  .pro-hero-visual.has-transparent img{width:min(100%,640px);height:min(78vh,720px);transform:translateX(0) translateY(0)}
}
@media (max-width: 900px){
  .nav{padding:4px}
  .nav a{letter-spacing:.04em}
}
@media (max-width:700px){
  .site-header{min-height:76px;padding:10px}
  .nav{background:rgba(8,8,10,.96)}
  .nav a{text-transform:none;font-size:13px;letter-spacing:.02em}
  .home-hero.pro-hero{grid-template-columns:1fr}
  .pro-hero-copy{padding-bottom:0}
  .pro-hero-visual{min-height:340px;justify-content:center}
  .pro-hero-visual.has-transparent img{width:min(100%,420px);height:min(52vh,420px)}
  .pro-hero-badge{bottom:14px;right:8px}
}

/* --- 2026-06 v7 red luxury header --- */
:root{
  --nav-serif:'Baskerville Old Face', Baskerville, 'Times New Roman', Georgia, serif;
}
.site-header{
  min-height:88px;
  padding:10px 14px 10px 20px;
  border:1px solid rgba(255,85,120,.30);
  border-radius:999px;
  background:
    linear-gradient(90deg, rgba(84,6,21,.96) 0%, rgba(50,5,14,.94) 18%, rgba(17,8,12,.96) 40%, rgba(12,9,13,.98) 100%);
  box-shadow:
    0 22px 64px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 0 0 1px rgba(255,66,106,.08);
  backdrop-filter:blur(18px);
}
.site-header::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.08), transparent 38%);
  opacity:.8;
}
.site-header > *{position:relative;z-index:1}
.brand{
  gap:16px;
  padding-right:8px;
}
.brand-mark{
  width:50px;
  height:50px;
  background:linear-gradient(145deg,#ff2c5c,#9f0c2b);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18),
    0 12px 30px rgba(227,24,69,.35),
    inset 0 1px 0 rgba(255,255,255,.24);
}
.brand-text strong{
  font-family:var(--nav-serif);
  font-size:18px;
  font-weight:700;
  letter-spacing:.16em;
}
.brand-text small{
  color:#e5d8cf;
  font-size:10px;
  letter-spacing:.28em;
}
.nav-wrap{gap:18px}
.nav{
  gap:6px;
  padding:6px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.nav a{
  min-width:98px;
  height:46px;
  padding:0 18px;
  color:#f2e8df;
  font-family:var(--nav-serif);
  font-size:12px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-shadow:0 1px 0 rgba(0,0,0,.25);
}
.nav a:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 10px 24px rgba(0,0,0,.18);
}
.nav a.active,
.nav a.is-active{
  background:linear-gradient(180deg, #ff2f60 0%, #d91445 100%);
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 12px 26px rgba(227,24,69,.30);
}
.header-actions{gap:12px}
.whatsapp-mini{
  width:46px;
  height:46px;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.nav-cta{
  min-height:48px;
  padding:0 26px;
  border:1px solid rgba(255,255,255,.26);
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  color:#fff;
  font-family:var(--nav-serif);
  font-size:13px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.nav-cta:hover{
  border-color:rgba(255,255,255,.5);
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
}
.menu-toggle{
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
}

@media (max-width: 1180px){
  .brand-text strong{font-size:16px}
  .nav a{min-width:auto;padding:0 14px;font-size:11px;letter-spacing:.10em}
  .nav-cta{padding:0 18px;font-size:12px}
}
@media (max-width:700px){
  .site-header{
    min-height:76px;
    padding:10px;
    background:linear-gradient(90deg, rgba(84,6,21,.94) 0%, rgba(20,9,14,.98) 100%);
  }
  .brand-text strong{font-size:14px;letter-spacing:.12em}
  .nav{
    padding:10px;
    border-radius:24px;
    background:rgba(12,8,12,.97);
  }
  .nav a{
    min-width:0;
    height:44px;
    justify-content:flex-start;
    font-size:12px;
    letter-spacing:.08em;
  }
  .whatsapp-mini{display:none}
}

/* --- 2026-06 v8 menu rojo basic pro --- */
.site-header{
  min-height:82px;
  padding:10px 14px 10px 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:
    linear-gradient(90deg,#8f071f 0%,#d90f3f 36%,#e31845 58%,#8f071f 100%);
  box-shadow:
    0 24px 70px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -1px 0 rgba(0,0,0,.28);
}
.site-header::before{
  background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 42%);
  opacity:.55;
}
.brand-mark{
  background:#07070a;
  color:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.22),0 12px 28px rgba(0,0,0,.32);
}
.brand-text strong,
.brand-text small,
.nav a,
.nav-cta{
  font-family:Arial, Helvetica, sans-serif !important;
}
.brand-text strong{
  font-size:17px;
  font-weight:900;
  letter-spacing:.14em;
}
.brand-text small{
  color:#fff;
  opacity:.82;
  font-size:10px;
  font-weight:800;
  letter-spacing:.24em;
}
.nav{
  background:rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.nav a{
  min-width:auto;
  height:44px;
  padding:0 18px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:999px;
  text-shadow:none;
}
.nav a:hover{
  background:rgba(255,255,255,.16);
  color:#fff;
  transform:translateY(-1px);
}
.nav a.active,
.nav a.is-active{
  background:#fff;
  color:#111;
  box-shadow:0 10px 22px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.35);
}
.whatsapp-mini{
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
}
.whatsapp-mini:hover{
  background:#111;
  border-color:#fff;
}
.nav-cta{
  min-height:46px;
  padding:0 26px;
  background:#07070a;
  border:1px solid rgba(255,255,255,.30);
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.nav-cta:hover{
  background:#fff;
  color:#111;
}
@media (max-width:1180px){
  .nav a{padding:0 14px;font-size:11px}
  .brand-text strong{font-size:15px}
}
@media (max-width:700px){
  .site-header{min-height:74px;padding:10px;background:linear-gradient(90deg,#9d0825,#e31845)}
  .nav{background:#990b29}
  .nav a{font-size:12px;letter-spacing:.06em}
}

/* --- 2026-06 v9 compact layout + larger hero portrait --- */
:root{
  --wrap:min(1120px, calc(100vw - 38px));
  --radius:24px;
}
.site-header{
  top:10px;
  margin:10px auto 0;
}
.home-hero.pro-hero{
  margin:8px auto 0;
  min-height:clamp(620px, 82vh, 760px);
  grid-template-columns:minmax(0,.92fr) minmax(390px,.88fr);
  gap:14px;
  padding:clamp(26px,4vw,44px);
  border-radius:34px;
}
.pro-hero-copy{
  padding-bottom:8px;
}
.pro-hero-title{
  margin:0 0 12px;
}
.hero-sub.manifesto{
  margin:0 0 12px;
}
.hero-signature{
  margin-top:10px;
  font-size:clamp(20px,2.1vw,31px);
  max-width:560px;
}
.hero-intro{
  margin-top:12px;
  max-width:520px;
  font-size:16px;
}
.hero-actions{margin-top:22px}
.pro-hero-visual{
  min-height:620px;
  align-items:flex-end;
  justify-content:flex-end;
}
.pro-hero-visual.has-transparent img{
  width:min(128%,800px);
  height:min(112vh,980px);
  object-fit:contain;
  object-position:center bottom;
  transform:translateX(36px) translateY(26px);
}
.pro-hero-badge{
  right:6px;
  bottom:30px;
}
.section{
  padding:44px 0;
}
.split-story{padding-top:44px}
.split-feature{gap:20px}
.photo-panel,.black-panel{
  min-height:420px;
}
.photo-panel img{
  min-height:420px;
}
.photo-panel h2{
  font-size:clamp(38px,4.4vw,64px);
}
.black-panel{
  padding:clamp(26px,4vw,42px);
}
.black-panel p{font-size:17px}
.home-diary-shell,
.about-editorial-hero,
.about-article-card,
.about-visual-card,
.contract-side,
.contract-form,
.blog-fix-hero,
.blog-feature,
.blog-card,
.blog-article,
.album-title-box,
.visual-card,
.number,
.video-card{
  border-radius:24px;
}
.visual-card img{min-height:320px}
.number{padding:24px 20px}
.numbers{gap:14px}
.site-footer{
  margin-bottom:18px;
  padding:28px;
  border-radius:28px;
}

@media (max-width: 1180px){
  :root{--wrap:min(1060px, calc(100vw - 28px))}
  .home-hero.pro-hero{grid-template-columns:minmax(0,1fr) minmax(340px,.8fr)}
  .pro-hero-visual{min-height:560px}
  .pro-hero-visual.has-transparent img{width:min(122%,700px);height:min(98vh,820px);transform:translateX(20px) translateY(18px)}
}
@media (max-width: 900px){
  :root{--wrap:calc(100vw - 22px)}
  .home-hero.pro-hero{grid-template-columns:1fr;min-height:auto;padding:26px 20px}
  .pro-hero-copy{order:2}
  .pro-hero-visual{order:1;min-height:350px;justify-content:center}
  .pro-hero-visual.has-transparent img{width:min(100%,520px);height:min(62vh,520px);transform:translateX(0) translateY(0)}
  .pro-hero-badge{bottom:14px;right:8px}
  .section{padding:34px 0}
  .photo-panel,.black-panel,.photo-panel img{min-height:360px}
}

/* --- 2026-06 v10 consolidated fixes requested by client --- */
:root{
  --wrap:min(1180px, calc(100vw - 36px));
  --radius:24px;
  --radius-sm:16px;
}

/* Header / menu */
.site-header{
  top:10px;
  margin:10px auto 0;
  min-height:82px;
  padding:10px 14px 10px 18px;
}
.nav{
  padding:5px;
}
.nav a{
  white-space:nowrap;
  min-width:auto;
  padding:0 18px;
  font-family:var(--body);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nav-cta{
  font-family:var(--body);
  white-space:nowrap;
}

/* Hero compact and with moving b/w background */
.home-hero.pro-hero{
  margin:8px auto 0;
  min-height:700px;
  grid-template-columns:minmax(0,.98fr) minmax(380px,.84fr);
  align-items:stretch;
  gap:14px;
  padding:26px 34px 28px;
  border-radius:34px;
}
.hero-marquee-bg{opacity:.20;inset:-10% -12% auto -8%;height:270px;transform:rotate(-5deg)}
.hero-marquee-row{margin:12px 0}
.pro-hero-copy{
  align-self:flex-start;
  padding-top:132px;
  padding-bottom:0;
  max-width:590px;
}
.pro-hero-title{
  max-width:none;
  margin:0 0 10px;
  font-size:clamp(78px,10.2vw,156px);
  line-height:.83;
}
.hero-sub.manifesto{
  margin-top:0;
  margin-bottom:12px;
}
.hero-signature{
  margin-top:8px;
  max-width:540px;
  font-size:clamp(21px,2.2vw,31px);
  line-height:1.12;
}
.hero-intro{
  max-width:560px;
  margin-top:14px;
  font-size:16px;
}
.hero-actions{margin-top:20px}
.pro-hero-visual{
  min-height:620px;
  align-items:flex-end;
  justify-content:flex-end;
}
.pro-hero-visual.has-transparent img{
  width:min(124%,760px);
  height:min(94vh,900px);
  transform:translateX(18px) translateY(8px);
  object-position:center bottom;
}
.pro-hero-badge{right:0;bottom:20px}

/* Story block */
.section{padding:42px 0}
.split-story{padding-top:34px}
.split-feature{gap:18px}
.photo-panel,.black-panel{min-height:420px}
.photo-panel img{min-height:420px}
.black-panel{padding:34px 38px}
.black-panel .display.small{font-size:clamp(54px,6vw,92px);margin-bottom:18px}
.black-panel .story-copy,
.black-panel .story-copy p{
  font-size:17px;
  line-height:1.75;
  color:#d6cbc0;
  text-align:justify;
}
.black-panel .story-copy p{margin:0 0 20px}

/* Remove stat feel / compact cards across site */
.home-diary-spectacular{padding:18px 0 54px}
.home-diary-shell{
  padding:34px;
  border-radius:30px;
}
.home-diary-head{
  grid-template-columns:1fr minmax(240px,.62fr) auto;
  align-items:center;
  gap:18px;
  margin-bottom:22px;
}
.home-diary-head h2{font-size:clamp(54px,7.6vw,102px)}
.home-diary-head p{font-size:16px;max-width:340px}
.home-diary-cards{
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.home-diary-card,
.home-diary-card.is-featured{
  min-height:0;
  background:rgba(255,255,255,.045);
  display:flex;
  flex-direction:column;
  border-radius:22px;
  overflow:hidden;
}
.home-diary-card:after{display:none}
.home-diary-card-media{position:relative;inset:auto;display:block}
.home-diary-card-media img{
  width:100%;
  height:220px;
  object-fit:cover;
  filter:saturate(.88) contrast(1.03);
}
.home-diary-card-body{
  position:relative;
  left:auto;right:auto;bottom:auto;
  z-index:auto;
  padding:18px 18px 20px;
}
.home-diary-card h3{
  font-size:clamp(24px,2vw,34px);
  margin:12px 0 10px;
}
.home-diary-card p{
  color:#d5ccc2;
  font-size:15px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.diary-chip{font-size:10px}
.home-diary-readmore{margin-top:14px}

/* About page */
.about-editorial{margin-top:28px;padding-bottom:68px}
.about-article-body{
  text-align:justify;
  font-size:19px;
  line-height:1.86;
}

/* General compactness */
.visual-card,.number,.video-card,.blog-card,.blog-feature,.blog-article,.about-editorial-hero,.about-article-card,.about-visual-card,.home-diary-shell,.contract-form,.contract-side,.photo-panel,.black-panel{border-radius:24px}
.site-footer{padding:28px;border-radius:28px;margin-bottom:18px}

@media (max-width: 1100px){
  .home-hero.pro-hero{grid-template-columns:1fr minmax(330px,.78fr);padding:24px 26px 26px}
  .pro-hero-copy{padding-top:110px;max-width:520px}
  .pro-hero-title{font-size:clamp(74px,9.6vw,138px)}
  .pro-hero-visual{min-height:560px}
  .pro-hero-visual.has-transparent img{width:min(116%,650px);height:min(82vh,760px);transform:translateX(6px) translateY(0)}
  .home-diary-cards{grid-template-columns:repeat(2,1fr)}
  .home-diary-card:last-child{grid-column:1/-1}
}
@media (max-width: 820px){
  :root{--wrap:calc(100vw - 22px)}
  .site-header{min-height:76px}
  .nav a{white-space:normal}
  .home-hero.pro-hero{grid-template-columns:1fr;min-height:auto;padding:22px 18px 24px}
  .hero-marquee-bg{height:190px;opacity:.18}
  .pro-hero-copy{order:2;padding-top:0;max-width:none}
  .pro-hero-visual{order:1;min-height:320px;justify-content:center}
  .pro-hero-visual.has-transparent img{width:min(100%,470px);height:min(58vh,470px);transform:none}
  .pro-hero-badge{right:8px;bottom:10px;width:210px}
  .home-diary-head{grid-template-columns:1fr}
  .home-diary-cards{grid-template-columns:1fr}
  .home-diary-card:last-child{grid-column:auto}
  .black-panel{padding:26px}
}

/* --- 2026-06 v11: hero reference layout, tight menu gap, huge Niko photo --- */
:root{
  --wrap:min(1260px, calc(100vw - 18px));
}
.site-header{
  top:8px;
  margin:8px auto 0;
  min-height:78px;
  padding:8px 14px 8px 16px;
}
.brand-mark{width:48px;height:48px}
.brand-text strong{font-size:17px;line-height:.92}
.brand-text small{font-size:10px;line-height:.95}
.nav{padding:5px}
.nav a{
  height:44px;
  padding:0 18px;
  white-space:nowrap;
  font-family:var(--body);
  font-size:12px;
  letter-spacing:.07em;
  font-weight:900;
}
.nav-cta{min-height:46px}
.whatsapp-mini{width:44px;height:44px}

.home-hero.pro-hero{
  width:var(--wrap);
  margin:4px auto 0;
  min-height:calc(100vh - 98px);
  max-height:760px;
  grid-template-columns:minmax(0,.94fr) minmax(420px,.92fr);
  gap:6px;
  padding:28px 32px 28px;
  align-items:stretch;
  border-radius:34px;
}
.home-hero.pro-hero:before{
  background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.82) 100%);
}
.hero-marquee-bg{
  display:block;
  height:245px;
  inset:-7% -10% auto -8%;
  opacity:.26;
  filter:grayscale(1) contrast(1.35) brightness(.9);
  transform:rotate(-5deg);
}
.hero-marquee-row{margin:10px 0}
.hero-marquee-item{width:188px;height:112px}
.hero-marquee-item.wide{width:248px}
.pro-hero-copy{
  align-self:flex-start;
  padding-top:40px;
  padding-bottom:0;
  max-width:570px;
  z-index:3;
}
.pro-hero-title{
  margin:0 0 10px;
  font-size:clamp(78px,10.1vw,154px);
  line-height:.82;
  letter-spacing:-.05em;
}
.hero-sub.manifesto{
  margin:0 0 14px;
  font-size:clamp(17px,1.8vw,23px);
}
.hero-signature{
  margin-top:8px;
  max-width:540px;
  font-size:clamp(23px,2.45vw,36px);
  line-height:1.12;
}
.hero-intro{
  max-width:560px;
  margin-top:14px;
  font-size:16px;
  line-height:1.65;
}
.hero-actions{margin-top:20px}
.pro-hero-visual{
  min-height:610px;
  justify-content:flex-end;
  align-items:flex-end;
  overflow:visible;
}
.pro-hero-visual.has-transparent img{
  width:min(138%,860px);
  height:min(108vh,930px);
  max-width:none;
  object-fit:contain;
  object-position:center bottom;
  transform:translateX(58px) translateY(-18px);
  filter:drop-shadow(0 42px 92px rgba(0,0,0,.72)) drop-shadow(0 0 62px rgba(227,24,69,.16));
}
.pro-hero-badge{
  right:4px;
  bottom:24px;
  width:min(245px,58%);
}

@media (max-width:1180px){
  :root{--wrap:min(1140px, calc(100vw - 18px))}
  .home-hero.pro-hero{grid-template-columns:minmax(0,.96fr) minmax(370px,.86fr);min-height:650px;max-height:720px;padding:26px 28px}
  .pro-hero-copy{padding-top:34px;max-width:520px}
  .pro-hero-title{font-size:clamp(72px,9.8vw,136px)}
  .pro-hero-visual.has-transparent img{width:min(132%,760px);height:min(96vh,840px);transform:translateX(32px) translateY(-10px)}
}
@media (max-width:900px){
  :root{--wrap:calc(100vw - 18px)}
  .home-hero.pro-hero{grid-template-columns:1fr;min-height:auto;max-height:none;padding:22px 18px 24px}
  .hero-marquee-bg{height:190px;opacity:.20}
  .pro-hero-copy{order:2;padding-top:0;max-width:none}
  .pro-hero-visual{order:1;min-height:340px;justify-content:center;overflow:hidden}
  .pro-hero-visual.has-transparent img{width:min(100%,500px);height:min(58vh,500px);transform:translateX(0) translateY(0)}
}

/* --- 2026-06 v13 blog / diario upgrade --- */
.blog-editorial-wrap{
  width:var(--wrap);
  margin:30px auto 0;
  padding-bottom:72px;
}
.blog-editorial-hero,
.blog-spotlight-card,
.blog-archive-zone,
.blog-editor-card,
.blog-article-pro,
.blog-related-pro{
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.blog-editorial-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.68fr);
  gap:28px;
  padding:38px 34px 34px;
  border-radius:30px;
  background:
    radial-gradient(circle at top left, rgba(227,24,69,.16), transparent 40%),
    linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  align-items:end;
}
.blog-editorial-heading h1{
  margin:12px 0 0;
  font-size:clamp(68px,10vw,148px);
  line-height:.86;
  letter-spacing:-.05em;
}
.blog-editorial-intro{
  max-width:560px;
  margin:18px 0 0;
  font-size:18px;
  line-height:1.72;
  color:#ddd1c7;
}
.blog-editorial-aside{display:grid;gap:16px;align-self:end}
.blog-editorial-note,
.blog-editorial-search{
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:rgba(255,255,255,.03);
}
.blog-mini-label{
  display:inline-block;
  margin-bottom:10px;
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.blog-editorial-note p,
.blog-editorial-search label{
  color:#d9cec4;
}
.blog-editorial-search label{
  display:block;
  margin:0 0 10px;
}
.blog-editorial-search-row{display:flex;gap:10px;align-items:center}
.blog-editorial-search-row input{flex:1;min-height:52px}
.blog-editorial-pills{display:flex;gap:10px;flex-wrap:wrap}
.blog-editorial-pills span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:#f1e7de;
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.blog-spotlight-card{
  display:grid;
  grid-template-columns:minmax(320px,.88fr) minmax(0,1fr);
  gap:0;
  margin-top:20px;
  border-radius:30px;
  overflow:hidden;
  background:linear-gradient(145deg, rgba(14,14,18,.98), rgba(8,8,11,.98));
}
.blog-spotlight-media{display:block;min-height:420px}
.blog-spotlight-media img{width:100%;height:100%;object-fit:cover}
.blog-spotlight-body{
  padding:34px 34px 36px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.blog-spotlight-meta,
.blog-editor-card-topline,
.blog-article-pro-topline{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  color:#c8bcae;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.blog-spotlight-body h2{
  margin:16px 0 14px;
  font-size:clamp(38px,4vw,62px);
  line-height:.94;
  letter-spacing:-.05em;
}
.blog-spotlight-body p{
  font-size:18px;
  line-height:1.76;
  color:#ddd2c8;
}
.blog-spotlight-actions{display:flex;gap:18px;align-items:center;margin-top:22px;flex-wrap:wrap}
.ghost-link{
  color:#fff;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
  border-bottom:1px solid rgba(255,255,255,.2);
  padding-bottom:4px;
}
.ghost-link:hover{border-bottom-color:#fff}

.blog-archive-zone{
  margin-top:22px;
  padding:32px 30px 34px;
  border-radius:30px;
  background:rgba(255,255,255,.03);
}
.blog-archive-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);
  gap:20px;
  align-items:end;
  margin-bottom:24px;
}
.blog-archive-head.compact{margin-bottom:18px}
.blog-archive-head h2{
  margin:12px 0 0;
  font-size:clamp(54px,7vw,110px);
  line-height:.86;
  letter-spacing:-.05em;
}
.blog-archive-head p{
  max-width:420px;
  color:#d7ccbf;
  font-size:16px;
  line-height:1.7;
}
.blog-archive-grid,
.blog-related-pro-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.blog-editor-card{
  display:flex;
  flex-direction:column;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
}
.blog-editor-card-media{display:block}
.blog-editor-card-media img{
  width:100%;
  height:220px;
  object-fit:cover;
  filter:saturate(.88) contrast(1.05);
}
.blog-editor-card-body{padding:18px 18px 20px}
.blog-editor-card-body h3{
  margin:14px 0 10px;
  font-size:clamp(24px,2.4vw,36px);
  line-height:1.03;
  letter-spacing:-.04em;
}
.blog-editor-card-body p{
  margin:0;
  color:#d8cdc2;
  font-size:15px;
  line-height:1.68;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.blog-editor-card-body .ghost-link{display:inline-block;margin-top:16px}

.blog-article-pro{
  width:min(980px, calc(100vw - 36px));
  margin:30px auto 26px;
  padding:34px 34px 40px;
  border-radius:30px;
  background:
    radial-gradient(circle at top left, rgba(227,24,69,.12), transparent 34%),
    rgba(255,255,255,.04);
}
.blog-article-pro-head{max-width:840px}
.blog-article-pro-head h1{
  margin:16px 0 16px;
  font-size:clamp(54px,8vw,108px);
  line-height:.9;
  letter-spacing:-.05em;
}
.blog-article-pro-head p{
  max-width:720px;
  color:#d8cec4;
  font-size:19px;
  line-height:1.75;
}
.blog-article-pro-actions{margin-top:18px}
.blog-article-pro-image{margin:28px 0 30px}
.blog-article-pro-image img{
  width:100%;
  max-height:520px;
  object-fit:cover;
  border-radius:24px;
}
.blog-article-pro-body{
  font-size:20px;
  line-height:1.9;
  color:#e1d8cd;
  text-align:justify;
}
.blog-article-pro-body p{margin:0 0 1.25em}
.blog-related-pro{
  width:min(1180px, calc(100vw - 36px));
  margin:0 auto 72px;
  padding:28px 28px 30px;
  border-radius:30px;
  background:rgba(255,255,255,.03);
}

@media (max-width: 1100px){
  .blog-editorial-hero,
  .blog-archive-head,
  .blog-spotlight-card{grid-template-columns:1fr}
  .blog-spotlight-media{min-height:320px}
  .blog-archive-grid,
  .blog-related-pro-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 760px){
  .blog-editorial-wrap{margin-top:20px;padding-bottom:48px}
  .blog-editorial-hero,
  .blog-archive-zone,
  .blog-article-pro,
  .blog-related-pro{padding:22px}
  .blog-editorial-search-row{flex-direction:column;align-items:stretch}
  .blog-editorial-search-row .btn{width:100%}
  .blog-spotlight-body{padding:24px}
  .blog-archive-grid,
  .blog-related-pro-grid{grid-template-columns:1fr}
  .blog-editor-card-media img{height:210px}
  .blog-article-pro-body{text-align:left;font-size:18px}
}

/* --- 2026-06 v14 diary archive like reference --- */
.blog-archive-zone.ref-mode{
  padding:34px 30px 36px;
}
.blog-archive-head.ref-mode{
  grid-template-columns:minmax(0,.92fr) minmax(260px,.52fr);
  align-items:center;
  margin-bottom:22px;
}
.blog-archive-stage{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(260px,.58fr);
  gap:28px;
  align-items:start;
}
.blog-archive-main{min-width:0}
.blog-editor-card.lead-card{
  max-width:390px;
  min-height:0;
}
.blog-editor-card.lead-card .blog-editor-card-media img{
  height:250px;
}
.blog-editor-card.lead-card .blog-editor-card-body{
  padding:16px 18px 18px;
}
.blog-editor-card.lead-card h3{
  font-size:clamp(26px,2.8vw,42px);
  line-height:1;
}
.blog-editor-card.lead-card p{
  -webkit-line-clamp:4;
}
.blog-archive-side{
  display:grid;
  gap:18px;
  min-width:0;
}
.blog-archive-side-intro{
  padding:8px 0 2px;
}
.blog-archive-side-intro p{
  color:#ddd2c8;
  font-size:17px;
  line-height:1.78;
  max-width:360px;
}
.blog-side-list{
  display:grid;
  gap:14px;
}
.blog-side-item{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:14px;
  align-items:start;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.03);
}
.blog-side-item img{
  width:92px;
  height:92px;
  object-fit:cover;
  border-radius:14px;
}
.blog-side-item span{
  display:block;
  margin-bottom:8px;
  color:#cfc3b7;
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.blog-side-item h4{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.secondary-grid{
  margin-top:24px;
}

@media (max-width: 1100px){
  .blog-archive-stage,
  .blog-archive-head.ref-mode{grid-template-columns:1fr}
  .blog-editor-card.lead-card{max-width:none}
}
@media (max-width: 760px){
  .blog-archive-zone.ref-mode{padding:22px}
  .blog-side-item{grid-template-columns:78px 1fr}
  .blog-side-item img{width:78px;height:78px}
}

/* --- 2026-06 v15 accumulated client fixes --- */
.pro-hero-copy{max-width:640px}
.hero-signature{
  max-width:620px;
  margin-top:14px;
  font-size:clamp(25px,2.45vw,38px);
  line-height:1.34;
  text-wrap:pretty;
}
.hero-intro{
  max-width:620px;
  margin-top:18px;
  font-size:18px;
  line-height:1.86;
  letter-spacing:.01em;
}
.story-photo-right img{object-position:72% center}

.visual-grid-art{grid-template-columns:repeat(4,1fr)}
.painting-card{display:block;min-height:450px;background:#111}
.painting-card:after{display:none}
.painting-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease, filter .35s ease}
.painting-card:hover img{transform:scale(1.02);filter:saturate(.92) contrast(1.03)}
.painting-card .visual-content{display:none}
.gallery-caption{display:none}

.booking-mini-panel p{max-width:620px}
.booking-mini-form{margin-top:18px}
.booking-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.booking-mini-form input,
.booking-mini-form select,
.booking-mini-form textarea{
  width:100%;
  min-height:50px;
  padding:0 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:#fff;
}
.booking-mini-form textarea{min-height:110px;padding:14px 16px;resize:vertical;margin-top:12px}
.booking-mini-actions{margin-top:14px}
.booking-mini-actions .btn{width:auto}

.site-footer-pro{
  grid-template-columns:minmax(0,1.15fr) 180px 220px minmax(260px,.8fr);
  align-items:start;
  background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.028));
}
.footer-brand-pro strong{font-size:58px}
.footer-brand-pro p{max-width:420px;color:#d8cdc1;line-height:1.75}
.footer-management h4{margin:0 0 12px;color:#fff;text-transform:uppercase;font-size:12px;letter-spacing:.16em}
.management-card{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(255,255,255,.03);
}
.management-card img{
  width:88px;
  height:88px;
  object-fit:contain;
  border-radius:14px;
  background:#fff;
  padding:8px;
}
.management-card strong{display:block;color:#fff;font-size:17px;line-height:1.14}
.management-card span{display:block;margin-top:8px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.08em}

.blog-archive-zone.grid-only{padding:32px 30px 34px}
.blog-archive-head.grid-only{grid-template-columns:minmax(0,.92fr) minmax(260px,.55fr)}
.card-uniform-grid{grid-template-columns:repeat(3,1fr);gap:18px}
.card-uniform .blog-editor-card-media img{height:250px}
.card-uniform .blog-editor-card-body h3{font-size:clamp(24px,2vw,34px);min-height:2.15em}
.card-uniform .blog-editor-card-body p{-webkit-line-clamp:4;min-height:6.5em}

@media (max-width: 1100px){
  .visual-grid-art{grid-template-columns:repeat(2,1fr)}
  .site-footer-pro{grid-template-columns:1fr 1fr}
  .footer-management{grid-column:1/-1}
  .card-uniform-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 760px){
  .story-photo-right img{object-position:78% center}
  .visual-grid-art{grid-template-columns:1fr}
  .painting-card{min-height:340px}
  .booking-mini-grid{grid-template-columns:1fr}
  .booking-mini-actions{flex-direction:column;align-items:stretch}
  .booking-mini-actions .btn{width:100%}
  .site-footer-pro{grid-template-columns:1fr}
  .card-uniform-grid{grid-template-columns:1fr}
}

/* --- 2026-06 v16 final requested fixes --- */
.hero-signature{
  max-width:650px;
  margin-top:18px;
  font-size:clamp(25px,2.6vw,42px);
  line-height:1.42;
  text-wrap:pretty;
}
.hero-intro{
  max-width:660px;
  margin-top:18px;
  font-size:18px;
  line-height:1.9;
  letter-spacing:.01em;
  color:#d6cbc0;
}
.story-photo-right img{
  object-position:18% center !important;
  transform:none;
}
.booking-mini-panel p{max-width:540px;margin-bottom:0}
.booking-mini-grid.single-col{grid-template-columns:1fr !important;gap:12px}
.booking-mini-form input,
.booking-mini-form select,
.booking-mini-form textarea{
  min-height:52px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
  color:#fff;
}
.booking-mini-form textarea{min-height:120px}
.booking-mini-actions.compact{margin-top:14px}
.booking-mini-actions.compact .btn{min-width:180px}
.booking-photo-panel img{object-position:center top}
.management-card{
  background:linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
}
.management-card img{
  width:100px;
  height:100px;
  background:#0f0f12;
  padding:10px;
  object-fit:contain;
  border:1px solid rgba(255,255,255,.08);
}
.card-uniform .blog-editor-card-media img,
.blog-editor-card-media img{
  object-position:center 20%;
}
.card-uniform .blog-editor-card-media img{height:270px}

@media (max-width: 760px){
  .story-photo-right img{object-position:22% center !important;}
  .booking-mini-actions.compact .btn{width:100%}
}
.home-diary-card-media img{
  object-position:center 18%;
  height:250px;
}

/* --- v17 refinements requested --- */
.pro-hero-title.informal{
  display:flex;
  flex-direction:column;
  gap:10px;
  line-height:.88;
  letter-spacing:-.045em;
  font-size:clamp(86px,11vw,170px);
}
.pro-hero-title.informal .hero-name-top,
.pro-hero-title.informal .hero-name-bottom{display:block}
.pro-hero-title.informal .hero-name-bottom{margin-left:.04em}
.hero-sub.manifesto{margin-top:18px;letter-spacing:.20em;font-size:15px}
.hero-signature{
  max-width:610px;
  margin-top:22px;
  font-size:clamp(19px,2.15vw,30px);
  line-height:1.48;
  font-weight:500;
}
.hero-intro{
  max-width:580px;
  margin-top:16px;
  font-size:16px;
  line-height:1.8;
  color:#d7cfc6;
}

.home-diary-shell{padding:28px 28px 32px}
.home-diary-head{grid-template-columns:minmax(0,.9fr) minmax(250px,.6fr) auto;align-items:end;gap:20px;margin-bottom:24px}
.home-diary-head h2{font-size:clamp(62px,8vw,118px);line-height:.9}
.home-diary-head p{max-width:420px;font-size:18px;line-height:1.7}
.home-diary-cards{grid-template-columns:repeat(3, minmax(0,1fr));gap:18px}
.home-diary-card.compact-card{min-height:auto}
.home-diary-card.compact-card .home-diary-card-media img{height:240px;object-position:center 18%}
.home-diary-card.compact-card .home-diary-card-body{padding:18px}
.home-diary-card.compact-card h3{font-size:26px;line-height:1.06;margin-bottom:10px}
.home-diary-card.compact-card p{font-size:15px;line-height:1.62;-webkit-line-clamp:4}

.compact-diary-wrap{padding-top:18px}
.compact-diary-hero{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,.7fr);
  gap:24px;
  align-items:end;
  margin-bottom:20px;
  padding:24px 26px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;
  background:linear-gradient(135deg, rgba(146,15,44,.22), rgba(255,255,255,.02));
}
.compact-diary-copy h1{
  margin:0;
  font-family:var(--display);
  font-size:clamp(70px,10vw,140px);
  line-height:.9;
  letter-spacing:-.045em;
}
.compact-diary-copy p{max-width:520px;font-size:18px;line-height:1.75;color:#ddd2c8;margin:14px 0 0}
.compact-diary-search{
  padding:18px 18px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:rgba(255,255,255,.03);
}
.compact-diary-search label{display:block;margin-bottom:10px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.compact-diary-search-row{display:flex;gap:10px}
.compact-diary-search-row input{
  flex:1;
  min-height:50px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:#111116;
  color:#fff;
  padding:0 15px;
}
.compact-diary-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.compact-diary-meta span{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.10);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f1ebe2}

.blog-archive-zone.compact-grid-only{padding:20px 0 0;background:none;border:none}
.blog-archive-head.compact-grid-head{grid-template-columns:minmax(0,.85fr) minmax(220px,.6fr);gap:20px;align-items:end;margin-bottom:20px}
.blog-archive-head.compact-grid-head h2{font-size:clamp(54px,7vw,98px);line-height:.92}
.blog-archive-head.compact-grid-head p{max-width:420px;font-size:17px;line-height:1.7}
.compact-grid-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.compact-uniform-card .blog-editor-card-media img{height:220px;object-position:center 18%}
.compact-uniform-card .blog-editor-card-body{padding:16px 18px 18px}
.compact-uniform-card .blog-editor-card-body h3{font-size:clamp(22px,2vw,34px);line-height:1.05;min-height:2.2em;margin-bottom:10px}
.compact-uniform-card .blog-editor-card-body p{font-size:15px;line-height:1.6;min-height:6.2em;-webkit-line-clamp:4}

.management-card.text-only{
  grid-template-columns:64px 1fr;
  align-items:center;
  gap:14px;
  padding:16px 18px;
}
.management-card.text-only .management-badge{
  width:64px;height:64px;border-radius:18px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, #f32d5c, #8d112f);
  color:#fff;
  font-family:var(--display);
  font-size:34px;
  line-height:1;
}
.management-card.text-only strong{font-size:20px;line-height:1.1}
.management-card.text-only span{margin-top:6px;line-height:1.4}

@media (max-width: 1100px){
  .home-diary-head,
  .compact-diary-hero,
  .blog-archive-head.compact-grid-head{grid-template-columns:1fr}
  .home-diary-cards,
  .compact-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 760px){
  .pro-hero-title.informal{font-size:clamp(64px,18vw,110px);gap:6px}
  .hero-signature{font-size:clamp(18px,6vw,26px)}
  .home-diary-head{grid-template-columns:1fr}
  .home-diary-cards,
  .compact-grid-cards{grid-template-columns:1fr}
  .compact-diary-search-row{flex-direction:column}
}

/* --- v29 Diario + logo Jamboo visible --- */
.home-diary-spectacular{padding-top:26px}
.home-diary-shell{
  padding:40px 44px 46px;
  border-radius:34px;
  background:
    radial-gradient(circle at 12% 0%, rgba(227,24,69,.18), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}
.home-diary-head{
  grid-template-columns:minmax(0,.82fr) minmax(320px,.58fr) auto;
  align-items:center;
  gap:30px;
  margin-bottom:30px;
}
.home-diary-head h2{
  font-size:clamp(88px,12vw,178px);
  line-height:.82;
  letter-spacing:-.055em;
}
.home-diary-head p{
  max-width:560px;
  font-size:19px;
  line-height:1.85;
  color:#f0e7dc;
  text-wrap:balance;
}
.home-diary-head .btn.light{
  white-space:nowrap;
  box-shadow:0 12px 30px rgba(0,0,0,.24);
}
.home-diary-cards{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.home-diary-card.compact-card{
  border-radius:24px;
  background:linear-gradient(180deg, #242426, #171719);
  box-shadow:0 22px 60px rgba(0,0,0,.26);
}
.home-diary-card.compact-card .home-diary-card-media img{
  height:278px;
  object-position:center 16%;
}
.home-diary-card.compact-card .home-diary-card-body{
  padding:24px 28px 30px;
}
.home-diary-card.compact-card h3{
  max-width:96%;
  font-size:clamp(28px,2.5vw,40px);
  line-height:1.02;
  letter-spacing:-.035em;
}
.home-diary-card.compact-card p{
  max-width:92%;
  font-size:18px;
  line-height:1.72;
  color:#f0e6db;
  -webkit-line-clamp:4;
}
.management-card.logo-card{
  grid-template-columns:154px 1fr;
  gap:16px;
  padding:14px;
  align-items:center;
}
.management-logo-box{
  display:grid;
  place-items:center;
  min-height:82px;
  padding:10px 12px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04), 0 14px 32px rgba(0,0,0,.22);
}
.management-card.logo-card img{
  width:130px;
  height:auto;
  max-height:58px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  object-fit:contain;
}
.management-card.logo-card strong{font-size:19px;line-height:1.12}
.management-card.logo-card span{line-height:1.45}

@media (max-width: 1100px){
  .home-diary-head{grid-template-columns:1fr;align-items:start}
  .home-diary-head p{max-width:680px}
}
@media (max-width: 760px){
  .home-diary-shell{padding:28px 20px 30px;border-radius:26px}
  .home-diary-head h2{font-size:clamp(70px,22vw,116px)}
  .home-diary-head p{font-size:17px;line-height:1.7}
  .home-diary-cards{grid-template-columns:1fr;gap:18px}
  .home-diary-card.compact-card .home-diary-card-media img{height:235px}
  .home-diary-card.compact-card .home-diary-card-body{padding:20px}
  .home-diary-card.compact-card p{font-size:16px;max-width:none}
  .management-card.logo-card{grid-template-columns:1fr;align-items:start}
  .management-logo-box{justify-content:start}
}

/* --- V30 · Jamboo logo real en footer --- */
.management-card.jamboo-real-logo,
.management-card.logo-card.jamboo-real-logo{
  grid-template-columns:128px minmax(0,1fr);
  gap:18px;
  padding:16px 18px;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.14);
}
.management-card.jamboo-real-logo .management-logo-box{
  width:128px;
  min-height:76px;
  padding:10px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.26), inset 0 0 0 1px rgba(0,0,0,.06);
}
.management-card.jamboo-real-logo .management-logo-box img{
  display:block;
  width:100%;
  max-width:108px;
  height:auto;
  max-height:56px;
  padding:0 !important;
  margin:0;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  object-fit:contain;
}
.management-card.jamboo-real-logo .management-badge{display:none !important;}
.management-card.jamboo-real-logo .management-copy strong{
  font-size:19px;
  line-height:1.12;
}
.management-card.jamboo-real-logo .management-copy span{
  margin-top:8px;
  color:var(--gold);
  font-size:12px;
  line-height:1.35;
}
@media (max-width: 760px){
  .management-card.jamboo-real-logo,
  .management-card.logo-card.jamboo-real-logo{
    grid-template-columns:1fr;
  }
  .management-card.jamboo-real-logo .management-logo-box{
    width:100%;
    max-width:220px;
    min-height:82px;
    justify-self:start;
  }
  .management-card.jamboo-real-logo .management-logo-box img{
    max-width:165px;
    max-height:60px;
  }
}

/* --- V31 BIO: hero con foto + palabras clave en negrita --- */
.about-bio-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(380px,.82fr);
  gap:clamp(24px,4vw,58px);
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  min-height:520px;
  background:
    radial-gradient(circle at 8% 8%, rgba(227,24,69,.28), transparent 34%),
    radial-gradient(circle at 88% 82%, rgba(211,166,77,.12), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
}
.about-bio-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(3,3,6,.05),rgba(3,3,6,.24) 58%,rgba(3,3,6,.04));
  pointer-events:none;
  z-index:-1;
}
.about-bio-copy{position:relative;z-index:2;max-width:760px}
.about-bio-hero h1{
  max-width:780px;
  margin:18px 0 18px;
  font-size:clamp(54px,7.2vw,116px);
  line-height:.86;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.about-hero-line{
  display:block;
  width:92px;
  height:2px;
  margin:24px 0 24px;
  background:linear-gradient(90deg,var(--red),rgba(227,24,69,0));
}
.about-bio-hero p{
  max-width:700px;
  font-size:clamp(18px,1.65vw,23px);
  line-height:1.55;
  color:#e7dcd1;
}
.about-bio-photos{
  position:relative;
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.about-bio-main-photo,
.about-bio-small-photo{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  box-shadow:0 36px 85px rgba(0,0,0,.48);
}
.about-bio-main-photo{
  width:min(100%,560px);
  border-radius:28px;
  transform:translateY(-8px);
}
.about-bio-main-photo img{
  display:block;
  width:100%;
  aspect-ratio:1.18/1;
  object-fit:cover;
  object-position:center 18%;
}
.about-bio-small-photo{
  position:absolute;
  left:0;
  bottom:44px;
  width:min(42%,238px);
  border-radius:24px;
  box-shadow:0 24px 64px rgba(0,0,0,.55),0 0 0 1px rgba(227,24,69,.14);
}
.about-bio-small-photo img{
  display:block;
  width:100%;
  aspect-ratio:.82/1;
  object-fit:cover;
  object-position:center top;
}
.about-bio-signature{
  position:absolute;
  right:28px;
  bottom:56px;
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(30px,3vw,48px);
  color:var(--red);
  letter-spacing:.02em;
  text-shadow:0 12px 28px rgba(0,0,0,.55);
}
.about-bio-roles{
  position:absolute;
  right:34px;
  bottom:30px;
  color:#bfb2a7;
  font-size:11px;
  font-weight:850;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.about-bio-roles span{color:var(--red);padding:0 6px}
.about-article-body strong{
  color:#fff8ef;
  font-weight:900;
  text-shadow:0 0 18px rgba(227,24,69,.16);
}

@media (max-width:1100px){
  .about-bio-hero{grid-template-columns:1fr;min-height:auto}
  .about-bio-photos{min-height:420px;justify-content:flex-end}
  .about-bio-main-photo{width:min(100%,720px)}
  .about-bio-small-photo{left:22px;width:min(34%,220px)}
}
@media (max-width:760px){
  .about-bio-hero{padding:28px 22px 32px;gap:22px}
  .about-bio-hero h1{font-size:clamp(44px,13vw,72px);line-height:.9}
  .about-bio-photos{min-height:330px}
  .about-bio-main-photo{border-radius:22px}
  .about-bio-main-photo img{aspect-ratio:1/1.05}
  .about-bio-small-photo{display:none}
  .about-bio-signature{right:18px;bottom:44px;font-size:30px}
  .about-bio-roles{right:18px;bottom:20px;font-size:9px;letter-spacing:.14em}
}

/* --- V32 BIO: fotos más contenidas y mejor recorte --- */
.about-bio-hero{
  min-height:420px !important;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.54fr) !important;
  gap:clamp(18px,3vw,42px) !important;
}
.about-bio-copy{max-width:820px !important;}
.about-bio-hero h1{
  font-size:clamp(48px,6.1vw,94px) !important;
  line-height:.92 !important;
  margin-bottom:14px !important;
}
.about-bio-hero p{
  max-width:760px !important;
  font-size:clamp(17px,1.35vw,20px) !important;
}
.about-bio-photos{
  min-height:340px !important;
  justify-content:center !important;
  align-self:center !important;
}
.about-bio-main-photo{
  width:min(100%,420px) !important;
  border-radius:26px !important;
  transform:none !important;
}
.about-bio-main-photo img{
  aspect-ratio:4/3 !important;
  max-height:315px !important;
  object-fit:cover !important;
  object-position:center 42% !important;
}
.about-bio-small-photo{
  width:145px !important;
  left:-18px !important;
  bottom:18px !important;
  border-radius:20px !important;
}
.about-bio-small-photo img{
  aspect-ratio:.82/1 !important;
  max-height:178px !important;
}
.about-bio-signature{
  right:18px !important;
  bottom:42px !important;
  font-size:clamp(26px,2.2vw,36px) !important;
}
.about-bio-roles{
  right:20px !important;
  bottom:18px !important;
  font-size:9px !important;
  letter-spacing:.16em !important;
}

@media (max-width:1100px){
  .about-bio-hero{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .about-bio-photos{
    max-width:520px !important;
    width:100% !important;
    min-height:300px !important;
    margin:4px auto 0 !important;
  }
  .about-bio-main-photo{
    width:min(100%,460px) !important;
  }
  .about-bio-main-photo img{
    aspect-ratio:16/10 !important;
    max-height:300px !important;
    object-position:center 42% !important;
  }
  .about-bio-small-photo{
    width:132px !important;
    left:10px !important;
    bottom:22px !important;
  }
}

@media (max-width:760px){
  .about-bio-hero{padding:26px 20px 30px !important;}
  .about-bio-hero h1{font-size:clamp(42px,12vw,64px) !important;}
  .about-bio-photos{
    max-width:360px !important;
    min-height:235px !important;
  }
  .about-bio-main-photo{width:100% !important;}
  .about-bio-main-photo img{
    aspect-ratio:16/10 !important;
    max-height:220px !important;
  }
  .about-bio-small-photo{display:none !important;}
  .about-bio-signature{display:none !important;}
  .about-bio-roles{display:none !important;}
}

/* =========================================================
   NIKO ROSALES · V34 ROJA MEJORADA
   Mantiene la versión anterior roja, pero con más limpieza,
   presencia y acabado profesional. Sin cambio radical de marca.
   ========================================================= */
:root{
  --bg:#050506;
  --bg-2:#09090b;
  --panel:#101014;
  --panel-2:#17171c;
  --ink:#fff7f1;
  --muted:#c9bbb1;
  --soft:#8d8179;
  --line:rgba(255,255,255,.13);
  --line-strong:rgba(255,255,255,.24);
  --red:#e30f35;
  --red-2:#ff274d;
  --red-dark:#800817;
  --gold:#d6a858;
  --shadow:0 34px 110px rgba(0,0,0,.58);
  --shadow-soft:0 22px 68px rgba(0,0,0,.42);
}
body{
  background:
    radial-gradient(circle at 18% 8%, rgba(227,15,53,.32), transparent 34vw),
    radial-gradient(circle at 80% 16%, rgba(227,15,53,.16), transparent 30vw),
    linear-gradient(180deg,#050506 0%,#0b0b0e 42%,#040405 100%);
}
body:before{
  opacity:.16;
  background-size:72px 72px;
}
body:after{
  opacity:.10;
  filter:grayscale(1) contrast(1.32) brightness(.72);
}
.site-header{
  border-color:rgba(255,255,255,.14);
  background:linear-gradient(180deg,rgba(13,13,16,.88),rgba(5,5,7,.70));
  box-shadow:0 22px 75px rgba(0,0,0,.48), 0 0 0 1px rgba(227,15,53,.08) inset;
}
.site-header:after{
  content:"";
  position:absolute;
  left:32px;
  right:32px;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(227,15,53,.82),transparent);
  pointer-events:none;
}
.brand-mark{
  width:50px;
  height:50px;
  border-radius:18px;
  background:
    radial-gradient(circle at 30% 15%, rgba(255,255,255,.28), transparent 28%),
    linear-gradient(145deg,#ff274d 0%,#b60925 58%,#690711 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.20), 0 18px 34px rgba(227,15,53,.30);
}
.brand-text strong{letter-spacing:.18em;color:#fff}
.brand-text small{color:#ffb2bf}
.nav a{
  color:#eadfd6;
  font-weight:900;
}
.nav a:hover,.nav a.active,.nav a.is-active{
  background:rgba(227,15,53,.16);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(227,15,53,.22);
}
.nav-cta{
  background:linear-gradient(135deg,var(--red),#8e0b1d);
  border-color:transparent;
  color:#fff;
  box-shadow:0 16px 36px rgba(227,15,53,.24);
}
.nav-cta:hover{
  box-shadow:0 20px 46px rgba(227,15,53,.34);
}
.btn.redbtn,.btn.primary{
  background:linear-gradient(135deg,#ff274d 0%,#e30f35 46%,#8a081b 100%);
  box-shadow:0 18px 42px rgba(227,15,53,.30);
}
.btn.ghost:hover{
  border-color:rgba(255,39,77,.62);
  background:rgba(227,15,53,.11);
}
.kicker,.label,.diary-chip,.blog-eyebrow{color:#ffb2bf}
.kicker:before,.blog-eyebrow:before{
  background:var(--red-2);
  box-shadow:0 0 24px rgba(255,39,77,.88);
}
.red{color:var(--red-2)}
.home-hero.pro-hero{
  min-height:calc(100vh - 116px);
  border-color:rgba(255,255,255,.14);
  background:
    linear-gradient(90deg,rgba(4,4,6,.98) 0%,rgba(9,9,12,.88) 48%,rgba(6,6,8,.95) 100%),
    radial-gradient(circle at 72% 34%,rgba(255,39,77,.44),transparent 29vw),
    linear-gradient(135deg,rgba(227,15,53,.18),transparent 42%);
  box-shadow:0 36px 120px rgba(0,0,0,.60), 0 0 0 1px rgba(227,15,53,.10) inset;
}
.home-hero.pro-hero:after{
  content:"";
  position:absolute;
  inset:auto 42px 42px 42px;
  height:2px;
  z-index:1;
  background:linear-gradient(90deg,rgba(227,15,53,.95),rgba(255,255,255,.16),transparent);
  opacity:.8;
}
.hero-marquee-bg{opacity:.13;filter:grayscale(1) contrast(1.35) brightness(.78)}
.pro-hero-copy{align-self:center;padding-bottom:0}
.pro-hero-title{
  letter-spacing:-.06em;
  text-shadow:0 24px 80px rgba(0,0,0,.72), 0 0 34px rgba(227,15,53,.14);
}
.pro-hero-title .hero-name-top,
.hero-name-top.red{
  color:#fff;
  -webkit-text-stroke:1px rgba(255,255,255,.12);
}
.pro-hero-title .hero-name-bottom{
  color:var(--red-2);
  text-shadow:0 18px 50px rgba(227,15,53,.30);
}
.hero-sub.manifesto{
  color:#fff;
  border-left:3px solid var(--red);
  padding-left:14px;
  letter-spacing:.24em;
}
.hero-signature{
  font-family:var(--serif);
  color:#fff2ec;
  font-size:clamp(24px,2.65vw,40px);
  max-width:720px;
}
.hero-intro{
  color:#d8cac0;
  max-width:680px;
}
.pro-hero-plate{
  inset:8% 0 0 7%;
  border-radius:38px;
  background:
    radial-gradient(circle at 52% 24%,rgba(255,39,77,.22),transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
  border-color:rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 30px 90px rgba(0,0,0,.44),0 0 80px rgba(227,15,53,.12);
}
.pro-hero-visual img{
  width:min(100%,590px);
  filter:drop-shadow(0 34px 54px rgba(0,0,0,.70)) drop-shadow(0 0 26px rgba(227,15,53,.18));
}
.pro-hero-badge{
  right:4px;
  bottom:32px;
  background:linear-gradient(180deg,rgba(18,18,22,.90),rgba(5,5,7,.78));
  border-color:rgba(255,39,77,.35);
  box-shadow:0 24px 58px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.07) inset;
}
.pro-hero-badge strong{color:#fff}
.pro-hero-badge span{color:#ffb2bf}
.photo-panel,.black-panel,.about-text-card,.about-mini,.contract-side,.contract-form,.blog-fix-hero,.blog-feature,.blog-card,.blog-article,.album-title-box,.visual-card,.number,.home-diary-shell,.video-card{
  background:linear-gradient(180deg,rgba(255,255,255,.078),rgba(255,255,255,.032));
  border-color:rgba(255,255,255,.14);
  box-shadow:0 24px 76px rgba(0,0,0,.43);
}
.black-panel,.home-diary-shell,.contract-form,.contract-side{
  background:
    radial-gradient(circle at 16% 0%,rgba(227,15,53,.16),transparent 36%),
    linear-gradient(180deg,rgba(16,16,20,.92),rgba(8,8,10,.78));
}
.visual-card:before,
.blog-card:before,
.home-diary-card:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--red),transparent);
  opacity:.85;
  z-index:3;
}
.visual-card,.blog-card,.home-diary-card{position:relative}
.visual-card:hover,.blog-card:hover,.home-diary-card:hover,.gallery-item:hover{
  transform:translateY(-5px);
  border-color:rgba(255,39,77,.42);
  box-shadow:0 30px 86px rgba(0,0,0,.50), 0 0 42px rgba(227,15,53,.12);
}
.visual-card img,.home-diary-card-media img,.gallery-item img{
  filter:saturate(.94) contrast(1.08) brightness(.92);
}
.visual-card:hover img,.home-diary-card:hover img,.gallery-item:hover img{
  filter:saturate(1.04) contrast(1.12) brightness(.98);
}
.home-diary-spectacular{
  position:relative;
}
.home-diary-spectacular:before{
  content:"";
  position:absolute;
  left:50%;top:0;
  width:100vw;height:100%;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(227,15,53,.055),transparent);
  pointer-events:none;
}
.home-diary-head h2{
  color:#fff;
  text-shadow:0 18px 60px rgba(0,0,0,.55);
}
.diary-chip{
  color:#fff;
  background:rgba(227,15,53,.20);
  border:1px solid rgba(255,39,77,.34);
  border-radius:999px;
  padding:6px 10px;
}
.home-diary-readmore,.visual-content a,.blog-card a{
  color:#fff;
  font-weight:950;
}
.home-diary-readmore:hover,.visual-content a:hover,.blog-card a:hover{color:#ffb2bf}
input,select,textarea{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:rgba(255,39,77,.72);
  box-shadow:0 0 0 4px rgba(227,15,53,.16);
}
.site-footer{
  background:linear-gradient(180deg,rgba(14,14,18,.88),rgba(6,6,8,.72));
  border-color:rgba(255,255,255,.14);
  box-shadow:0 24px 76px rgba(0,0,0,.44);
}
.site-footer:before{
  content:"";
  grid-column:1/-1;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(227,15,53,.9),transparent);
  order:-1;
}
.footer-brand strong{color:#fff;text-shadow:0 18px 50px rgba(0,0,0,.5)}
.footer-brand span{color:#ffb2bf}
@media (max-width:1080px){
  .site-header:after{left:22px;right:22px}
  .pro-hero-visual{min-height:430px}
  .pro-hero-copy{order:1}.pro-hero-visual{order:2}
}
@media (max-width:700px){
  .site-header{border-radius:24px}
  .brand-mark{width:44px;height:44px;border-radius:15px}
  .home-hero.pro-hero{padding:30px 20px 26px}
  .hero-sub.manifesto{letter-spacing:.15em;font-size:13px}
  .pro-hero-badge{width:200px;right:2px;bottom:10px}
  .btn-row.hero-actions .btn{width:100%;}
}

/* =========================================================
   NIKO ROSALES · V35 MENU PROFESIONAL
   Header rojo oscuro más limpio, serio y responsive.
   ========================================================= */
.site-header.pro-site-header{
  width:min(1240px, calc(100vw - 34px));
  min-height:76px;
  top:12px;
  margin:12px auto 0;
  padding:9px 10px 9px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg,rgba(16,16,20,.88),rgba(6,6,8,.74)),
    radial-gradient(circle at 12% 0%,rgba(227,15,53,.22),transparent 42%);
  box-shadow:0 22px 70px rgba(0,0,0,.54), 0 0 0 1px rgba(227,15,53,.06) inset;
  backdrop-filter:blur(22px) saturate(1.15);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);
}
.site-header.pro-site-header:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.10),transparent 22%,transparent 78%,rgba(255,255,255,.06));
  opacity:.55;
}
.site-header.pro-site-header:after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,39,77,.95),rgba(255,255,255,.22),transparent);
}
.pro-brand{
  position:relative;
  z-index:3;
  min-width:245px;
  gap:13px;
  padding:4px 10px 4px 4px;
  border-radius:18px;
}
.pro-brand:hover .pro-brand-mark{
  transform:translateY(-1px) rotate(-2deg);
  box-shadow:0 18px 40px rgba(227,15,53,.36),0 0 0 1px rgba(255,255,255,.23) inset;
}
.pro-brand-mark{
  width:52px;
  height:52px;
  border-radius:17px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-size:19px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:1000;
  color:#fff;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.33),transparent 30%),
    linear-gradient(145deg,#ff3158 0%,#c20b2a 52%,#650713 100%);
  box-shadow:0 16px 34px rgba(227,15,53,.30),0 0 0 1px rgba(255,255,255,.18) inset;
  transition:transform .22s ease, box-shadow .22s ease;
}
.pro-brand-text strong{
  display:block;
  color:#fff;
  font-size:14px;
  line-height:1;
  letter-spacing:.20em;
  font-weight:1000;
}
.pro-brand-text small{
  display:block;
  margin-top:7px;
  color:#ffb4c0;
  font-size:9px;
  line-height:1;
  letter-spacing:.28em;
  font-weight:950;
  text-transform:uppercase;
}
.pro-nav-wrap{
  position:relative;
  z-index:3;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
}
.pro-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-height:52px;
  padding:5px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.pro-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:auto;
  height:42px;
  padding:0 14px;
  border-radius:14px;
  color:#eadfd8;
  font-family:var(--body);
  font-size:11px;
  font-weight:1000;
  letter-spacing:.105em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  transition:color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease;
}
.pro-nav a:before{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:8px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#ff3158,transparent);
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .22s ease, transform .22s ease;
}
.pro-nav a:hover{
  color:#fff;
  transform:translateY(-1px);
  background:rgba(255,255,255,.06);
}
.pro-nav a:hover:before,
.pro-nav a.active:before,
.pro-nav a.is-active:before{
  opacity:1;
  transform:scaleX(1);
}
.pro-nav a.active,
.pro-nav a.is-active,
.pro-nav a[aria-current="page"]{
  color:#fff;
  background:linear-gradient(180deg,rgba(227,15,53,.30),rgba(227,15,53,.12));
  box-shadow:inset 0 0 0 1px rgba(255,39,77,.30),0 12px 28px rgba(0,0,0,.20);
}
.pro-header-actions{
  display:flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
}
.pro-whatsapp-mini{
  width:46px;
  height:46px;
  border-radius:16px;
  color:#fff;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.pro-whatsapp-mini:hover{
  background:#169d55;
  border-color:rgba(255,255,255,.18);
  color:#fff;
  transform:translateY(-1px);
}
.pro-nav-cta{
  min-height:46px;
  padding:0 18px;
  border-radius:16px;
  border:1px solid rgba(255,39,77,.35);
  background:linear-gradient(135deg,#ff3158 0%,#d70d31 45%,#790815 100%);
  color:#fff;
  font-family:var(--body);
  font-size:11px;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 16px 34px rgba(227,15,53,.26), inset 0 1px 0 rgba(255,255,255,.12);
}
.pro-nav-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 44px rgba(227,15,53,.38), inset 0 1px 0 rgba(255,255,255,.16);
}
.pro-menu-toggle{
  display:none;
  width:46px;
  height:46px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.055);
  color:#fff;
  cursor:pointer;
  place-items:center;
  gap:4px;
  padding:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.pro-menu-toggle span{
  width:19px;
  height:2px;
  display:block;
  border-radius:999px;
  background:currentColor;
  transition:transform .24s ease, opacity .18s ease;
}
.pro-menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.pro-menu-toggle.is-open span:nth-child(2){opacity:0}
.pro-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width:1160px){
  .site-header.pro-site-header{width:calc(100vw - 24px)}
  .pro-brand{min-width:220px}
  .pro-nav a{padding:0 10px;font-size:10px;letter-spacing:.085em}
  .pro-nav-cta{padding:0 14px;letter-spacing:.095em}
}
@media (max-width:980px){
  body.menu-open{overflow:hidden}
  .site-header.pro-site-header{
    width:calc(100vw - 22px);
    min-height:70px;
    padding:9px;
    border-radius:22px;
    align-items:center;
  }
  .pro-brand{min-width:0;flex:1;padding-right:4px}
  .pro-brand-mark{width:48px;height:48px;border-radius:16px;font-size:17px}
  .pro-brand-text strong{font-size:13px;letter-spacing:.16em}
  .pro-brand-text small{font-size:8px;letter-spacing:.22em}
  .pro-nav-wrap{position:static;gap:8px;flex:0 0 auto}
  .pro-menu-toggle{display:grid;position:relative;z-index:101}
  .pro-nav-cta{min-height:46px;border-radius:16px;padding:0 13px;font-size:10px;letter-spacing:.075em}
  .pro-whatsapp-mini{display:none}
  .pro-nav{
    display:grid;
    position:absolute;
    left:9px;
    right:9px;
    top:calc(100% + 10px);
    z-index:100;
    grid-template-columns:1fr;
    gap:6px;
    padding:10px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.14);
    background:
      linear-gradient(180deg,rgba(14,14,18,.98),rgba(5,5,7,.96)),
      radial-gradient(circle at 18% 0%,rgba(227,15,53,.22),transparent 42%);
    box-shadow:0 28px 80px rgba(0,0,0,.66),0 0 0 1px rgba(227,15,53,.08) inset;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px) scale(.985);
    transition:opacity .20s ease, transform .20s ease, visibility .20s ease;
  }
  .pro-nav.open,
  .pro-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }
  .pro-nav a{
    width:100%;
    height:50px;
    justify-content:flex-start;
    padding:0 16px;
    border-radius:15px;
    font-size:13px;
    letter-spacing:.055em;
    text-transform:none;
  }
  .pro-nav a:before{
    left:auto;
    right:14px;
    bottom:auto;
    top:50%;
    width:7px;
    height:7px;
    transform:translateY(-50%) scale(.5);
    border-radius:999px;
    background:#ff3158;
  }
  .pro-nav a:hover:before,
  .pro-nav a.active:before,
  .pro-nav a.is-active:before{transform:translateY(-50%) scale(1)}
}
@media (max-width:560px){
  .site-header.pro-site-header{width:calc(100vw - 18px);top:9px;margin-top:9px;border-radius:20px}
  .pro-brand-text strong{font-size:12px;letter-spacing:.12em}
  .pro-brand-text small{display:none}
  .pro-nav-cta{display:none}
  .pro-menu-toggle{width:45px;height:45px}
  .pro-nav{left:8px;right:8px;top:calc(100% + 8px)}
}

/* =========================================================
   V36 · HERO COMPACTO + FOTO REAL EXISTENTE
   Sustituye visualmente la portada sin tocar backend ni BD.
   ========================================================= */
.home-hero.pro-hero{
  width:var(--wrap) !important;
  min-height:clamp(560px, 72vh, 690px) !important;
  max-height:690px !important;
  margin:18px auto 58px !important;
  padding:clamp(22px,2.2vw,34px) clamp(24px,3.2vw,48px) !important;
  grid-template-columns:minmax(0,.96fr) minmax(410px,.86fr) !important;
  align-items:center !important;
  overflow:hidden !important;
  border-radius:34px !important;
  border:1px solid rgba(255,39,77,.25) !important;
  background:
    linear-gradient(90deg,rgba(2,2,4,.98) 0%,rgba(8,4,8,.92) 44%,rgba(5,3,5,.96) 100%),
    radial-gradient(circle at 72% 40%,rgba(255,39,77,.38),transparent 32vw),
    linear-gradient(135deg,rgba(227,15,53,.20),transparent 44%) !important;
  box-shadow:0 32px 105px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.035) inset !important;
}
.home-hero.pro-hero:before{
  opacity:.55 !important;
}
.home-hero.pro-hero:after{
  left:38px !important;
  right:38px !important;
  bottom:32px !important;
  height:1px !important;
  background:linear-gradient(90deg,rgba(255,39,77,.95),rgba(255,255,255,.18),transparent) !important;
}
.hero-marquee-bg{
  inset:-10% -10% auto -6% !important;
  height:260px !important;
  opacity:.15 !important;
  filter:grayscale(1) contrast(1.35) brightness(.58) !important;
  transform:rotate(-4deg) !important;
}
.hero-marquee-row{gap:14px !important;margin:10px 0 !important;}
.hero-marquee-item{width:182px !important;height:106px !important;border-radius:16px !important;}
.hero-marquee-item.wide{width:238px !important;}
.pro-hero-copy{
  align-self:center !important;
  max-width:660px !important;
  padding:0 !important;
  transform:translateY(-4px) !important;
}
.pro-hero-copy .kicker{
  margin-bottom:8px !important;
  font-size:13px !important;
  letter-spacing:.24em !important;
  color:#ffb4c0 !important;
}
.pro-hero-title.informal{
  gap:2px !important;
  margin:0 0 14px !important;
  font-size:clamp(78px, 9.6vw, 158px) !important;
  line-height:.78 !important;
  letter-spacing:-.058em !important;
  text-shadow:0 22px 70px rgba(0,0,0,.72) !important;
}
.pro-hero-title.informal .hero-name-top,
.pro-hero-title.informal .hero-name-bottom{
  display:block !important;
}
.pro-hero-title.informal .hero-name-top,
.hero-name-top.red{
  color:#fff !important;
  -webkit-text-stroke:1px rgba(255,255,255,.10) !important;
}
.pro-hero-title.informal .hero-name-bottom{
  margin-left:0 !important;
  color:#ff214c !important;
  text-shadow:0 16px 44px rgba(255,33,76,.26) !important;
}
.hero-sub.manifesto{
  display:inline-flex !important;
  align-items:center !important;
  min-height:22px !important;
  margin:4px 0 0 !important;
  padding-left:15px !important;
  border-left:3px solid #ff214c !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.1 !important;
  letter-spacing:.26em !important;
}
.hero-signature{
  max-width:650px !important;
  margin:22px 0 0 !important;
  color:#fff3ef !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(25px, 2.55vw, 38px) !important;
  line-height:1.22 !important;
  font-weight:600 !important;
  text-wrap:balance !important;
}
.hero-intro{
  max-width:655px !important;
  margin:16px 0 0 !important;
  color:#ded3ca !important;
  font-size:15.5px !important;
  line-height:1.7 !important;
}
.hero-actions{
  margin-top:24px !important;
  gap:14px !important;
}
.hero-actions .btn{
  min-height:52px !important;
  padding:0 28px !important;
  border-radius:999px !important;
  font-size:13px !important;
  letter-spacing:.08em !important;
}
.hero-actions .btn.redbtn{
  background:linear-gradient(135deg,#ff315b 0%,#e90f3a 48%,#9d071f 100%) !important;
  box-shadow:0 16px 38px rgba(255,33,76,.26) !important;
}
.hero-actions .btn.ghost{
  background:rgba(0,0,0,.22) !important;
  border-color:rgba(255,255,255,.26) !important;
}
.pro-hero-visual{
  position:relative !important;
  align-self:stretch !important;
  min-height:clamp(540px, 72vh, 690px) !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  overflow:visible !important;
}
.pro-hero-visual.has-transparent .pro-hero-plate{display:none !important;}
.pro-hero-visual.has-transparent img{
  position:absolute !important;
  z-index:2 !important;
  right:clamp(-42px,-2.6vw,-12px) !important;
  bottom:-82px !important;
  width:min(126%, 660px) !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:right bottom !important;
  transform:none !important;
  filter:drop-shadow(0 36px 58px rgba(0,0,0,.72)) drop-shadow(0 0 28px rgba(255,33,76,.18)) !important;
}
.pro-hero-visual:before{
  content:"";
  position:absolute;
  z-index:1;
  right:-12%;
  bottom:2%;
  width:72%;
  height:82%;
  background:radial-gradient(circle at 55% 35%,rgba(255,33,76,.22),transparent 58%);
  pointer-events:none;
}
.pro-hero-badge{
  z-index:4 !important;
  right:-4px !important;
  bottom:20px !important;
  width:244px !important;
  min-height:62px !important;
  padding:17px 22px !important;
  border-radius:22px 22px 0 0 !important;
  background:linear-gradient(180deg,rgba(18,18,22,.92),rgba(4,4,6,.88)) !important;
  border:1px solid rgba(255,39,77,.42) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.52), 0 0 40px rgba(255,39,77,.10) !important;
}
.pro-hero-badge strong{
  font-size:15px !important;
  letter-spacing:.13em !important;
}
.pro-hero-badge span{
  display:none !important;
}

@media (min-width:1280px){
  .home-hero.pro-hero{min-height:660px !important;max-height:700px !important;}
  .pro-hero-visual.has-transparent img{width:min(128%, 705px) !important;right:-34px !important;bottom:-92px !important;}
}

@media (max-width:1100px){
  .home-hero.pro-hero{
    grid-template-columns:1fr minmax(330px,.74fr) !important;
    min-height:600px !important;
    padding:28px 26px !important;
  }
  .pro-hero-title.informal{font-size:clamp(70px,10vw,120px) !important;}
  .hero-signature{font-size:clamp(23px,2.7vw,32px) !important;}
  .pro-hero-visual.has-transparent img{width:min(128%,560px) !important;right:-62px !important;bottom:-58px !important;}
}

@media (max-width:860px){
  .home-hero.pro-hero{
    grid-template-columns:1fr !important;
    max-height:none !important;
    min-height:auto !important;
    padding:24px 18px 26px !important;
    margin-top:14px !important;
  }
  .pro-hero-copy{order:2 !important;transform:none !important;max-width:none !important;}
  .pro-hero-visual{
    order:1 !important;
    min-height:360px !important;
    justify-content:center !important;
    overflow:hidden !important;
  }
  .pro-hero-visual.has-transparent img{
    right:auto !important;
    left:50% !important;
    bottom:-92px !important;
    width:min(100%,430px) !important;
    transform:translateX(-50%) !important;
  }
  .pro-hero-title.informal{font-size:clamp(64px,23vw,118px) !important;}
  .hero-signature{font-size:clamp(21px,6vw,28px) !important;line-height:1.24 !important;}
  .hero-intro{font-size:15px !important;line-height:1.65 !important;}
  .pro-hero-badge{right:10px !important;bottom:8px !important;width:210px !important;}
}

@media (max-width:520px){
  .hero-actions{display:grid !important;grid-template-columns:1fr !important;}
  .hero-actions .btn{width:100% !important;}
  .hero-sub.manifesto{font-size:11px !important;letter-spacing:.18em !important;}
}

/* =========================================================
   V37 · FOTO ANTERIOR CORREGIDA
   Recupera la foto negra/blazer y ajusta encaje para que no se corte.
   ========================================================= */
.pro-hero-visual.has-transparent img{
  right:clamp(-18px,-1vw,0px) !important;
  bottom:-78px !important;
  width:min(112%, 600px) !important;
  max-width:none !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:right bottom !important;
}
@media (min-width:1280px){
  .pro-hero-visual.has-transparent img{
    width:min(116%, 620px) !important;
    right:-2px !important;
    bottom:-92px !important;
  }
}
@media (max-width:1100px){
  .pro-hero-visual.has-transparent img{
    width:min(118%, 540px) !important;
    right:-18px !important;
    bottom:-72px !important;
  }
}
@media (max-width:860px){
  .pro-hero-visual.has-transparent img{
    width:min(98%, 410px) !important;
    bottom:-56px !important;
    right:auto !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }
}


/* --- V39 DEFINITIVA: HERO NIKO / ROSALES MÁS LEGIBLE --- */
/* Mata los letter-spacing negativos anteriores y deja el nombre potente pero respirado */
.pro-hero-title.informal{
  font-size:clamp(76px, 9.1vw, 148px) !important;
  line-height:.82 !important;
  letter-spacing:.012em !important;
  word-spacing:.02em !important;
  margin:0 0 18px !important;
  text-rendering:geometricPrecision !important;
}

.pro-hero-title.informal .hero-name-top,
.pro-hero-title.informal .hero-name-bottom{
  display:block !important;
  letter-spacing:.012em !important;
  transform:none !important;
}

.pro-hero-title.informal .hero-name-top{
  margin-bottom:12px !important;
  color:#fff !important;
}

.pro-hero-title.informal .hero-name-bottom{
  margin-left:0 !important;
  margin-top:0 !important;
  color:#ff214c !important;
}

/* Un poco más de aire debajo del claim */
.hero-sub.manifesto{
  margin-top:2px !important;
  margin-bottom:20px !important;
}

/* Mantiene el hero compacto sin cortar la foto buena */
.pro-hero-visual.has-transparent img{
  width:min(122%, 650px) !important;
  height:min(88vh, 770px) !important;
  right:-28px !important;
  bottom:-52px !important;
  object-fit:contain !important;
  object-position:center bottom !important;
}

/* Ajuste tablet */
@media (max-width:1100px){
  .pro-hero-title.informal{
    font-size:clamp(68px, 9.4vw, 126px) !important;
    letter-spacing:.01em !important;
  }
  .pro-hero-title.informal .hero-name-top{
    margin-bottom:10px !important;
  }
  .pro-hero-visual.has-transparent img{
    width:min(120%, 580px) !important;
    right:-36px !important;
    bottom:-54px !important;
  }
}

/* Ajuste móvil */
@media (max-width:860px){
  .pro-hero-title.informal{
    font-size:clamp(62px, 21vw, 110px) !important;
    letter-spacing:.006em !important;
    line-height:.86 !important;
  }
  .pro-hero-title.informal .hero-name-top{
    margin-bottom:6px !important;
  }
  .pro-hero-visual.has-transparent img{
    left:50% !important;
    right:auto !important;
    bottom:-88px !important;
    width:min(100%, 430px) !important;
    height:auto !important;
    transform:translateX(-50%) !important;
  }
}


/* --- V40: cantos menos redondos / look más moderno --- */
:root{
  --radius: 18px !important;
}

.site-header{
  border-radius: 18px !important;
}
.brand-mark,
.logo-mark,
.brand-icon,
.brand-badge{
  border-radius: 14px !important;
}

.nav-wrap,
.nav,
.nav a,
.nav-cta,
.menu-toggle,
.whatsapp-mini{
  border-radius: 14px !important;
}

.home-hero.pro-hero,
.pro-hero-badge,
.section-shell,
.home-diary-shell,
.about-editorial-hero,
.about-article-card,
.about-visual-card,
.about-no-photo-hero,
.about-text-card,
.about-mini,
.contract-form,
.contract-side,
.blog-fix-hero,
.blog-feature,
.blog-card,
.blog-article,
.blog-editorial-hero,
.blog-spotlight-card,
.blog-archive-zone,
.blog-editor-card,
.blog-article-pro,
.blog-related-pro,
.album-title-box,
.photo-panel,
.black-panel,
.visual-card,
.number,
.video-card,
.gallery-item,
.site-footer,
.blog-related a{
  border-radius: 18px !important;
}

.btn,
.btn-primary,
.btn-secondary,
.btn-outline,
.hero-actions .btn,
.pro-hero-badge,
.check-pill,
.about-tags span,
.media-tab{
  border-radius: 14px !important;
}

input,select,textarea,
.form-grid input,
.form-grid select,
.form-grid textarea{
  border-radius: 12px !important;
}

.pro-hero-badge{
  border-radius: 16px !important;
}

/* Un poco menos cápsula en el menú activo */
.nav a.active,
.nav .active,
.nav a[aria-current="page"]{
  border-radius: 12px !important;
}

@media (max-width: 860px){
  .site-header,
  .home-hero.pro-hero,
  .about-editorial-hero,
  .about-article-card,
  .about-visual-card,
  .contract-form,
  .contract-side,
  .blog-fix-hero,
  .blog-card,
  .blog-article,
  .site-footer{
    border-radius: 16px !important;
  }
  .btn,
  .nav a,
  .nav-cta,
  .whatsapp-mini,
  .menu-toggle{
    border-radius: 12px !important;
  }
}


/* --- V41: HERO OPACO / sin transparencias raras --- */
.pro-hero-visual.has-transparent,
.pro-hero-visual{
  overflow:visible !important;
}
.pro-hero-visual.has-transparent img{
  opacity:1 !important;
  mix-blend-mode:normal !important;
  isolation:isolate !important;
  filter:drop-shadow(0 26px 46px rgba(0,0,0,.62)) !important;
  image-rendering:auto !important;
}
/* Ajuste de escala y encaje de la nueva foto recortada */
.pro-hero-visual.has-transparent img{
  width:min(122%, 650px) !important;
  height:min(88vh, 760px) !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  transform:none !important;
  right:-18px !important;
  bottom:-16px !important;
}
@media (max-width:1100px){
  .pro-hero-visual.has-transparent img{
    width:min(118%, 570px) !important;
    height:min(80vh, 680px) !important;
    right:-8px !important;
    bottom:-10px !important;
  }
}
@media (max-width:860px){
  .pro-hero-visual.has-transparent img{
    left:50% !important;
    right:auto !important;
    bottom:-6px !important;
    width:min(100%, 430px) !important;
    height:min(62vh, 520px) !important;
    transform:translateX(-50%) !important;
  }
}


/* ===== V42 REBRAND TOTAL / NIKO ROSALES ===== */
:root{
  --bg:#060608;
  --panel:#0b0b0f;
  --panel-2:#0f1014;
  --line:rgba(255,255,255,.08);
  --line-red:rgba(255,36,78,.55);
  --red:#ff214c;
  --red-2:#e2123f;
  --soft:#a9a0a7;
  --text:#f4f1ee;
  --wrap:min(1560px, calc(100vw - 48px));
  --radius:0px;
}
body.nr-body{
  background:
    radial-gradient(circle at top center, rgba(255,33,76,.15), transparent 26%),
    radial-gradient(circle at 78% 22%, rgba(255,33,76,.16), transparent 24%),
    linear-gradient(180deg,#060608 0%,#030305 100%);
  color:var(--text);
}
main{overflow:hidden}
.nr-site-header{
  width:var(--wrap);
  margin:18px auto 0;
  padding:12px 18px;
  min-height:92px;
  border:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,36,78,.35);
  background:linear-gradient(180deg, rgba(10,10,14,.96), rgba(7,7,10,.96));
  border-radius:28px;
  box-shadow:0 14px 40px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.03);
}
.nr-brand{gap:14px;min-width:auto}
.nr-brand-mark{
  width:54px;height:68px;border-radius:0;
  border:1px solid rgba(255,36,78,.6);
  background:linear-gradient(180deg,rgba(255,36,78,.08),rgba(0,0,0,.18));
  color:var(--red);font-size:31px;letter-spacing:-.06em;font-weight:900;
}
.nr-brand-text strong{font-size:21px;letter-spacing:.22em;color:#f7f3ef}
.nr-brand-text small{display:block;margin-top:8px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.38em;text-transform:uppercase}
.nr-nav-wrap{gap:18px}
.nr-nav{display:flex !important;position:static;background:transparent;border:0;box-shadow:none;padding:0;gap:34px}
.nr-nav a{
  position:relative;
  height:auto;min-height:auto;padding:8px 0;
  border-radius:0;border:0;background:transparent;
  color:#f4eff0;font-size:16px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
}
.nr-nav a.active,.nr-nav a[aria-current="page"]{color:var(--red)}
.nr-nav a.active::after,.nr-nav a[aria-current="page"]::after{
  content:'';position:absolute;left:0;right:0;bottom:-8px;height:3px;background:var(--red);
}
.nr-header-actions{gap:18px}
.nr-whatsapp-mini{
  width:62px;height:62px;border-radius:0;border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.24);
}
.nr-whatsapp-mini svg{fill:#fff}
.nr-nav-cta{
  min-height:62px;padding:0 34px;border-radius:0;
  border:1px solid rgba(255,36,78,.72);
  background:linear-gradient(180deg,#ff214c,#d90d38);
  font-size:16px;font-weight:900;letter-spacing:.12em;
}
.nr-menu-toggle{display:none}

.nr-hero-home{
  position:relative;
  width:var(--wrap);
  min-height:840px;
  margin:18px auto 0;
  padding:58px 42px 42px;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(420px,.72fr);
  gap:28px;
  border-top:1px solid rgba(255,36,78,.4);
  border-left:1px solid rgba(255,255,255,.05);
  background:
    linear-gradient(90deg, rgba(6,6,8,.98) 0%, rgba(7,7,10,.92) 46%, rgba(9,0,6,.9) 100%),
    linear-gradient(180deg, rgba(255,33,76,.06), transparent 42%),
    #07070a;
}
.nr-hero-home::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 73% 40%, rgba(255,33,76,.34), transparent 28%);
  pointer-events:none;
}
.nr-hero-collage{
  position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:14px;
  padding:24px;opacity:.16;filter:grayscale(1) contrast(1.08) brightness(.75);pointer-events:none;overflow:hidden;
}
.nr-hero-collage span{display:block;overflow:hidden;background:#09090b}
.nr-hero-collage img{width:100%;height:100%;object-fit:cover}
.nr-hero-copy,.nr-hero-visual{position:relative;z-index:2}
.nr-hero-copy{align-self:end;max-width:700px;padding-bottom:14px}
.nr-hero-home .kicker{margin-bottom:16px;color:#ffb3c0;font-size:16px;font-weight:900;letter-spacing:.30em;text-transform:uppercase}
.nr-hero-title{margin:0;font-size:clamp(128px,12vw,244px);line-height:.78;letter-spacing:-.055em;text-transform:uppercase}
.nr-hero-title span{display:block;color:#f0edea;font-weight:900}
.nr-hero-title .red{color:var(--red);text-shadow:0 0 34px rgba(255,33,76,.22)}
.nr-hero-line{
  display:flex;align-items:center;gap:18px;margin:22px 0 28px;
  color:#f0edea;font-size:18px;font-weight:900;letter-spacing:.28em;text-transform:uppercase;
}
.nr-hero-line span{display:block;flex:1;height:3px;max-width:48px;background:var(--red)}
.nr-hero-signature{
  max-width:720px;margin-bottom:22px;color:#f2ece8;
  font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,4.2vw,64px);line-height:1.1;font-weight:700;
}
.nr-hero-intro{max-width:700px;margin-top:0;font-size:20px;line-height:1.6;color:#d2c7ca}
.nr-hero-actions{margin-top:34px;gap:28px}
.nr-hero-actions .btn{min-height:74px;padding:0 40px;border-radius:0;font-size:17px;letter-spacing:.16em}
.nr-hero-actions .ghost{border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.2)}
.nr-hero-visual{
  min-height:740px;display:flex;align-items:flex-end;justify-content:flex-end;overflow:visible;
}
.nr-hero-visual img{
  position:relative;z-index:3;width:min(92%,720px);height:min(92vh,820px);object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 26px 48px rgba(0,0,0,.58));
}
.nr-hero-geo{
  position:absolute;right:126px;bottom:44px;width:520px;height:640px;z-index:1;
  border:1px solid rgba(255,255,255,.18);
  background:
    linear-gradient(135deg, rgba(255,33,76,.28), rgba(255,33,76,.03));
  clip-path:polygon(10% 0, 100% 0, 100% 85%, 76% 85%, 76% 100%, 0 100%, 0 14%);
}
.nr-hero-geo::before,.nr-hero-geo::after{
  content:'';position:absolute;border:1px solid rgba(255,36,78,.5)
}
.nr-hero-geo::before{inset:56px 70px auto 70px;height:0}
.nr-hero-geo::after{left:60px;right:160px;top:86px;height:0}
.nr-hero-vertical{
  position:absolute;right:14px;top:132px;z-index:4;
  width:90px;height:392px;border:1px solid rgba(255,36,78,.6);background:rgba(7,7,10,.84);
  writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);
  display:flex;align-items:center;justify-content:center;padding:16px 0;
  font-size:17px;font-weight:700;letter-spacing:.18em;color:#f4eeee;text-transform:uppercase;
}
.nr-hero-vertical::before{content:'★';position:absolute;top:14px;left:50%;transform:translateX(-50%) rotate(180deg);color:var(--red);font-size:24px}
.nr-hero-tourbox{
  position:absolute;right:26px;bottom:24px;z-index:4;width:192px;padding:24px 22px 26px;
  border:1px solid rgba(255,36,78,.6);background:rgba(7,7,10,.96)
}
.nr-hero-tourbox span{display:block;color:var(--red);font-size:28px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.nr-hero-tourbox strong{display:block;margin-top:10px;color:#efebe8;font-size:54px;line-height:.92;letter-spacing:-.04em}

.nr-section-split,.nr-diary-showcase,.nr-card-grid,.nr-section-head{position:relative;z-index:2}
.nr-photo-panel,.nr-black-panel,.nr-visual-card,.nr-diary-shell,.nr-diary-card,.nr-footer{
  border-radius:0 !important;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:none !important;
}
.nr-black-panel,.nr-diary-shell{background:linear-gradient(180deg, rgba(11,11,15,.96), rgba(8,8,11,.96))}
.nr-photo-panel{overflow:hidden}
.nr-photo-panel h2,.nr-black-panel h2,.nr-diary-head h2{letter-spacing:-.04em}
.nr-visual-card img,.nr-photo-panel img{filter:saturate(.9) contrast(1.03)}
.nr-visual-card .label,.diary-chip{border-radius:0;background:rgba(255,33,76,.14);border:1px solid rgba(255,36,78,.35);color:#fff}
.nr-visual-card a,.home-diary-readmore{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,36,78,.5);padding-bottom:4px}
.nr-diary-shell{padding:42px 34px}
.nr-diary-card{background:rgba(255,255,255,.03)}

.nr-footer{
  width:var(--wrap);margin:0 auto 46px;padding:34px 28px;background:#07070a;
  border-top:1px solid rgba(255,36,78,.52)
}
.nr-footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr .9fr;gap:24px;align-items:start}
.nr-footer-brand{display:flex;gap:18px;align-items:flex-start}
.nr-footer-mark{
  display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:72px;
  border:1px solid rgba(255,36,78,.65);color:var(--red);font-size:30px;font-weight:900;letter-spacing:-.06em
}
.nr-footer-brand strong{display:block;color:#fff;font-size:24px;letter-spacing:.15em}
.nr-footer-brand p{margin:10px 0 0;color:#bfb3b8;line-height:1.6}
.nr-footer .footer-col h4{margin:0 0 18px;color:var(--red);font-size:13px;letter-spacing:.28em}
.nr-footer .footer-col a,.nr-footer .footer-note{display:block;margin:0 0 10px;color:#ece6e8;text-decoration:none}

@media (max-width:1200px){
  .nr-site-header{padding:12px 14px}.nr-nav{gap:20px}.nr-nav a{font-size:14px}
  .nr-hero-home{grid-template-columns:1fr;min-height:auto;padding:34px 28px 38px}
  .nr-hero-copy{order:2;max-width:none}
  .nr-hero-visual{order:1;min-height:620px;justify-content:center}
  .nr-hero-visual img{width:min(100%,650px)}
  .nr-hero-geo{right:50%;transform:translateX(42%)}
  .nr-hero-vertical{right:18px;top:94px;height:330px}
  .nr-hero-tourbox{right:22px;bottom:18px}
  .nr-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  :root{--wrap:calc(100vw - 24px)}
  .nr-site-header{min-height:74px;border-radius:18px;padding:12px}
  .nr-brand-mark{width:42px;height:52px;font-size:23px}.nr-brand-text strong{font-size:15px;letter-spacing:.12em}.nr-brand-text small{font-size:9px;letter-spacing:.2em}
  .nr-nav{display:none !important;position:absolute;left:12px;right:12px;top:82px;background:#09090c;border:1px solid rgba(255,255,255,.08);padding:16px;flex-direction:column;gap:8px}
  .nr-nav.open{display:flex !important}
  .nr-nav a.active::after,.nr-nav a[aria-current="page"]::after{display:none}
  .nr-menu-toggle{display:grid;place-items:center;width:54px;height:54px;background:transparent;border:1px solid rgba(255,255,255,.14)}
  .nr-menu-toggle span{display:block;width:22px;height:2px;background:#fff;margin:3px auto}
  .nr-nav-cta{min-height:54px;padding:0 18px;font-size:13px}
  .nr-whatsapp-mini{width:54px;height:54px}
  .nr-hero-home{margin-top:14px;padding:22px 18px 24px}
  .nr-hero-collage{grid-template-columns:repeat(2,1fr);grid-auto-rows:110px;padding:16px;opacity:.11}
  .nr-hero-title{font-size:clamp(74px,22vw,124px)}
  .nr-hero-line{font-size:11px;letter-spacing:.16em;gap:10px}.nr-hero-line span{max-width:22px;height:2px}
  .nr-hero-signature{font-size:clamp(26px,8vw,40px)}
  .nr-hero-intro{font-size:16px}
  .nr-hero-actions{gap:14px;display:grid;grid-template-columns:1fr}
  .nr-hero-actions .btn{width:100%;min-height:58px;padding:0 18px;font-size:13px}
  .nr-hero-visual{min-height:420px;justify-content:center}
  .nr-hero-visual img{width:min(100%,420px);height:min(60vh,500px)}
  .nr-hero-geo{width:290px;height:360px;right:50%;bottom:18px;transform:translateX(50%)}
  .nr-hero-vertical{display:none}
  .nr-hero-tourbox{width:138px;padding:16px 14px;right:8px}.nr-hero-tourbox span{font-size:18px}.nr-hero-tourbox strong{font-size:34px}
  .nr-footer-grid{grid-template-columns:1fr}
}


/* ===== V43: acercar al mockup aprobado de verdad ===== */
/* Corrección fuerte: foto grande, bloque derecho protagonista y composición editorial */

.nr-site-header{
  min-height:82px !important;
  padding:10px 20px !important;
  border-radius:0 !important;
  margin-top:14px !important;
  background:rgba(7,7,10,.94) !important;
}

.nr-brand-mark{
  width:48px !important;
  height:58px !important;
  border-radius:0 !important;
}

.nr-brand-text strong{
  font-size:20px !important;
}

.nr-brand-text small{
  font-size:10px !important;
  line-height:1.15 !important;
  max-width:230px !important;
}

.nr-nav{
  gap:32px !important;
}

.nr-nav a{
  font-size:14px !important;
  letter-spacing:.12em !important;
}

.nr-whatsapp-mini{
  width:54px !important;
  height:54px !important;
}

.nr-nav-cta{
  min-height:54px !important;
  padding:0 30px !important;
  font-size:14px !important;
}

/* HERO principal */
.nr-hero-home{
  min-height:790px !important;
  height:auto !important;
  padding:54px 56px 44px !important;
  grid-template-columns:minmax(0, 47%) minmax(0, 53%) !important;
  gap:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 72% 46%, rgba(255,33,76,.35), transparent 28%),
    linear-gradient(90deg, rgba(5,5,8,.98) 0%, rgba(5,5,8,.94) 42%, rgba(18,0,8,.92) 100%) !important;
}

.nr-hero-home::before{
  background:
    linear-gradient(90deg, rgba(0,0,0,.18), transparent 38%),
    radial-gradient(circle at 72% 48%, rgba(255,33,76,.34), transparent 32%) !important;
}

.nr-hero-collage{
  grid-template-columns:repeat(5, 1fr) !important;
  grid-auto-rows:150px !important;
  gap:12px !important;
  padding:18px 28px !important;
  opacity:.18 !important;
  filter:grayscale(1) contrast(1.2) brightness(.72) !important;
}

/* Bloque izquierdo */
.nr-hero-copy{
  align-self:end !important;
  max-width:680px !important;
  padding-bottom:0 !important;
  z-index:6 !important;
}

.nr-hero-home .kicker{
  margin-bottom:18px !important;
  color:#ffb3c0 !important;
  font-size:15px !important;
  letter-spacing:.34em !important;
}

.nr-hero-title{
  font-size:clamp(104px, 10.8vw, 198px) !important;
  line-height:.76 !important;
  letter-spacing:-.05em !important;
  margin:0 !important;
  max-width:680px !important;
}

.nr-hero-title span{
  text-shadow:0 22px 55px rgba(0,0,0,.42) !important;
}

.nr-hero-title .red{
  color:#ff214c !important;
  text-shadow:0 12px 38px rgba(255,33,76,.2) !important;
}

.nr-hero-line{
  margin:20px 0 34px !important;
  gap:18px !important;
  font-size:17px !important;
  letter-spacing:.26em !important;
}

.nr-hero-line span{
  max-width:42px !important;
}

.nr-hero-signature{
  max-width:650px !important;
  font-size:clamp(34px, 3.1vw, 50px) !important;
  line-height:1.12 !important;
  margin-bottom:24px !important;
}

.nr-hero-intro{
  max-width:670px !important;
  font-size:17px !important;
  line-height:1.6 !important;
  color:#ddd4d5 !important;
}

.nr-hero-actions{
  margin-top:34px !important;
}

.nr-hero-actions .btn{
  min-height:62px !important;
  padding:0 34px !important;
  border-radius:0 !important;
  font-size:14px !important;
  letter-spacing:.18em !important;
}

/* Bloque derecho: aquí estaba el desastre */
.nr-hero-visual{
  position:relative !important;
  min-height:690px !important;
  align-self:stretch !important;
  display:block !important;
  overflow:visible !important;
  z-index:4 !important;
}

/* Marco geométrico grande detrás */
.nr-hero-geo{
  position:absolute !important;
  z-index:1 !important;
  right:110px !important;
  bottom:18px !important;
  width:min(58vw, 600px) !important;
  height:620px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:
    linear-gradient(135deg, rgba(255,33,76,.28), rgba(255,33,76,.05) 58%, rgba(0,0,0,.14)) !important;
  clip-path:polygon(8% 0, 100% 0, 100% 84%, 78% 84%, 78% 100%, 0 100%, 0 14%) !important;
}

/* Foto grande y opaca */
.nr-hero-visual img{
  position:absolute !important;
  z-index:3 !important;
  right:160px !important;
  bottom:-2px !important;
  width:min(46vw, 650px) !important;
  height:auto !important;
  max-height:760px !important;
  object-fit:contain !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  filter:drop-shadow(0 30px 58px rgba(0,0,0,.68)) !important;
}

/* Vertical derecha */
.nr-hero-vertical{
  position:absolute !important;
  z-index:5 !important;
  right:22px !important;
  top:110px !important;
  height:360px !important;
  width:66px !important;
  border:1px solid rgba(255,36,78,.75) !important;
  background:rgba(4,4,7,.84) !important;
  font-size:13px !important;
  letter-spacing:.22em !important;
}

/* Gira box más parecido al mockup */
.nr-hero-tourbox{
  position:absolute !important;
  z-index:6 !important;
  right:26px !important;
  bottom:24px !important;
  width:174px !important;
  padding:24px 20px 26px !important;
  border:1px solid rgba(255,36,78,.72) !important;
  background:rgba(6,6,9,.97) !important;
}

.nr-hero-tourbox span{
  font-size:26px !important;
  color:#ff214c !important;
}

.nr-hero-tourbox strong{
  font-size:50px !important;
  line-height:.92 !important;
}

/* Secciones posteriores, menos mazacote */
.nr-section-split{
  margin-top:36px !important;
}

.nr-photo-panel,
.nr-black-panel,
.nr-visual-card,
.nr-diary-shell,
.nr-diary-card,
.nr-footer{
  border-radius:0 !important;
}

/* Responsive: conservar diseño decente */
@media (max-width:1200px){
  .nr-hero-home{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    padding:36px 30px 42px !important;
  }
  .nr-hero-copy{order:2 !important;max-width:none !important;}
  .nr-hero-visual{
    order:1 !important;
    min-height:620px !important;
  }
  .nr-hero-geo{
    right:50% !important;
    bottom:18px !important;
    width:min(76vw, 620px) !important;
    transform:translateX(44%) !important;
  }
  .nr-hero-visual img{
    right:50% !important;
    bottom:0 !important;
    width:min(72vw, 610px) !important;
    transform:translateX(44%) !important;
  }
  .nr-hero-vertical{right:24px !important;top:90px !important;}
  .nr-hero-tourbox{right:24px !important;bottom:24px !important;}
}

@media (max-width:860px){
  .nr-site-header{
    width:calc(100vw - 20px) !important;
    border-radius:16px !important;
  }
  .nr-hero-home{
    width:calc(100vw - 20px) !important;
    padding:24px 18px 30px !important;
    margin-top:14px !important;
  }
  .nr-hero-visual{
    min-height:430px !important;
  }
  .nr-hero-geo{
    width:330px !important;
    height:380px !important;
    right:50% !important;
    transform:translateX(50%) !important;
  }
  .nr-hero-visual img{
    width:min(92vw, 390px) !important;
    right:50% !important;
    transform:translateX(50%) !important;
  }
  .nr-hero-vertical{display:none !important;}
  .nr-hero-tourbox{
    right:8px !important;
    bottom:8px !important;
    width:138px !important;
    padding:16px 14px !important;
  }
  .nr-hero-tourbox span{font-size:18px !important;}
  .nr-hero-tourbox strong{font-size:34px !important;}
  .nr-hero-title{
    font-size:clamp(70px, 21vw, 112px) !important;
  }
  .nr-hero-signature{
    font-size:clamp(27px, 7.8vw, 39px) !important;
  }
}


/* ===== V44 DISEÑO REFERENCIA APROBADA ===== */
/* Objetivo: clavar el look del mockup pasado por el usuario */
:root{
  --wrap:min(1680px, calc(100vw - 30px)) !important;
  --red:#ff1f4b !important;
  --red-dark:#c40a30 !important;
}
body.nr-body{
  background:
    linear-gradient(180deg,#050507 0%,#050507 100%) !important;
}
.nr-site-header{
  width:var(--wrap) !important;
  margin:10px auto 0 !important;
  min-height:76px !important;
  padding:10px 16px !important;
  border:1px solid rgba(255,255,255,.06) !important;
  border-bottom:1px solid rgba(255,31,75,.42) !important;
  border-radius:0 !important;
  background:#07070a !important;
  box-shadow:none !important;
}
.nr-brand{gap:14px !important;}
.nr-brand-mark{
  width:44px !important;height:52px !important;border-radius:0 !important;
  border:1px solid rgba(255,31,75,.7) !important;
  background:#0a0a0d !important;
  color:var(--red) !important;font-size:25px !important;
}
.nr-brand-text strong{
  font-size:18px !important;
  line-height:1 !important;
  letter-spacing:.20em !important;
}
.nr-brand-text small{
  margin-top:6px !important;
  font-size:10px !important;
  letter-spacing:.34em !important;
  color:var(--red) !important;
}
.nr-nav{gap:28px !important;}
.nr-nav a{
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}
.nr-nav a.active,.nr-nav a[aria-current="page"]{color:var(--red) !important;}
.nr-nav a.active::after,.nr-nav a[aria-current="page"]::after{bottom:-10px !important;height:3px !important;}
.nr-whatsapp-mini{width:48px !important;height:48px !important;border-radius:0 !important;}
.nr-nav-cta{
  min-height:48px !important;
  padding:0 28px !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,var(--red),#dd123d) !important;
  border:0 !important;
  font-size:14px !important;
  letter-spacing:.08em !important;
}

.nr-hero-home{
  width:var(--wrap) !important;
  margin:16px auto 0 !important;
  min-height:910px !important;
  padding:48px 48px 40px !important;
  grid-template-columns:minmax(0,53%) minmax(0,47%) !important;
  gap:0 !important;
  border:1px solid rgba(255,31,75,.12) !important;
  border-top:1px solid rgba(255,31,75,.45) !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:
    linear-gradient(90deg, rgba(5,5,8,.99) 0%, rgba(6,6,9,.97) 47%, rgba(17,0,8,.96) 100%) !important;
}
.nr-hero-home::before{
  content:'' !important;position:absolute;inset:0 !important;
  background:
    radial-gradient(circle at 76% 44%, rgba(255,31,75,.28), transparent 25%),
    linear-gradient(90deg, transparent 52%, rgba(255,31,75,.06) 100%) !important;
  pointer-events:none !important;
}
.nr-hero-collage{
  inset:0 !important;
  padding:20px 22px !important;
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  grid-auto-rows:146px !important;
  gap:10px !important;
  opacity:.15 !important;
  filter:grayscale(1) contrast(1.18) brightness(.64) !important;
}
.nr-hero-copy{
  align-self:end !important;
  max-width:720px !important;
  padding-bottom:8px !important;
  z-index:5 !important;
}
.nr-hero-home .kicker{
  margin-bottom:18px !important;
  color:#ffbec9 !important;
  font-size:14px !important;
  letter-spacing:.34em !important;
}
.nr-hero-title{
  font-size:clamp(126px,11vw,214px) !important;
  line-height:.78 !important;
  letter-spacing:-.06em !important;
  margin:0 0 2px !important;
  text-transform:uppercase !important;
}
.nr-hero-title span{
  display:block !important;
  font-weight:900 !important;
}
.nr-hero-title span:first-child{
  color:#efebe7 !important;
}
.nr-hero-title .red{
  color:var(--red) !important;
}
.nr-hero-line{
  justify-content:flex-start !important;
  gap:16px !important;
  margin:20px 0 28px !important;
  font-size:16px !important;
  font-weight:900 !important;
  letter-spacing:.22em !important;
}
.nr-hero-line span{max-width:42px !important;height:3px !important;}
.nr-hero-signature{
  max-width:640px !important;
  margin-bottom:20px !important;
  color:#f5efea !important;
  font-family:Georgia, 'Times New Roman', serif !important;
  font-size:clamp(38px,4vw,62px) !important;
  line-height:1.08 !important;
  letter-spacing:-.03em !important;
}
.nr-hero-intro{
  max-width:680px !important;
  margin:0 !important;
  color:#ddd0d4 !important;
  font-size:17px !important;
  line-height:1.58 !important;
}
.nr-hero-actions{margin-top:30px !important;gap:22px !important;}
.nr-hero-actions .btn{
  min-height:56px !important;
  padding:0 28px !important;
  border-radius:0 !important;
  font-size:14px !important;
  letter-spacing:.10em !important;
  font-weight:900 !important;
}
.nr-hero-actions .redbtn{box-shadow:0 0 32px rgba(255,31,75,.16) !important;}
.nr-hero-actions .ghost{background:rgba(0,0,0,.12) !important;border:1px solid rgba(255,255,255,.18) !important;}

.nr-hero-visual{
  min-height:760px !important;
  position:relative !important;
  display:block !important;
  z-index:4 !important;
}
.nr-hero-geo{
  position:absolute !important;
  right:110px !important;
  bottom:54px !important;
  width:530px !important;
  height:590px !important;
  z-index:1 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:
    linear-gradient(180deg, rgba(255,31,75,.18), rgba(255,31,75,.08)),
    radial-gradient(circle at 50% 20%, rgba(255,31,75,.22), transparent 56%) !important;
  clip-path:polygon(10% 0,100% 0,100% 100%,0 100%,0 18%) !important;
}
.nr-hero-geo::before,
.nr-hero-geo::after{
  content:'' !important;
  position:absolute !important;
  left:42px !important;
  right:78px !important;
  border-top:2px solid rgba(255,31,75,.55) !important;
}
.nr-hero-geo::before{top:48px !important;}
.nr-hero-geo::after{top:74px !important;right:132px !important;}
.nr-hero-visual img{
  position:absolute !important;
  z-index:3 !important;
  right:128px !important;
  bottom:42px !important;
  width:min(46vw,560px) !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:drop-shadow(0 28px 55px rgba(0,0,0,.62)) !important;
}
.nr-hero-vertical{
  position:absolute !important;
  z-index:4 !important;
  right:24px !important;
  top:142px !important;
  width:58px !important;
  height:318px !important;
  border:1px solid rgba(255,31,75,.8) !important;
  background:#07070a !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.24em !important;
}
.nr-hero-vertical::before{font-size:18px !important;top:12px !important;}
.nr-hero-tourbox{
  position:absolute !important;
  right:28px !important;
  bottom:60px !important;
  z-index:5 !important;
  width:164px !important;
  padding:20px 14px 18px !important;
  border:1px solid rgba(255,31,75,.8) !important;
  background:#09090c !important;
}
.nr-hero-tourbox span{
  display:block !important;
  margin-bottom:8px !important;
  font-size:20px !important;
  color:var(--red) !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
}
.nr-hero-tourbox strong{
  display:block !important;
  color:#f1ece8 !important;
  font-size:34px !important;
  line-height:.96 !important;
  letter-spacing:-.04em !important;
}

/* Sección siguiente algo más parecida al look aprobado */
.nr-section-split{margin-top:22px !important;gap:12px !important;}
.nr-photo-panel,.nr-black-panel{
  border-radius:0 !important;
  border:1px solid rgba(255,255,255,.06) !important;
}
.nr-photo-panel img{height:100% !important;object-fit:cover !important;}
.nr-black-panel{background:#08080b !important;}

.nr-footer{
  width:var(--wrap) !important;
  border-radius:0 !important;
}

@media (max-width:1200px){
  .nr-hero-home{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    padding:32px 24px 30px !important;
  }
  .nr-hero-copy{order:2 !important;max-width:none !important;}
  .nr-hero-visual{order:1 !important;min-height:560px !important;}
  .nr-hero-geo{right:50% !important;transform:translateX(42%) !important;bottom:20px !important;width:min(82vw,530px) !important;height:520px !important;}
  .nr-hero-visual img{right:50% !important;transform:translateX(42%) !important;bottom:20px !important;width:min(72vw,480px) !important;}
  .nr-hero-tourbox{bottom:16px !important;right:16px !important;}
  .nr-hero-vertical{top:88px !important;right:16px !important;height:280px !important;}
}
@media (max-width:860px){
  :root{--wrap:calc(100vw - 16px) !important;}
  .nr-site-header{padding:10px 12px !important;border-radius:12px !important;}
  .nr-nav{display:none !important;position:absolute !important;top:72px !important;left:10px !important;right:10px !important;background:#0a0a0d !important;padding:12px !important;border:1px solid rgba(255,255,255,.08) !important;}
  .nr-nav.open{display:flex !important;flex-direction:column !important;gap:8px !important;}
  .nr-menu-toggle{display:grid !important;border:1px solid rgba(255,255,255,.14) !important;border-radius:0 !important;}
  .nr-whatsapp-mini{width:44px !important;height:44px !important;}
  .nr-nav-cta{min-height:44px !important;padding:0 16px !important;}
  .nr-hero-home{padding:22px 16px 24px !important;min-height:auto !important;}
  .nr-hero-collage{grid-template-columns:repeat(3,1fr) !important;grid-auto-rows:92px !important;opacity:.12 !important;}
  .nr-hero-title{font-size:clamp(74px,20vw,112px) !important;}
  .nr-hero-line{font-size:10px !important;gap:10px !important;letter-spacing:.15em !important;}
  .nr-hero-line span{max-width:20px !important;height:2px !important;}
  .nr-hero-signature{font-size:clamp(28px,7vw,40px) !important;}
  .nr-hero-intro{font-size:15px !important;}
  .nr-hero-actions{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
  .nr-hero-actions .btn{width:100% !important;min-height:50px !important;}
  .nr-hero-visual{min-height:400px !important;}
  .nr-hero-geo{width:310px !important;height:330px !important;right:50% !important;bottom:10px !important;transform:translateX(50%) !important;}
  .nr-hero-visual img{width:min(82vw,320px) !important;right:50% !important;bottom:10px !important;transform:translateX(50%) !important;}
  .nr-hero-vertical{display:none !important;}
  .nr-hero-tourbox{right:6px !important;bottom:6px !important;width:118px !important;padding:14px 10px !important;}
  .nr-hero-tourbox span{font-size:16px !important;}
  .nr-hero-tourbox strong{font-size:24px !important;}
}


/* ===== V45 CLAVADO A REFERENCIA ===== */
:root{
  --wrap:min(1690px, calc(100vw - 18px)) !important;
  --red:#ff1e4a !important;
}
body.nr-body{background:#050507 !important;}
.nr-site-header{
  margin:8px auto 0 !important;
  min-height:74px !important;
  padding:8px 18px !important;
  background:linear-gradient(180deg, rgba(7,7,10,.98), rgba(5,5,8,.98)) !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,30,74,.38) !important;
}
.nr-brand-mark{
  width:62px !important;
  height:74px !important;
  font-size:34px !important;
  border-width:2px !important;
}
.nr-brand-text strong{font-size:26px !important;letter-spacing:.22em !important;}
.nr-brand-text small{font-size:13px !important;letter-spacing:.34em !important;margin-top:8px !important;}
.nr-nav{gap:36px !important;}
.nr-nav a{font-size:17px !important;letter-spacing:.08em !important;}
.nr-whatsapp-mini{width:58px !important;height:58px !important;}
.nr-nav-cta{min-height:58px !important;padding:0 34px !important;font-size:17px !important;}

.nr-hero-home{
  margin:16px auto 0 !important;
  min-height:966px !important;
  padding:56px 56px 40px !important;
  grid-template-columns:minmax(0,50.5%) minmax(0,49.5%) !important;
  background:
    linear-gradient(90deg, rgba(4,4,6,.99) 0%, rgba(6,6,9,.98) 48%, rgba(13,0,7,.97) 100%) !important;
}
.nr-hero-collage{
  grid-template-columns:repeat(5,1fr) !important;
  grid-auto-rows:156px !important;
  gap:10px !important;
  opacity:.17 !important;
  filter:grayscale(1) contrast(1.18) brightness(.66) !important;
}
.nr-hero-copy{max-width:760px !important;align-self:end !important;padding-bottom:10px !important;}
.nr-hero-home .kicker{font-size:15px !important;letter-spacing:.38em !important;margin-bottom:16px !important;}
.nr-hero-title{
  font-size:clamp(134px, 10.8vw, 226px) !important;
  line-height:.76 !important;
  letter-spacing:-.075em !important;
}
.nr-hero-title span:first-child{
  color:#ece7e1 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.08), 0 0 1px rgba(255,255,255,.3) !important;
}
.nr-hero-title .red{
  color:#ff1e4a !important;
  text-shadow:0 0 22px rgba(255,30,74,.18) !important;
}
.nr-hero-line{
  margin:22px 0 34px !important;
  font-size:17px !important;
  letter-spacing:.24em !important;
}
.nr-hero-signature{
  max-width:620px !important;
  font-size:clamp(34px, 3.7vw, 60px) !important;
  line-height:1.08 !important;
  margin-bottom:18px !important;
}
.nr-hero-intro{max-width:640px !important;font-size:18px !important;line-height:1.62 !important;}
.nr-hero-actions{margin-top:34px !important;gap:24px !important;}
.nr-hero-actions .btn{min-height:60px !important;padding:0 30px !important;font-size:15px !important;}

.nr-hero-visual{min-height:790px !important;}
.nr-hero-geo{
  right:118px !important;
  bottom:48px !important;
  width:560px !important;
  height:670px !important;
  clip-path:polygon(16% 0,100% 0,100% 100%,0 100%,0 12%) !important;
  background:
    linear-gradient(180deg, rgba(255,30,74,.15), rgba(255,30,74,.08)),
    radial-gradient(circle at 52% 22%, rgba(255,30,74,.22), transparent 55%) !important;
}
.nr-hero-geo::before,.nr-hero-geo::after{
  left:56px !important;
  right:64px !important;
  border-top:2px solid rgba(255,30,74,.55) !important;
}
.nr-hero-geo::before{top:58px !important;}
.nr-hero-geo::after{top:86px !important;right:140px !important;}
.nr-hero-visual img{
  right:124px !important;
  bottom:0 !important;
  width:min(45vw, 625px) !important;
  max-height:none !important;
}
.nr-hero-vertical{
  right:42px !important;
  top:154px !important;
  width:74px !important;
  height:390px !important;
  font-size:14px !important;
  letter-spacing:.24em !important;
}
.nr-hero-tourbox{
  right:44px !important;
  bottom:58px !important;
  width:188px !important;
  padding:24px 18px 20px !important;
}
.nr-hero-tourbox span{font-size:22px !important;}
.nr-hero-tourbox strong{font-size:46px !important;line-height:.92 !important;}

/* second section a bit tighter like screenshot scale */
.nr-section-split{margin-top:18px !important;gap:10px !important;}

@media (max-width:1200px){
  .nr-brand-mark{width:48px !important;height:58px !important;font-size:28px !important;}
  .nr-brand-text strong{font-size:20px !important;}
  .nr-brand-text small{font-size:10px !important;}
  .nr-nav a{font-size:14px !important;}
  .nr-nav-cta,.nr-whatsapp-mini{min-height:auto !important;height:48px !important;}
  .nr-hero-home{grid-template-columns:1fr !important;min-height:auto !important;padding:34px 26px 30px !important;}
  .nr-hero-copy{order:2 !important;max-width:none !important;}
  .nr-hero-visual{order:1 !important;min-height:610px !important;}
  .nr-hero-geo{right:50% !important;transform:translateX(42%) !important;width:min(84vw,560px) !important;height:560px !important;bottom:16px !important;}
  .nr-hero-visual img{right:50% !important;transform:translateX(42%) !important;width:min(70vw,500px) !important;bottom:0 !important;}
  .nr-hero-vertical{right:18px !important;top:92px !important;height:300px !important;width:62px !important;}
  .nr-hero-tourbox{right:16px !important;bottom:20px !important;}
}
@media (max-width:860px){
  .nr-site-header{border-radius:14px !important;padding:10px 12px !important;}
  .nr-brand-mark{width:42px !important;height:50px !important;font-size:24px !important;}
  .nr-brand-text strong{font-size:15px !important;letter-spacing:.12em !important;}
  .nr-brand-text small{font-size:9px !important;letter-spacing:.18em !important;}
  .nr-nav-cta{height:44px !important;min-height:44px !important;padding:0 16px !important;font-size:12px !important;}
  .nr-whatsapp-mini{width:44px !important;height:44px !important;}
  .nr-hero-home{padding:22px 16px 26px !important;}
  .nr-hero-collage{grid-template-columns:repeat(3,1fr) !important;grid-auto-rows:92px !important;}
  .nr-hero-title{font-size:clamp(78px, 21vw, 116px) !important;}
  .nr-hero-line{font-size:10px !important;letter-spacing:.16em !important;gap:10px !important;}
  .nr-hero-signature{font-size:clamp(28px,7vw,40px) !important;}
  .nr-hero-intro{font-size:15px !important;}
  .nr-hero-visual{min-height:420px !important;}
  .nr-hero-geo{width:310px !important;height:340px !important;right:50% !important;transform:translateX(50%) !important;bottom:10px !important;}
  .nr-hero-visual img{width:min(82vw,326px) !important;right:50% !important;transform:translateX(50%) !important;bottom:0 !important;}
  .nr-hero-tourbox{right:8px !important;bottom:8px !important;width:122px !important;padding:14px 10px !important;}
  .nr-hero-tourbox strong{font-size:28px !important;}
  .nr-hero-vertical{display:none !important;}
}


/* =========================================================
   V46 FRONTEND COMPACTO · ELEGANTE · DIVERTIDO
   Diseño inspirado en el último mockup aprobado
   ========================================================= */

:root{
  --nr-red:#ff1e4a !important;
  --nr-red-dark:#b80728 !important;
  --nr-black:#050507 !important;
  --nr-panel:#08080b !important;
  --nr-text:#f4efea !important;
  --nr-muted:#c9bec2 !important;
  --wrap:min(1688px, calc(100vw - 28px)) !important;
}

body.nr-body{
  background:
    radial-gradient(circle at 72% 36%, rgba(255,30,74,.12), transparent 23%),
    linear-gradient(180deg,#050507 0%,#050507 100%) !important;
  color:var(--nr-text) !important;
}

/* HEADER: más compacto, fino y editorial */
.nr-site-header{
  width:var(--wrap) !important;
  margin:8px auto 0 !important;
  min-height:100px !important;
  padding:14px 28px !important;
  border-radius:0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.15) !important;
  background:rgba(5,5,7,.98) !important;
  box-shadow:none !important;
}

.nr-brand{
  min-width:410px !important;
  gap:28px !important;
}

.nr-brand-mark{
  width:68px !important;
  height:78px !important;
  border:2px solid rgba(255,30,74,.82) !important;
  border-radius:0 !important;
  background:rgba(8,8,11,.92) !important;
  color:var(--nr-red) !important;
  font-size:38px !important;
  font-weight:950 !important;
  letter-spacing:-.08em !important;
  box-shadow:0 0 26px rgba(255,30,74,.08) !important;
}

.nr-brand-text strong{
  display:block !important;
  color:#f6f1ec !important;
  font-size:30px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.25em !important;
}

.nr-brand-text small{
  display:block !important;
  margin-top:11px !important;
  color:var(--nr-red) !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.31em !important;
}

.nr-nav-wrap{
  flex:1 !important;
  gap:28px !important;
}

.nr-nav{
  display:flex !important;
  gap:50px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.nr-nav a{
  position:relative !important;
  padding:12px 0 !important;
  height:auto !important;
  min-height:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#ede8e5 !important;
  font-size:18px !important;
  font-weight:800 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
}

.nr-nav a.active,
.nr-nav a[aria-current="page"]{
  color:var(--nr-red) !important;
}

.nr-nav a.active::after,
.nr-nav a[aria-current="page"]::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-9px !important;
  height:4px !important;
  background:var(--nr-red) !important;
}

.nr-header-actions{
  gap:28px !important;
}

.nr-whatsapp-mini{
  width:64px !important;
  height:64px !important;
  border-radius:0 !important;
  border:1px solid rgba(255,255,255,.2) !important;
  background:rgba(0,0,0,.34) !important;
}

.nr-whatsapp-mini svg{
  fill:#fff !important;
  width:31px !important;
  height:31px !important;
}

.nr-nav-cta{
  min-height:64px !important;
  padding:0 42px !important;
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,#ff254f,#c90630) !important;
  color:#fff !important;
  font-size:18px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  box-shadow:0 0 34px rgba(255,30,74,.14) !important;
}

/* HERO compacto premium */
.nr-hero-home{
  width:var(--wrap) !important;
  margin:0 auto !important;
  min-height:835px !important;
  height:835px !important;
  padding:54px 64px 40px !important;
  display:grid !important;
  grid-template-columns:minmax(0,48.2%) minmax(0,51.8%) !important;
  gap:0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:0 !important;
  background:
    radial-gradient(circle at 70% 52%, rgba(255,30,74,.28), transparent 27%),
    linear-gradient(90deg, rgba(5,5,7,1) 0%, rgba(5,5,7,.98) 47%, rgba(11,0,6,.98) 100%) !important;
}

.nr-hero-home::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.1), transparent 48%, rgba(255,30,74,.05)),
    radial-gradient(circle at 75% 50%, rgba(255,30,74,.22), transparent 28%) !important;
}

.nr-hero-collage{
  position:absolute !important;
  inset:0 !important;
  padding:18px 18px !important;
  display:grid !important;
  grid-template-columns:repeat(6, 1fr) !important;
  grid-auto-rows:135px !important;
  gap:10px !important;
  opacity:.18 !important;
  filter:grayscale(1) contrast(1.25) brightness(.58) !important;
  pointer-events:none !important;
  overflow:hidden !important;
}

.nr-hero-collage span{
  background:#07070a !important;
  overflow:hidden !important;
}

.nr-hero-collage img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* texto izquierdo: grande pero más compacto */
.nr-hero-copy{
  position:relative !important;
  z-index:8 !important;
  align-self:center !important;
  max-width:690px !important;
  padding:0 !important;
}

.nr-hero-home .kicker{
  margin:0 0 20px !important;
  color:#eee8e4 !important;
  font-size:20px !important;
  font-weight:800 !important;
  letter-spacing:.36em !important;
  text-transform:uppercase !important;
}

.nr-hero-home .kicker::first-letter{
  color:#fff !important;
}

.nr-hero-title{
  margin:0 !important;
  font-size:clamp(120px, 10.6vw, 214px) !important;
  line-height:.79 !important;
  letter-spacing:-.07em !important;
  text-transform:uppercase !important;
}

.nr-hero-title span{
  display:block !important;
  font-weight:950 !important;
}

.nr-hero-title span:first-child{
  color:#ece8e2 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.08), inset 0 0 0 #000 !important;
}

.nr-hero-title .red{
  color:var(--nr-red) !important;
  text-shadow:0 20px 50px rgba(255,30,74,.14) !important;
}

.nr-hero-line{
  display:flex !important;
  align-items:center !important;
  gap:20px !important;
  margin:28px 0 25px !important;
  color:#f3efeb !important;
  font-size:20px !important;
  font-weight:850 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
}

.nr-hero-line span{
  display:block !important;
  flex:1 !important;
  max-width:50px !important;
  height:3px !important;
  background:var(--nr-red) !important;
}

.nr-hero-signature{
  max-width:650px !important;
  margin:0 0 20px !important;
  color:#eee8e4 !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:clamp(36px, 3.28vw, 56px) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:700 !important;
}

.nr-hero-intro{
  max-width:660px !important;
  margin:0 !important;
  color:#ddd4d4 !important;
  font-size:19px !important;
  line-height:1.58 !important;
}

.nr-hero-actions{
  margin-top:30px !important;
  gap:28px !important;
}

.nr-hero-actions .btn{
  min-height:60px !important;
  border-radius:0 !important;
  padding:0 38px !important;
  font-size:16px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
}

.nr-hero-actions .redbtn{
  border:1px solid rgba(255,30,74,.9) !important;
  background:linear-gradient(180deg,#f51d47,#bf0629) !important;
  box-shadow:0 18px 42px rgba(255,30,74,.12) !important;
}

.nr-hero-actions .ghost{
  background:rgba(0,0,0,.24) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  color:#fff !important;
}

.nr-hero-actions .ghost::after{
  content:"›";
  color:var(--nr-red);
  font-size:26px;
  margin-left:18px;
}

/* bloque derecho: imagen protagonista, compacto y con chispa */
.nr-hero-visual{
  position:relative !important;
  z-index:6 !important;
  min-height:100% !important;
  height:100% !important;
  display:block !important;
}

.nr-hero-geo{
  position:absolute !important;
  z-index:1 !important;
  right:128px !important;
  top:54px !important;
  width:630px !important;
  height:645px !important;
  border:1px solid rgba(255,30,74,.65) !important;
  background:
    radial-gradient(circle at 48% 45%, rgba(255,30,74,.23), transparent 48%),
    linear-gradient(135deg, rgba(255,30,74,.12), rgba(0,0,0,.04)) !important;
  clip-path:polygon(14% 0, 100% 0, 100% 100%, 0 100%, 0 14%) !important;
}

.nr-hero-geo::before,
.nr-hero-geo::after{
  content:"" !important;
  position:absolute !important;
  border-top:2px solid rgba(255,30,74,.66) !important;
}

.nr-hero-geo::before{
  left:58px !important;
  right:90px !important;
  top:58px !important;
}

.nr-hero-geo::after{
  left:74px !important;
  right:210px !important;
  top:86px !important;
}

.nr-hero-visual img{
  position:absolute !important;
  z-index:3 !important;
  right:160px !important;
  bottom:-2px !important;
  width:min(40vw, 610px) !important;
  height:auto !important;
  max-height:760px !important;
  object-fit:contain !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  filter:
    drop-shadow(0 26px 52px rgba(0,0,0,.72))
    drop-shadow(0 0 30px rgba(255,30,74,.08)) !important;
}

.nr-hero-vertical{
  position:absolute !important;
  z-index:4 !important;
  right:24px !important;
  top:92px !important;
  width:78px !important;
  height:455px !important;
  border:1px solid rgba(255,30,74,.8) !important;
  background:rgba(5,5,8,.86) !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:17px !important;
  font-weight:700 !important;
  letter-spacing:.26em !important;
}

.nr-hero-vertical::before{
  content:"☆" !important;
  position:absolute !important;
  top:22px !important;
  left:50% !important;
  transform:translateX(-50%) rotate(180deg) !important;
  color:var(--nr-red) !important;
  font-size:34px !important;
}

.nr-hero-tourbox{
  position:absolute !important;
  z-index:5 !important;
  right:22px !important;
  bottom:45px !important;
  width:184px !important;
  padding:28px 22px 22px !important;
  border:1px solid rgba(255,30,74,.78) !important;
  background:rgba(6,6,9,.96) !important;
}

.nr-hero-tourbox span{
  display:block !important;
  margin:0 0 12px !important;
  color:var(--nr-red) !important;
  font-size:34px !important;
  font-weight:950 !important;
  letter-spacing:.10em !important;
  line-height:1 !important;
}

.nr-hero-tourbox strong{
  display:block !important;
  color:#ede8e4 !important;
  font-size:50px !important;
  line-height:.95 !important;
  font-weight:950 !important;
  letter-spacing:.02em !important;
}

/* toque divertido sutil */
.nr-hero-home::after{
  content:"";
  position:absolute;
  right:18px;
  bottom:22px;
  width:16px;
  height:46px;
  background:
    linear-gradient(var(--nr-red),var(--nr-red)) 0 0/4px 4px no-repeat,
    linear-gradient(var(--nr-red),var(--nr-red)) 0 16px/4px 4px no-repeat,
    linear-gradient(var(--nr-red),var(--nr-red)) 0 32px/4px 4px no-repeat;
  opacity:.9;
}

/* El resto de la home acompaña la línea */
.nr-section-split,
.nr-diary-showcase,
.section{
  width:var(--wrap) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.nr-photo-panel,
.nr-black-panel,
.nr-visual-card,
.nr-diary-shell,
.nr-diary-card,
.nr-footer{
  border-radius:0 !important;
}

/* RESPONSIVE */
@media (max-width:1320px){
  .nr-site-header{
    min-height:82px !important;
  }
  .nr-brand{min-width:300px !important;gap:16px !important;}
  .nr-brand-mark{width:52px !important;height:62px !important;font-size:28px !important;}
  .nr-brand-text strong{font-size:21px !important;}
  .nr-brand-text small{font-size:10px !important;}
  .nr-nav{gap:22px !important;}
  .nr-nav a{font-size:14px !important;}
  .nr-whatsapp-mini{width:52px !important;height:52px !important;}
  .nr-nav-cta{min-height:52px !important;padding:0 24px !important;font-size:14px !important;}
  .nr-hero-home{
    height:auto !important;
    min-height:760px !important;
    grid-template-columns:48% 52% !important;
    padding:42px 34px 34px !important;
  }
  .nr-hero-title{font-size:clamp(104px,10vw,162px) !important;}
  .nr-hero-home .kicker{font-size:15px !important;}
  .nr-hero-line{font-size:15px !important;}
  .nr-hero-signature{font-size:clamp(30px,3.4vw,46px) !important;}
  .nr-hero-intro{font-size:16px !important;}
  .nr-hero-visual img{right:128px !important;width:min(40vw,500px) !important;}
  .nr-hero-geo{right:100px !important;width:500px !important;height:560px !important;}
  .nr-hero-vertical{width:64px !important;height:360px !important;font-size:13px !important;}
  .nr-hero-tourbox{width:158px !important;}
  .nr-hero-tourbox span{font-size:26px !important;}
  .nr-hero-tourbox strong{font-size:40px !important;}
}

@media (max-width:980px){
  .nr-site-header{
    width:calc(100vw - 18px) !important;
    border-radius:16px !important;
  }
  .nr-nav{
    display:none !important;
    position:absolute !important;
    left:10px !important;
    right:10px !important;
    top:86px !important;
    padding:14px !important;
    background:#07070a !important;
    border:1px solid rgba(255,255,255,.1) !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
  }
  .nr-nav.open{display:flex !important;}
  .nr-menu-toggle{
    display:grid !important;
    place-items:center !important;
    width:52px !important;
    height:52px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  .nr-menu-toggle span{
    display:block !important;
    width:22px !important;
    height:2px !important;
    background:#fff !important;
    margin:3px auto !important;
  }
  .nr-hero-home{
    width:calc(100vw - 18px) !important;
    height:auto !important;
    min-height:auto !important;
    grid-template-columns:1fr !important;
    padding:26px 20px 28px !important;
  }
  .nr-hero-copy{
    order:2 !important;
    max-width:none !important;
  }
  .nr-hero-visual{
    order:1 !important;
    height:500px !important;
    min-height:500px !important;
  }
  .nr-hero-geo{
    right:50% !important;
    top:30px !important;
    width:min(82vw,500px) !important;
    height:440px !important;
    transform:translateX(50%) !important;
  }
  .nr-hero-visual img{
    right:50% !important;
    bottom:0 !important;
    width:min(80vw,400px) !important;
    transform:translateX(50%) !important;
  }
  .nr-hero-vertical{
    display:none !important;
  }
  .nr-hero-tourbox{
    right:6px !important;
    bottom:8px !important;
    width:132px !important;
    padding:16px 12px !important;
  }
  .nr-hero-tourbox span{font-size:18px !important;}
  .nr-hero-tourbox strong{font-size:28px !important;}
  .nr-hero-title{font-size:clamp(76px,20vw,118px) !important;}
  .nr-hero-home .kicker{font-size:12px !important;letter-spacing:.24em !important;}
  .nr-hero-line{font-size:11px !important;letter-spacing:.16em !important;gap:10px !important;}
  .nr-hero-line span{max-width:22px !important;height:2px !important;}
  .nr-hero-signature{font-size:clamp(28px,7vw,40px) !important;}
  .nr-hero-intro{font-size:15px !important;}
  .nr-hero-actions{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
  .nr-hero-actions .btn{width:100% !important;min-height:52px !important;}
}

@media (max-width:560px){
  .nr-brand{min-width:auto !important;}
  .nr-brand-mark{width:44px !important;height:52px !important;font-size:24px !important;}
  .nr-brand-text strong{font-size:15px !important;letter-spacing:.13em !important;}
  .nr-brand-text small{font-size:8px !important;letter-spacing:.14em !important;}
  .nr-whatsapp-mini{display:none !important;}
  .nr-nav-cta{min-height:46px !important;padding:0 14px !important;font-size:11px !important;}
  .nr-hero-visual{height:410px !important;min-height:410px !important;}
  .nr-hero-geo{height:360px !important;}
  .nr-hero-visual img{width:min(82vw,315px) !important;}
}
