/* ============================================================
   NELIAR — Hospitality Intelligence
   Premium commercial homepage.
   Design tokens aligned with Product Experience + Pricing.
   ============================================================ */
:root {
  --bg:#0B0E14; --s1:#111620; --s2:#171D28; --el:#1D2430; --bd:#283142;
  --tx:#F7F9FC; --tx2:#AAB4C3; --mu:#737F90;
  --bl:#2867F0; --bla:#4C82FF; --bls:#152447;
  --ok:#20A77A; --warn:#D9A441;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-family:var(--font);font-size:16px;line-height:1.6;color:var(--tx);background:var(--bg);-webkit-font-smoothing:antialiased;}
body{min-height:100dvh;background:var(--bg);overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

/* ══ Navigation ══ */
.nl-nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s;}
.nl-nav.is-scrolled{background:rgba(11,14,20,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--bd);}
.nl-nav__inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.85rem clamp(1.5rem,4vw,3rem);}
.nl-nav__brand{font-size:1.1rem;font-weight:700;letter-spacing:.06em;color:var(--tx);}
.nl-nav__links{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2rem);}
.nl-nav__link{font-size:.85rem;font-weight:500;color:var(--mu);transition:color .15s;white-space:nowrap;}
.nl-nav__link:hover{color:var(--tx);}
.nl-nav__cta{font-size:.85rem;font-weight:600;color:#fff;background:var(--bl);padding:.5rem 1.25rem;border-radius:6px;transition:background .15s;white-space:nowrap;}
.nl-nav__cta:hover{background:var(--bla);}
.nl-nav__hamburger{display:none;width:28px;height:28px;flex-direction:column;justify-content:center;gap:5px;padding:2px;}
.nl-nav__hamburger span{display:block;height:2px;background:var(--tx);border-radius:1px;transition:all .2s;}
.nl-nav__mobile{display:none;position:fixed;inset:0;z-index:99;background:rgba(11,14,20,.97);backdrop-filter:blur(16px);flex-direction:column;align-items:center;justify-content:center;gap:2rem;}
.nl-nav__mobile.is-open{display:flex;}
.nl-nav__mobile a{font-size:1.3rem;font-weight:400;color:var(--tx2);}
.nl-nav__mobile a:hover{color:var(--tx);}
.nl-nav__close{position:absolute;top:1.5rem;right:1.5rem;font-size:1.5rem;color:var(--mu);}

/* ══ Sections ══ */
.nl-s{padding:clamp(4rem,10vh,8rem) clamp(1.5rem,4vw,3rem);max-width:1280px;margin:0 auto;}
.nl-s--dark{background:var(--s1);}
.nl-s--full{max-width:none;}

/* ══ Typography ══ */
.nl-hero-hl{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:300;letter-spacing:-.03em;line-height:1.08;margin-bottom:1.5rem;}
.nl-hl{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;letter-spacing:-.02em;line-height:1.12;margin-bottom:1rem;}
.nl-sub{font-size:clamp(1.1rem,1.6vw,1.3rem);font-weight:400;color:var(--tx2);line-height:1.5;margin-bottom:1.5rem;max-width:42rem;}
.nl-label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);margin-bottom:.75rem;}
.nl-body{font-size:clamp(.95rem,1.1vw,1.05rem);color:var(--tx2);line-height:1.65;margin-bottom:1rem;max-width:38rem;}
.nl-accent{color:var(--bla);}
.nl-pull{font-size:clamp(1.15rem,1.7vw,1.4rem);font-weight:300;color:var(--tx2);border-left:2px solid var(--bl);padding-left:1.25rem;margin-top:1.5rem;line-height:1.45;max-width:36rem;}

/* ══ Buttons ══ */
.nl-btn{display:inline-flex;align-items:center;padding:.75rem 2rem;border-radius:6px;font-size:.95rem;font-weight:500;transition:all .15s;}
.nl-btn--primary{background:var(--bl);color:#fff;}
.nl-btn--primary:hover{background:var(--bla);}
.nl-btn--ghost{border:1px solid var(--bd);color:var(--tx2);}
.nl-btn--ghost:hover{border-color:var(--bl);color:var(--tx);}
.nl-btn--lg{padding:.9rem 2.5rem;font-size:1.05rem;}
.nl-btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;}

/* ══ Hero ══ */
.nl-hero{min-height:100dvh;display:flex;align-items:center;padding-top:5rem;}
.nl-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;}
.nl-hero__text{max-width:36rem;}
.nl-hero__descriptor{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bla);margin-bottom:1rem;}

