@font-face{font-family:Hanken;src:url("../assets/fonts/hanken-grotesk/hanken-grotesk-latin-variable.woff2") format("woff2");font-display:swap}
:root{--petrol:#193940;--lime:#9bf272;--paper:#f4f3ed;--ink:#102f35;--line:rgba(244,243,237,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--petrol);color:var(--paper);font-family:Hanken,Arial,sans-serif}a{color:inherit}
.journal-header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:86px;padding:0 max(28px,4vw);border-bottom:1px solid var(--line);background:rgba(25,57,64,.9);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:10px;font-weight:700;line-height:.95;letter-spacing:.15em}.brand img{width:36px;height:36px}.journal-header p{font-size:9px;font-weight:650;letter-spacing:.2em}.back{justify-self:end;text-decoration:none;font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}
main{width:min(1020px,calc(100% - 64px));margin:0 auto}.intro{display:grid;grid-template-columns:1.2fr .55fr;gap:6vw;align-items:end;padding:clamp(54px,6vw,82px) 0 46px;border-bottom:1px solid var(--line)}
.eyebrow{grid-column:1/-1;margin:0;font-size:8px;font-weight:650;letter-spacing:.18em}.intro h1{margin:0;font-size:clamp(56px,6.8vw,96px);font-weight:500;line-height:.78;letter-spacing:-.075em}.intro h1 em{font-family:Georgia,serif;font-weight:400}.intro-copy{max-width:360px;margin:0;color:rgba(244,243,237,.72);font-size:14px;line-height:1.55}
.demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 26px;padding:58px 0 92px}.demo-card{min-width:0}.visual{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:18px;color:#fff;text-decoration:none;box-shadow:0 20px 45px rgba(2,18,21,.23);isolation:isolate;transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease}.visual:hover{transform:translateY(-6px);box-shadow:0 28px 65px rgba(2,18,21,.38)}
.photo-visual{background-position:center;background-size:cover}.photo-visual:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,18,20,.78),rgba(4,18,20,.05) 72%)}.horizonte{background-image:url("../demos/constructora-horizonte/assets/horizonte-hero-card.webp")}.atelier{background-image:url("../demos/atelier-noir/assets/atelier-noir-hero.png")}
.visual-copy{position:absolute;z-index:2;inset:7%;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.visual-copy small,.visual-copy span{font-size:9px;font-weight:700;letter-spacing:.16em}.visual-copy strong{font-size:clamp(48px,5vw,78px);font-weight:600;line-height:.79;letter-spacing:-.075em}.visual-copy strong em{font-family:Georgia,serif;font-weight:400}.floating-note{position:absolute;right:6%;bottom:7%;z-index:3;width:46%;padding:22px;color:var(--ink);background:var(--paper);border-radius:14px;display:flex;flex-direction:column;gap:7px}.floating-note small,.floating-note span{font-size:9px;letter-spacing:.12em}.floating-note b{font-size:26px;letter-spacing:-.04em}.atelier-seal{position:absolute;right:8%;top:8%;width:92px;aspect-ratio:1;border:1px solid rgba(210,174,122,.7);border-radius:50%;display:grid;place-items:center;color:#d2ae7a;font:italic 34px Georgia,serif}
.meridian{background:linear-gradient(140deg,#071d45,#164aa0 62%,#06235c)}.meridian-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px);background-size:38px 38px}.orbit{position:absolute;border:1px solid rgba(239,192,76,.7);border-radius:50%;animation:orbit 16s linear infinite}.orbit.one{width:76%;aspect-ratio:1;right:-18%;top:-4%}.orbit.two{width:44%;aspect-ratio:1;right:2%;top:14%;animation-direction:reverse}.level{position:absolute;right:7%;bottom:8%;padding:20px 26px;border:1px solid rgba(255,255,255,.35);background:rgba(7,29,69,.7);display:flex;flex-direction:column;gap:7px}.level small,.level span{font-size:8px;letter-spacing:.12em}.level b{font-size:30px}
.lumen-visual{background:linear-gradient(145deg,#174cff 0 58%,#1034bb 100%)}.lumen-visual:before{content:"";position:absolute;width:47%;aspect-ratio:1;right:-8%;top:-9%;border-radius:50%;background:#eaff35}.lumen-main{position:absolute;right:5%;top:8%;width:48%;height:73%;object-fit:cover;border:5px solid #102a96;border-radius:24px;filter:saturate(.72) contrast(1.05);box-shadow:0 18px 38px rgba(3,17,81,.42);transform:rotate(2deg)}.lumen-detail{position:absolute;right:8%;bottom:6%;top:auto;width:30%;height:34%;object-fit:cover;border:4px solid #eaff35;border-radius:16px;box-shadow:0 16px 35px rgba(3,17,81,.4);transform:rotate(-3deg)}.lumen-wordmark{position:absolute;z-index:3;inset:7%;display:flex;flex-direction:column;align-items:flex-start;color:#f7f4ed}.lumen-wordmark small,.lumen-wordmark span{font-size:8px;font-weight:750;letter-spacing:.16em}.lumen-wordmark small{color:#eaff35}.lumen-wordmark strong{margin:auto 0;font:620 clamp(45px,4.7vw,68px)/.77 Hanken,sans-serif;letter-spacing:-.075em;text-transform:uppercase}.lumen-wordmark strong em{color:#eaff35;font-family:Hanken,sans-serif;font-style:normal}.lumen-wordmark span{margin-top:auto}.lumen-booking{position:absolute;z-index:4;right:6%;bottom:7%;width:43%;padding:16px;background:#112c88;color:#f7f1e8;border:1px solid rgba(255,255,255,.25);border-radius:13px;display:flex;flex-direction:column;gap:7px;box-shadow:0 18px 35px rgba(3,17,81,.38)}.lumen-booking small,.lumen-booking span{font-size:7px;letter-spacing:.12em}.lumen-booking small{color:#eaff35}.lumen-booking b{font:540 18px Hanken,sans-serif}.lumen-card .meta h2{color:#eaff35}
.meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;padding:16px 0 20px;border-bottom:1px solid var(--line)}.meta span{font-size:7px;font-weight:650;letter-spacing:.16em;color:rgba(244,243,237,.57)}.meta h2{margin:7px 0 4px;font-size:clamp(27px,2.5vw,36px);font-weight:550;line-height:.96;letter-spacing:-.055em}.meta p{max-width:330px;margin:0;color:rgba(244,243,237,.64);font-size:11px;line-height:1.4}.actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:224px}.actions a{display:grid;place-items:center;min-height:38px;padding:0 12px;border:1px solid rgba(244,243,237,.52);border-radius:999px;text-decoration:none;text-transform:uppercase;font-size:7px;font-weight:700;letter-spacing:.12em;transition:.3s}.actions a:first-child{background:var(--paper);color:var(--ink)}.actions a:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}
footer{display:flex;align-items:center;justify-content:space-between;min-height:120px;padding:0 max(28px,4vw);border-top:1px solid var(--line);font-size:9px;font-weight:650;letter-spacing:.15em}footer a{text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
@keyframes orbit{to{transform:rotate(360deg)}}
@media(max-width:900px){main{width:min(100% - 36px,700px)}.intro{grid-template-columns:1fr}.demo-grid{grid-template-columns:1fr;gap:54px}.journal-header{grid-template-columns:1fr auto}.journal-header>p{display:none}.meta{grid-template-columns:1fr}.actions{min-width:0;max-width:360px}}
@media(max-width:560px){.journal-header{min-height:72px;padding:0 18px}.brand span{display:none}.back{font-size:8px}.intro{padding:60px 0 42px}.intro h1{font-size:17vw}.demo-grid{padding-top:42px}.visual{border-radius:16px}.lumen-detail{border-width:3px}.lumen-booking{width:50%;padding:14px}.visual-copy strong{font-size:12vw}.floating-note{width:55%;padding:15px}.actions{grid-template-columns:1fr}.meta h2{font-size:34px}footer span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.visual,.orbit{animation:none!important;transition:none!important}}

/* Ajustes de precisión: alineación, lectura y portada Lumen */
.lumen-card .meta h2{color:#f4f3ed}
.visual:hover{transform:scale(.992)}
.horizonte .visual-copy span{max-width:40%;line-height:1.45}
.lumen-main{right:3%;top:7%;width:56%;height:79%;object-fit:cover;object-position:center 28%;border-radius:22px;filter:saturate(1.08) contrast(1.03)}
.lumen-booking{right:5%;bottom:6%;width:44%;padding:15px}
.demo-card{display:flex;min-width:0;flex-direction:column}
.demo-card .visual{flex:0 0 auto}
.demo-card .meta{flex:1;align-items:end}