/* ══ Phone mockup ══ */
.nl-phone{width:min(320px,80vw);aspect-ratio:9/19.5;position:relative;margin:0 auto;}
.nl-phone__frame{width:100%;height:100%;background:linear-gradient(145deg,#2A2D32,#1A1D22);border:1px solid #3A3D42;border-radius:2.5rem;padding:7px;box-shadow:0 0 0 1px rgba(255,255,255,.04),0 24px 64px rgba(0,0,0,.5);display:flex;flex-direction:column;overflow:hidden;}
.nl-phone__island{width:80px;height:20px;background:#0A0A0A;border-radius:10px;margin:5px auto 0;flex-shrink:0;z-index:2;}
.nl-phone__screen{flex:1;background:var(--bg);border-radius:0 0 calc(2.5rem - 7px) calc(2.5rem - 7px);border-top-left-radius:.8rem;border-top-right-radius:.8rem;margin-top:-5px;overflow:hidden;display:flex;flex-direction:column;}
.nl-phone__bar{display:flex;justify-content:space-between;align-items:center;padding:.35rem .7rem;flex-shrink:0;}
.nl-phone__bar-brand{font-size:.65rem;font-weight:600;letter-spacing:.04em;color:var(--tx);}
.nl-phone__bar-ctx{font-size:.45rem;color:var(--mu);}
.nl-phone__content{flex:1;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.35rem;overflow:hidden;}
.nl-phone__bubble{font-size:.75rem;padding:.4rem .65rem;border-radius:10px;max-width:88%;line-height:1.4;}
.nl-phone__bubble--guest{background:var(--bl);color:#fff;align-self:flex-end;border-bottom-right-radius:3px;}
.nl-phone__bubble--ai{background:var(--s2);color:var(--tx2);align-self:flex-start;border-bottom-left-radius:3px;}
.nl-phone__meta{display:flex;gap:.4rem;padding:.3rem .5rem;margin-top:auto;}
.nl-phone__meta-tag{font-size:.5rem;padding:.15rem .35rem;border:1px solid var(--bd);border-radius:3px;color:var(--mu);}
.nl-phone__input{display:flex;align-items:center;gap:.3rem;padding:.3rem .5rem;border-top:1px solid var(--bd);flex-shrink:0;}
.nl-phone__input-field{flex:1;font-size:.55rem;color:var(--mu);padding:.25rem .5rem;background:var(--s2);border:1px solid var(--bd);border-radius:10px;}
.nl-phone__input-mic{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bl);border-radius:50%;flex-shrink:0;}
.nl-phone__input-mic svg{width:10px;height:10px;}

/* ══ Problem section ══ */
.nl-frag{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0;}
.nl-frag__item{font-size:.85rem;padding:.4rem .8rem;border:1px solid var(--bd);border-radius:6px;color:var(--mu);transition:all .6s var(--ease);}
.nl-frag__resolve{margin-top:1rem;font-size:1.1rem;font-weight:300;color:var(--bla);}

/* ══ Task groups ══ */
.nl-task-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0;}
.nl-task-group{padding:1rem;border:1px solid var(--bd);border-radius:10px;background:var(--s2);}
.nl-task-group__title{font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bla);margin-bottom:.6rem;}
.nl-tasks{display:flex;flex-wrap:wrap;gap:.35rem;}
.nl-task{font-size:.75rem;padding:.3rem .6rem;border:1px solid var(--bd);border-radius:5px;color:var(--tx2);}

/* ══ Scenarios ══ */
.nl-scenarios{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1.5rem 0;}
.nl-scenario{padding:1rem;border:1px solid var(--bd);border-radius:10px;background:var(--s1);transition:border-color .2s;}
.nl-scenario:hover{border-color:var(--bl);}
.nl-scenario--highlight{border-color:var(--bla);background:var(--bls);}
.nl-scenario__ctx{font-size:.7rem;font-weight:500;color:var(--mu);margin-bottom:.4rem;}
.nl-scenario__q{font-size:.95rem;font-weight:400;color:var(--tx);margin-bottom:.4rem;line-height:1.4;}
.nl-scenario__a{font-size:.8rem;color:var(--tx2);line-height:1.5;}

/* ══ Walk-in conversation ══ */
.nl-walkin{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0;}
.nl-walkin__msg{font-size:.8rem;padding:.4rem .65rem;border-radius:10px;max-width:90%;line-height:1.4;}
.nl-walkin__msg--guest{background:var(--bl);color:#fff;align-self:flex-end;border-bottom-right-radius:3px;}
.nl-walkin__msg--ai{background:var(--s2);color:var(--tx2);align-self:flex-start;border-bottom-left-radius:3px;}

/* ══ Guest Journey Stages ══ */
.nl-journey-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0;}
.nl-stage{padding:1rem;border:1px solid var(--bd);border-radius:10px;background:var(--s2);}
.nl-stage__title{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bla);margin-bottom:.6rem;}
.nl-stage__items{display:flex;flex-direction:column;gap:.3rem;}
.nl-stage__items span{font-size:.8rem;color:var(--tx2);padding-left:.6rem;border-left:2px solid var(--bl);line-height:1.4;}

/* ══ Operational Value ══ */
.nl-opval{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1.5rem 0;}
.nl-opval__item{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;font-size:.85rem;color:var(--tx2);border:1px solid var(--bd);border-radius:6px;}
.nl-opval__item svg{flex-shrink:0;color:var(--bla);}

/* ══ Context layers ══ */
.nl-layers{display:flex;flex-direction:column;gap:.3rem;max-width:28rem;margin:1.5rem 0;}
.nl-layer{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-left:2px solid var(--bd);transition:border-color .3s;}
.nl-layer--active{border-left-color:var(--bl);}
.nl-layer__dot{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--bd);flex-shrink:0;}
.nl-layer--active .nl-layer__dot{border-color:var(--bl);background:var(--bl);}
.nl-layer__text{font-size:.9rem;color:var(--tx2);}
.nl-layer--active .nl-layer__text{color:var(--tx);}
.nl-layer__arrow{display:flex;align-items:center;justify-content:center;padding:.2rem 0;color:var(--mu);font-size:.7rem;}

/* ══ Two-column sections ══ */
.nl-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;}
.nl-split--reverse .nl-split__visual{order:-1;}

/* ══ Touchpoints ══ */
.nl-touch{display:flex;gap:1.5rem;margin:2rem 0;flex-wrap:wrap;}
.nl-touch__item{flex:1;min-width:200px;padding:1.25rem;border:1px solid var(--bd);border-radius:10px;background:var(--s1);}
.nl-touch__name{font-size:.95rem;font-weight:500;color:var(--tx);margin-bottom:.35rem;}
.nl-touch__desc{font-size:.8rem;color:var(--tx2);line-height:1.5;}
.nl-touch__item--active{border-color:var(--bl);background:var(--bls);}

/* ══ Reception placeholder ══ */
.nl-rec{position:relative;max-width:480px;margin:0 auto;}
.nl-rec__terminal{width:100%;aspect-ratio:9/16;background:var(--bg);border:2px solid #3A3D42;border-radius:14px 14px 4px 4px;box-shadow:0 0 0 4px #1A1D22,0 0 0 5px #3A3D42,0 24px 64px rgba(0,0,0,.6);overflow:hidden;display:flex;flex-direction:column;}
.nl-rec__header{padding:1rem;text-align:center;border-bottom:1px solid var(--bd);}
.nl-rec__brand{font-size:1rem;font-weight:700;letter-spacing:.06em;color:var(--tx);}
.nl-rec__sub{font-size:.65rem;color:var(--mu);margin-top:.2rem;}
.nl-rec__ui{flex:1;padding:1.25rem;display:flex;flex-direction:column;gap:.6rem;}
.nl-rec__option{padding:.6rem .8rem;border:1px solid var(--bd);border-radius:8px;font-size:.85rem;color:var(--tx2);display:flex;justify-content:space-between;align-items:center;}
.nl-rec__option--active{border-color:var(--bl);color:var(--tx);}
.nl-rec__base{width:50%;height:6px;margin:0 auto;background:linear-gradient(to bottom,#2A2D32,#1A1D22);border-radius:0 0 3px 3px;border:1px solid #3A3D42;border-top:none;}
.nl-rec__label{margin-top:.6rem;font-size:.6rem;font-weight:500;letter-spacing:.04em;color:var(--mu);text-align:center;}

/* ══ Service connection ══ */
.nl-svc{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;flex-wrap:wrap;}
.nl-svc__node{padding:.6rem 1rem;border:1px solid var(--bd);border-radius:8px;font-size:.85rem;font-weight:500;color:var(--tx);}
.nl-svc__node--brand{border-color:var(--bl);background:var(--bls);}
.nl-svc__arrow{color:var(--mu);font-size:.8rem;}

/* ══ Operator contrast ══ */
.nl-op{display:flex;flex-direction:column;gap:.35rem;margin:1.5rem 0;max-width:32rem;}
.nl-op__row{display:flex;align-items:center;gap:.6rem;padding:.45rem .7rem;border-left:2px solid var(--bd);font-size:.85rem;color:var(--tx2);}
.nl-op__row--auto{border-left-color:var(--bls);}
.nl-op__row--human{border-left-color:var(--warn);color:var(--warn);}
.nl-op__tag{font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-left:auto;white-space:nowrap;}
.nl-op__tag--ai{color:var(--bla);}
.nl-op__tag--staff{color:var(--warn);}

/* ══ Pricing bridge ══ */
.nl-price{text-align:center;padding:clamp(4rem,10vh,7rem) clamp(1.5rem,4vw,3rem);}
.nl-price__amount{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:300;letter-spacing:-.02em;color:var(--tx);margin-bottom:.5rem;}
.nl-price__note{font-size:1rem;color:var(--tx2);margin-bottom:2rem;}

/* ══ Final CTA ══ */
.nl-final{text-align:center;padding:clamp(5rem,12vh,9rem) clamp(1.5rem,4vw,3rem);}
.nl-final__brand{font-size:clamp(2.5rem,5vw,4rem);font-weight:300;letter-spacing:-.02em;margin-bottom:.5rem;}
.nl-final__desc{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bla);margin-bottom:1.5rem;}
.nl-final__stmt{font-size:clamp(1.1rem,1.6vw,1.3rem);font-weight:300;color:var(--tx2);margin-bottom:2.5rem;line-height:1.5;}

/* ══ Footer ══ */
.nl-footer{border-top:1px solid var(--bd);padding:2rem clamp(1.5rem,4vw,3rem);max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;}
.nl-footer__links{display:flex;flex-wrap:wrap;gap:1.5rem;}
.nl-footer__link{font-size:.75rem;color:var(--mu);transition:color .15s;}
.nl-footer__link:hover{color:var(--tx2);}
.nl-footer__copy{font-size:.7rem;color:var(--mu);}

/* ══ Focus ══ */
:focus-visible{outline:2px solid var(--bl);outline-offset:2px;}

/* ══ Responsive ══ */
@media(max-width:960px){
  .nl-hero__grid{grid-template-columns:1fr;text-align:center;}
  .nl-hero__text{max-width:none;margin:0 auto;}
  .nl-phone{width:min(280px,70vw);}
  .nl-split{grid-template-columns:1fr;}
  .nl-split--reverse .nl-split__visual{order:0;}
  .nl-nav__links{display:none;}
  .nl-nav__hamburger{display:flex;}
  .nl-touch{flex-direction:column;}
  .nl-scenarios{grid-template-columns:1fr;}
  .nl-task-groups{grid-template-columns:1fr;}
  .nl-journey-stages{grid-template-columns:1fr;}
  .nl-opval{grid-template-columns:1fr;}
  .nl-hero-hl{font-size:clamp(2rem,7vw,2.8rem);}
}
@media(max-width:480px){
  .nl-phone{width:min(260px,85vw);}
  .nl-footer{flex-direction:column;text-align:center;}
}
/* ── Ecosystem ── */
.nl-eco{position:relative;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:1rem 0;}
.nl-eco__hub{display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;}
.nl-eco__hub-inner{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:100px;height:100px;border-radius:50%;background:var(--bl);color:#fff;justify-content:center;font-size:.7rem;font-weight:700;letter-spacing:.08em;box-shadow:0 0 40px rgba(40,103,240,.25);}
.nl-eco__ring{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;width:100%;}
.nl-eco__dept{background:var(--s1);border:1px solid var(--bd);border-radius:12px;padding:1rem;text-align:center;transition:border-color .2s;}
.nl-eco__dept:hover{border-color:var(--bl);}
.nl-eco__dept-icon{color:var(--bl);margin-bottom:.4rem;}
.nl-eco__dept-name{font-size:.9rem;font-weight:600;color:var(--tx);}
.nl-eco__dept-desc{font-size:.72rem;color:var(--mu);margin-top:.25rem;line-height:1.4;}
.nl-eco__dept-status{display:inline-block;font-size:.6rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-top:.5rem;padding:.15rem .5rem;border-radius:4px;background:var(--s2);color:var(--mu);}
.nl-eco__dept-status--live{background:rgba(32,167,122,.15);color:#20A77A;}

@media(max-width:960px){
  .nl-eco__ring{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
}

@media(prefers-reduced-motion:reduce){
  *{transition-duration:.01ms !important;animation-duration:.01ms !important;}
}
