:root{
  --bg:#fff6eb;
  --bg-soft:#f5efe1;
  --panel:#fffdf8;
  --panel-alt:#f8f1e6;
  --text:#223548;
  --muted:#6b7b88;
  --line:rgba(34,53,72,.12);
  --cyan:#1fa6a1;
  --cyan-soft:#178b8f;
  --gold:#e6a64a;
  --green:#47b88b;
  --violet:#d88474;
  --rose:#f2b7a4;
  --shadow:0 20px 42px rgba(77,67,55,.12);
  --ntc-site-bg-image:url('images/northfield-corridor-video-poster.jpg');
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,
body{
  max-width:100%;
  overflow-x:hidden;
}
body{
  margin:0;
  font-family:"Manrope",system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(242,183,164,.28), transparent 28%),
    radial-gradient(circle at top right, rgba(31,166,161,.18), transparent 26%),
    radial-gradient(circle at bottom right, rgba(230,166,74,.14), transparent 24%),
    linear-gradient(180deg, #fff8ef 0%, #f7f0e2 52%, #eef8f5 100%);
}
body.ntc-modal-open{overflow:hidden}
a{color:inherit}
.ntc-cursor-glow{
  position:fixed;
  left:0;
  top:0;
  width:420px;
  height:420px;
  border-radius:50%;
  pointer-events:none;
  z-index:3;
  opacity:0;
  transform:translate3d(calc(var(--ntc-cursor-x, 50vw) - 210px), calc(var(--ntc-cursor-y, 50vh) - 210px), 0);
  background:
    radial-gradient(circle, rgba(255,247,237,.28) 0%, rgba(31,166,161,.16) 32%, rgba(242,183,164,.10) 52%, rgba(255,255,255,0) 74%);
  filter:blur(24px);
  mix-blend-mode:screen;
  transition:opacity .28s ease, transform .12s linear;
}
body.ntc-pointer-active .ntc-cursor-glow{opacity:.38}
.ntc-corridor-video{display:none}
.ntc-shell{min-height:100vh;overflow-x:hidden}
.ntc-header,.ntc-main,.ntc-footer{width:min(1440px,calc(100% - 48px));margin:0 auto}
.ntc-header{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  padding:18px 0;
  backdrop-filter:blur(18px);
  background:linear-gradient(180deg, rgba(255,248,239,.86), rgba(255,248,239,.62));
  border-bottom:1px solid rgba(34,53,72,.08);
}
.ntc-brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.ntc-brand-mark{
  width:54px;height:54px;border-radius:18px;display:grid;place-items:center;
  background:linear-gradient(135deg,#f2b06f,#27b3a1);
  color:#fffdf8;
  font-family:"Fraunces",serif;
  font-size:29px;
  font-weight:800;
  box-shadow:0 16px 32px rgba(39,179,161,.18);
}
.ntc-brand-copy{display:grid;gap:4px;max-width:430px}
.ntc-brand-copy strong{font-family:"Fraunces",serif;font-size:22px}
.ntc-brand-copy span{font-size:13px;color:var(--muted)}
.ntc-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;flex:1 1 520px}
.ntc-nav a,.ntc-nav-toggle,.ntc-btn,.ntc-floor-btn,.ntc-nav-language{
  text-decoration:none;
  border-radius:999px;
  font-weight:800;
}
.ntc-nav a,.ntc-nav-toggle,.ntc-floor-btn,.ntc-nav-language{
  padding:10px 14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.62);
  color:var(--text);
}
.ntc-nav-language{
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  font:inherit;
}
.ntc-language-flag{
  font-size:16px;
  line-height:1;
}
.ntc-nav-toggle{display:none}
.ntc-main{padding:28px 0 84px}

body.ntc-motion-ready .ntc-header .ntc-nav,
body.ntc-motion-ready .ntc-header .ntc-nav-toggle{
  display:none !important;
}

@media (min-width:1040px){
  .ntc-header{
    display:grid;
    grid-template-columns:minmax(280px, 480px) minmax(0, 1fr);
    align-items:center;
    column-gap:20px;
    row-gap:10px;
  }

  .ntc-nav{
    display:grid;
    grid-template-columns:repeat(4, max-content);
    justify-content:end;
    gap:10px;
    flex:none;
  }
}

.ntc-kicker,.ntc-mini-tag,.ntc-floor-tag,.ntc-unit-tag,.ntc-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ntc-kicker,.ntc-mini-tag,.ntc-floor-tag,.ntc-unit-tag{
  background:rgba(31,166,161,.12);
  color:var(--cyan-soft);
  border:1px solid rgba(31,166,161,.18);
}
.ntc-status{
  border:1px solid transparent;
  background:rgba(255,255,255,.72);
  color:#35526a;
}
.ntc-status.is-occupied{background:rgba(106,247,200,.12);color:var(--green)}
.ntc-status.is-available{background:rgba(255,213,136,.12);color:var(--gold)}
.ntc-status.is-coming{background:rgba(216,132,116,.12);color:#b66659}
.ntc-hero,.ntc-unit-hero{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:22px;
  align-items:stretch;
}
.ntc-hero-home{
  position:relative;
  min-height:620px;
  grid-template-columns:1fr;
  gap:0;
  padding:42px;
  border-radius:34px;
  border:1px solid var(--line);
  background:
    linear-gradient(110deg, rgba(255,248,239,.58) 0%, rgba(255,248,239,.36) 34%, rgba(255,248,239,.12) 58%, rgba(255,248,239,.04) 100%),
    linear-gradient(180deg, rgba(255,253,248,.88), rgba(246,239,226,.68));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:var(--shadow);
  overflow:hidden;
  animation:ntcHeroBreathe 16s ease-in-out infinite;
}
.ntc-hero-home::after{
  content:"";
  position:absolute;
  inset:auto auto -120px -120px;
  width:320px;
  height:320px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(242,183,164,.34), transparent 68%);
  filter:blur(8px);
  pointer-events:none;
  animation:ntcGlowDrift 18s ease-in-out infinite alternate;
}
.ntc-hero-home::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 12%, rgba(255,255,255,.16) 46%, transparent 78%);
  transform:translateX(-135%);
  animation:ntcSheen 14s ease-in-out infinite;
  pointer-events:none;
}
.ntc-hero-copy,.ntc-hero-stage,.ntc-glass-card,.ntc-note-card,.ntc-info-band article,.ntc-floor-block,.ntc-story-preview,.ntc-copy-card,.ntc-page-hero,.ntc-unit-visual,.ntc-unit-details article,.ntc-story-panel div{
  border-radius:30px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(248,241,230,.92));
  box-shadow:var(--shadow);
}
.ntc-hero-copy,.ntc-hero-stage,.ntc-glass-card,.ntc-note-card,.ntc-info-band article,.ntc-floor-block,.ntc-story-preview,.ntc-copy-card,.ntc-page-hero,.ntc-unit-copy,.ntc-unit-visual,.ntc-story-panel div{
  padding:28px;
}
.ntc-hero-copy h1,.ntc-page-hero h1,.ntc-unit-copy h1,.ntc-section-head h2,.ntc-glass-card h2,.ntc-copy-card h2{
  font-family:"Fraunces",serif;
  line-height:.96;
  margin:14px 0 12px;
}
.ntc-hero-copy h1{
  font-size:48px;
  max-width:none;
  letter-spacing:0;
  text-wrap:balance;
}
.ntc-hero-home .ntc-hero-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  align-self:center;
  max-width:860px;
  margin:0 auto;
  padding:30px 32px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.42);
  background:linear-gradient(180deg, rgba(255,253,248,.66), rgba(255,248,239,.52));
  box-shadow:0 18px 40px rgba(77,67,55,.14);
  backdrop-filter:blur(10px);
  text-align:center;
  animation:ntcHeroRise 1.1s cubic-bezier(.18,.84,.32,1) .08s both;
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease;
}
.ntc-hero-home .ntc-hero-copy h1{
  max-width:14ch;
  font-size:58px;
  line-height:1.02;
  margin-left:auto;
  margin-right:auto;
}
.ntc-hero-home .ntc-lead{
  max-width:56ch;
  font-size:22px;
  margin-left:auto;
  margin-right:auto;
}
.ntc-hero-home .ntc-actions{
  margin-top:8px;
  justify-content:center;
}
.ntc-hero-home .ntc-btn{
  min-height:52px;
  padding:0 24px;
}
.ntc-hero-summary{
  margin:18px auto 0;
  padding:0;
  max-width:1280px;
  display:grid;
  grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);
  gap:20px;
  align-items:start;
}
.ntc-hero-summary-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:start;
}
.ntc-hero-summary .ntc-stat-row div,
.ntc-hero-summary .ntc-feature-list div{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.08);
}
.ntc-hero-summary .ntc-stat-row{
  margin-top:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  justify-content:stretch;
}
.ntc-hero-summary .ntc-feature-list{
  justify-items:stretch;
}
.ntc-hero-summary .ntc-feature-list div{
  width:100%;
}
.ntc-page-hero h1,.ntc-unit-copy h1{font-size:72px}
.ntc-section-head h2,.ntc-glass-card h2,.ntc-copy-card h2{font-size:44px}
.ntc-lead{font-size:18px;color:#3f5568;line-height:1.7}
.ntc-actions,.ntc-stat-row,.ntc-filter-row,.ntc-card-top,.ntc-card-meta{display:flex;gap:12px;flex-wrap:wrap}
.ntc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  position:relative;
  overflow:hidden;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease;
}
.ntc-btn::after{
  content:"";
  position:absolute;
  inset:-1px auto -1px -38%;
  width:34%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  transform:skewX(-24deg);
  opacity:0;
  transition:transform .5s ease, opacity .24s ease;
}
.ntc-btn-solid{
  background:linear-gradient(135deg,#efae68,#24b0a0);
  color:#fffdf8;
  box-shadow:0 16px 28px rgba(36,176,160,.24);
}
.ntc-btn-ghost{
  background:rgba(255,255,255,.58);
  border:1px solid var(--line);
  color:var(--text);
}
.ntc-btn:hover{
  transform:translateY(-2px);
}
.ntc-btn:hover::after{
  opacity:1;
  transform:translateX(320%) skewX(-24deg);
}
.ntc-btn-solid:hover{
  box-shadow:0 20px 34px rgba(36,176,160,.30);
}
.ntc-stat-row{margin-top:26px}
.ntc-stat-row div{
  min-width:170px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.62);
  transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease, background .24s ease;
}
.ntc-stat-row strong{display:block;font-size:28px;font-family:"Fraunces",serif;color:var(--cyan-soft)}
.ntc-stat-row span{display:block;margin-top:4px;color:var(--muted)}
.ntc-hero-stage{
  position:relative;
  overflow:hidden;
  min-height:560px;
  background:
    radial-gradient(circle at top right, rgba(31,166,161,.12), transparent 22%),
    radial-gradient(circle at bottom left, rgba(242,183,164,.14), transparent 28%),
    linear-gradient(160deg, rgba(255,255,255,.64), rgba(255,255,255,.28));
}
.ntc-glass-card,.ntc-note-card{
  position:absolute;
  max-width:420px;
  background:rgba(255,250,243,.82);
  backdrop-filter:blur(12px);
}
.ntc-glass-card{top:44px;left:40px}
.ntc-note-card{right:36px;bottom:42px}
.ntc-note-card ul{margin:16px 0 0;padding-left:18px;color:#3f5568;line-height:1.7}
.ntc-hero-photo{
  position:absolute;
  inset:28px 28px 160px 28px;
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,248,239,.10), rgba(79,113,102,.14)),
    linear-gradient(160deg, rgba(255,255,255,.72), rgba(255,255,255,.28));
  background-size:cover;
  background-position:center;
  border:1px solid rgba(34,53,72,.10);
  box-shadow:0 22px 50px rgba(77,67,55,.16);
}
.ntc-info-band,.ntc-story-grid,.ntc-unit-details{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:28px;
}
.ntc-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ntc-unit-details{grid-template-columns:repeat(2,minmax(0,1fr))}
.ntc-info-band article span{display:block;color:var(--cyan-soft);font-weight:800;font-size:13px;margin-bottom:10px}
.ntc-info-band article h3{margin:0 0 10px;font-family:"Fraunces",serif;font-size:24px}
.ntc-info-band article p,.ntc-copy-card p,.ntc-unit-copy p,.ntc-glass-card p{margin:0 0 12px;color:#3f5568;line-height:1.75}
.ntc-reveal{
  opacity:1;
  transform:none;
  transition:opacity .8s ease, transform .8s ease;
}
body.ntc-motion-ready .ntc-reveal{
  opacity:0;
  transform:translateY(26px);
}
body.ntc-motion-ready .ntc-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
.ntc-directory-wrap,.ntc-leasing{margin-top:24px}
.ntc-area-launches{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.ntc-area-launch{
  position:relative;
  display:grid;
  align-content:end;
  gap:12px;
  min-height:360px;
  overflow:hidden;
  padding:0 22px 24px;
  text-align:left;
  cursor:pointer;
  border-radius:10px;
  color:var(--text);
  background:#fffaf2;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.ntc-area-launch::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:58%;
  background:var(--ntc-area-image, var(--ntc-site-bg-image)) center/cover no-repeat;
  transition:transform .55s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}
.ntc-area-launch::after{
  content:"Open zone";
  position:absolute;
  right:18px;
  top:18px;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(7,12,18,.62);
  color:#fff7ed;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ntc-area-launch[data-area-open="ground"]{
  --ntc-area-image:url('images/northfield-corridor-painted-bright.png');
}
.ntc-area-launch[data-area-open="first"]{
  --ntc-area-image:url('images/directory/studios-tattoo-treatment-art.png');
}
.ntc-area-launch[data-area-open="outside"]{
  --ntc-area-image:url('images/directory/outside-cafe-grill-art.png');
}
.ntc-area-launch strong{
  position:relative;
  font-family:"Fraunces",serif;
  font-size:28px;
  line-height:1.05;
  z-index:1;
}
.ntc-area-launch .ntc-floor-tag,
.ntc-area-launch span:last-child{
  position:relative;
  z-index:1;
}
.ntc-area-launch span:last-child{
  color:var(--muted);
  font-size:14px;
  font-weight:700;
}
.ntc-area-launch:hover{
  transform:translateY(-5px);
  border-color:rgba(31,166,161,.2);
  box-shadow:0 24px 46px rgba(77,67,55,.12);
}
.ntc-area-launch:hover::before{
  transform:scale(1.045);
  filter:saturate(1.08) contrast(1.04);
}
.ntc-directory-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease, visibility .25s ease;
  z-index:10010;
}
.ntc-directory-modal.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.ntc-directory-modal-backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(214,155,65,.2), transparent 28%),
    rgba(5,10,14,.76);
  backdrop-filter:blur(16px);
}
.ntc-directory-modal-card{
  position:relative;
  z-index:1;
  width:min(1260px, calc(100vw - 32px));
  max-height:calc(100vh - 40px);
  overflow:auto;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(180deg, rgba(255,253,248,.98), rgba(248,241,230,.96)),
    repeating-linear-gradient(90deg, rgba(34,53,72,.04) 0 1px, transparent 1px 82px);
  box-shadow:0 34px 90px rgba(0,0,0,.34);
  padding:28px;
}
.ntc-directory-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border:1px solid rgba(34,53,72,.1);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--text);
  font-size:28px;
  cursor:pointer;
}
.ntc-directory-modal-content > .ntc-floor-block{
  margin-top:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:0;
}
.ntc-directory-modal-content > .ntc-floor-block > .ntc-floor-head{
  padding-right:58px;
  border-bottom:1px solid rgba(34,53,72,.1);
  padding-bottom:18px;
}
.ntc-directory-modal-content .ntc-directory-grid{
  margin-top:18px;
}
.ntc-section-head{
  display:grid;
  gap:14px;
  margin-bottom:18px;
}
.ntc-floor-btn.active{background:linear-gradient(135deg,#efae68,#24b0a0);color:#fffdf8}
.ntc-floor-block{margin-top:18px}
.ntc-floor-head{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.ntc-floor-head h3{margin:0;font-family:"Fraunces",serif;font-size:28px}
.ntc-directory-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.ntc-directory-grid--single{
  grid-template-columns:minmax(320px, 520px);
  justify-content:center;
}
.ntc-directory-card{
  position:relative;
  display:block;
  padding:24px;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,241,230,.88));
  color:inherit;
  cursor:pointer;
  text-decoration:none;
  transform:none;
  opacity:1;
  transition:transform .3s ease, opacity .3s ease, box-shadow .3s ease, background .3s ease;
}
.ntc-card-visual{
  height:180px;
  margin:-24px -24px 18px;
  border-radius:24px 24px 18px 18px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
  background:linear-gradient(160deg, rgba(255,255,255,.74), rgba(248,241,230,.54));
}
.ntc-card-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
body.ntc-motion-ready .ntc-directory-card{
  transform:translateY(16px);
  opacity:0;
}
body.ntc-motion-ready .ntc-directory-card.show{transform:translateY(0);opacity:1}
.ntc-directory-card.zooming{transform:scale(1.05);box-shadow:0 24px 50px rgba(0,0,0,.35);z-index:3}
.ntc-directory-card.is-live{
  background:linear-gradient(135deg, rgba(230,166,74,.16), rgba(255,255,255,.88));
  border-color:rgba(230,166,74,.24);
}
.ntc-directory-card.is-live::after{
  content:"";
  position:absolute;
  inset:auto -40% 0 auto;
}
.ntc-directory-card h4{margin:14px 0 10px;font-size:26px;font-family:"Fraunces",serif}
.ntc-directory-card p{margin:0;color:#3f5568;line-height:1.7}
.ntc-card-meta{margin-top:16px;color:var(--muted);font-size:14px}
.ntc-card-cta{
  display:inline-flex;
  margin-top:18px;
  padding:10px 14px;
  border-radius:999px;
  font-weight:800;
  font-size:13px;
  background:rgba(31,166,161,.10);
  color:var(--cyan-soft);
}
.ntc-info-band article,
.ntc-story-preview,
.ntc-copy-card,
.ntc-story-panel div,
.ntc-feature-list div,
.ntc-hero-summary .ntc-stat-row div{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.ntc-info-band article:hover,
.ntc-story-preview:hover,
.ntc-copy-card:hover,
.ntc-story-panel div:hover,
.ntc-feature-list div:hover,
.ntc-hero-summary .ntc-stat-row div:hover{
  transform:translateY(-5px);
  border-color:rgba(31,166,161,.20);
  box-shadow:0 24px 46px rgba(77,67,55,.12);
}
.ntc-directory-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 48px rgba(77,67,55,.16);
}
.ntc-story-preview{
  margin-top:28px;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:22px;
  align-items:start;
}
.ntc-promo-band{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
  align-items:start;
}
.ntc-promo-showcase,
.ntc-promo-card{
  border-radius:30px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.ntc-promo-showcase{
  position:relative;
  overflow:hidden;
  padding:30px;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(360px,.94fr);
  gap:26px;
  align-items:start;
  background:
    radial-gradient(circle at top right, rgba(230,166,74,.16), transparent 28%),
    radial-gradient(circle at bottom left, rgba(31,166,161,.14), transparent 34%),
    linear-gradient(145deg, rgba(255,251,245,.96), rgba(243,236,224,.94));
}
.ntc-promo-showcase::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(130deg, rgba(255,255,255,.22), transparent 32%, transparent 68%, rgba(255,255,255,.14));
  pointer-events:none;
}
.ntc-promo-showcase > *{
  position:relative;
  z-index:1;
}
.ntc-promo-showcase .ntc-section-head{
  margin-bottom:0;
  align-content:start;
}
.ntc-promo-showcase h2,
.ntc-promo-card h3{
  margin:14px 0 10px;
  font-family:"Fraunces",serif;
}
.ntc-promo-showcase h2{
  font-size:56px;
}
.ntc-promo-showcase p,
.ntc-promo-card p{
  margin:0 0 12px;
  color:#3f5568;
  line-height:1.75;
}
.ntc-promo-rail{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap:18px;
  margin-top:0;
  overflow:visible;
  padding-bottom:0;
  min-width:0;
}
.ntc-promo-billboard-card{
  display:grid;
  gap:14px;
  min-width:0;
}
.ntc-promo-hit{
  display:grid;
  gap:14px;
  color:inherit;
  text-decoration:none;
}
.ntc-promo-featured{
  display:grid;
  gap:18px;
  align-content:start;
  padding:30px;
  border-radius:30px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(248,241,230,.92));
  box-shadow:var(--shadow);
}
.ntc-promo-featured h2{
  margin:14px 0 10px;
  font-family:"Fraunces",serif;
  font-size:50px;
}
.ntc-promo-featured p{
  margin:0 0 12px;
  color:#3f5568;
  line-height:1.75;
}
.ntc-promo-visual{
  position:relative;
  min-height:460px;
  border-radius:26px;
  border:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.42)),
    linear-gradient(135deg, rgba(254,245,236,.94), rgba(229,244,239,.92));
  overflow:hidden;
  display:grid;
  align-items:stretch;
  padding:28px;
}
.ntc-promo-visual--shop{
  min-height:340px;
}
.ntc-promo-visual::before{
  content:"";
  position:absolute;
  inset:16px;
  border-radius:22px;
  border:1px solid rgba(34,53,72,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.08));
}
.ntc-promo-billboard{
  position:relative;
  z-index:1;
  display:grid;
  align-items:start;
  min-height:100%;
  padding:16px 20px 124px;
  border-radius:24px;
  border:1px solid rgba(34,53,72,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.44), rgba(255,255,255,.18)),
    linear-gradient(135deg, rgba(254,245,236,.86), rgba(229,244,239,.74));
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.ntc-promo-billboard.has-image::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,248,239,.12), rgba(255,248,239,.38) 52%, rgba(255,248,239,.88));
}
.ntc-promo-panel{
  position:relative;
  z-index:1;
  width:min(320px, 100%);
  margin:42px auto 0;
  padding:26px 24px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,252,247,.9);
  box-shadow:0 18px 36px rgba(77,67,55,.16);
  text-align:center;
}
.ntc-promo-panel--shop{
  width:min(240px, calc(100% - 24px));
  margin:26px auto 0;
  padding:20px 18px;
}
.ntc-promo-panel strong{
  display:block;
  margin:14px 0 10px;
  font-family:"Fraunces",serif;
  font-size:40px;
  color:#294458;
}
.ntc-promo-panel--shop strong{
  font-size:30px;
  line-height:1.06;
  margin:10px 0 4px;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.ntc-promo-marquee{
  position:absolute;
  left:20px;
  right:20px;
  bottom:76px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  z-index:1;
  justify-content:center;
}
.ntc-promo-marquee--inside{
  bottom:62px;
}
.ntc-promo-marquee span{
  display:inline-flex;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:var(--cyan-soft);
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ntc-promo-card-copy{
  display:grid;
  gap:12px;
  padding:4px 6px 0;
  align-content:start;
}
.ntc-promo-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.ntc-promo-card{
  display:grid;
  gap:12px;
  padding:20px;
  background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(248,241,230,.92));
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  align-content:start;
}
.ntc-info-band article{
  min-height:100%;
}
.ntc-promo-card:hover,
.ntc-promo-showcase:hover,
.ntc-promo-hit:hover .ntc-promo-visual{
  transform:translateY(-6px);
  border-color:rgba(230,166,74,.24);
  box-shadow:0 26px 54px rgba(77,67,55,.16);
}
.ntc-story-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:stretch;
}
.ntc-story-hero-copy{
  padding:30px;
  border-radius:30px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(248,241,230,.92));
  box-shadow:var(--shadow);
}
.ntc-story-mosaic{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.ntc-story-photo{
  margin:0;
  overflow:hidden;
  border-radius:26px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(248,241,230,.92));
  box-shadow:var(--shadow);
}
.ntc-story-photo.large{
  grid-column:1 / -1;
}
.ntc-story-photo img{
  display:block;
  width:100%;
  height:280px;
  object-fit:cover;
}
.ntc-story-photo.large img{
  height:360px;
}
.ntc-story-photo figcaption{
  padding:14px 16px;
  color:#4b6275;
  font-size:13px;
  line-height:1.6;
  border-top:1px solid var(--line);
}
.ntc-story-grid-wide{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.ntc-story-sources{
  margin-top:24px;
  padding:28px;
  border-radius:30px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(248,241,230,.92));
  box-shadow:var(--shadow);
}
.ntc-admin-hero{
  display:grid;
  gap:12px;
}
.ntc-admin-layout{
  display:grid;
  grid-template-columns:minmax(320px, 460px) minmax(0, 1fr);
  gap:22px;
  margin-top:24px;
  align-items:start;
}
.ntc-admin-sidebar{
  position:sticky;
  top:104px;
}
.ntc-admin-settings-launchers{
  display:grid;
  gap:14px;
  margin-top:22px;
}
.ntc-admin-settings-launch{
  display:grid;
  gap:8px;
  width:100%;
  padding:20px;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(248,241,230,.86));
  color:var(--text);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.ntc-admin-settings-launch strong{
  font-family:"Fraunces",serif;
  font-size:24px;
}
.ntc-admin-settings-launch span:last-child{
  color:#4b6275;
  line-height:1.6;
}
.ntc-admin-settings-launch:hover{
  transform:translateY(-4px);
  border-color:rgba(31,166,161,.22);
  box-shadow:0 22px 46px rgba(77,67,55,.14);
}
.ntc-admin-directory-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.ntc-admin-filters{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.ntc-admin-unit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}
.ntc-admin-unit-card{
  display:grid;
  gap:14px;
  padding:20px;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,241,230,.9));
  box-shadow:var(--shadow);
}
.ntc-admin-unit-card.active{
  border-color:rgba(31,166,161,.26);
  box-shadow:0 22px 48px rgba(31,166,161,.12);
}
.ntc-admin-unit-card h3{
  margin:0;
  font-family:"Fraunces",serif;
  font-size:28px;
}
.ntc-admin-unit-card p{
  margin:0;
  color:#4b6275;
  line-height:1.7;
}
.ntc-admin-unit-card-top,.ntc-admin-unit-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.ntc-admin-unit-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ntc-admin-unit-image{
  min-height:180px;
  border-radius:20px;
  border:1px dashed rgba(34,53,72,.18);
  display:grid;
  place-items:end start;
  padding:16px;
  background:
    linear-gradient(180deg, rgba(255,248,239,.16), rgba(79,113,102,.12)),
    linear-gradient(160deg, rgba(255,255,255,.8), rgba(248,241,230,.5));
  background-size:cover;
  background-position:center;
}
.ntc-admin-unit-image span{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,253,248,.86);
  color:#35526a;
  font-size:12px;
  font-weight:700;
}
.ntc-admin-settings-grid,.ntc-admin-modal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.ntc-admin-section-tabs{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:18px 0 20px;
}
.ntc-admin-settings-section{
  display:none;
}
.ntc-admin-settings-section.active{
  display:block;
}
.ntc-admin-settings-grid .full,.ntc-admin-modal-grid .full{
  grid-column:1 / -1;
}
.admin-form label{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:.03em;
}
.admin-form input,.admin-form textarea,.admin-form select{
  width:100%;
  border:none;
  outline:none;
  border-radius:16px;
  padding:14px 16px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(34,53,72,.12);
  color:var(--text);
  font:inherit;
}
.admin-form textarea{
  resize:vertical;
}
.ntc-admin-sumup-links{
  display:grid;
  gap:10px;
}
.ntc-admin-sumup-row{
  display:grid;
  grid-template-columns:minmax(150px,.9fr) minmax(120px,.7fr) minmax(220px,1.4fr) auto;
  gap:10px;
  align-items:center;
}
.ntc-admin-sumup-row .ntc-btn{
  min-height:50px;
  padding:0 16px;
}
.ntc-admin-inline-add{
  margin-top:10px;
}
.ntc-admin-empty-note{
  margin:0;
  padding:14px 16px;
  border-radius:16px;
  border:1px dashed rgba(34,53,72,.18);
  color:var(--muted);
  background:rgba(255,255,255,.42);
}
.admin-status{
  margin-top:18px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(106,247,200,.12);
  color:var(--green);
  border:1px solid rgba(106,247,200,.16);
}
.admin-status[data-state="error"]{
  background:rgba(255,86,86,.12);
  color:#ffb0b0;
  border-color:rgba(255,86,86,.16);
}
.ntc-admin-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease, visibility .25s ease;
  z-index:10020;
}
.ntc-admin-modal.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.ntc-admin-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(71,60,47,.28);
  backdrop-filter:blur(10px);
}
.ntc-admin-modal-card{
  position:relative;
  z-index:1;
  width:min(980px,calc(100vw - 32px));
  max-height:calc(100vh - 40px);
  overflow:auto;
  border-radius:32px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,253,248,.98), rgba(248,241,230,.96));
  box-shadow:0 28px 80px rgba(77,67,55,.20);
  padding:28px;
}
.ntc-admin-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--text);
  font-size:28px;
  cursor:pointer;
}
.ntc-admin-modal-head{
  padding-right:56px;
}
.ntc-admin-upload-panel{
  display:grid;
  gap:16px;
  margin-top:20px;
  padding:20px;
  border-radius:24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.72);
}
.ntc-admin-upload-panel h3{
  margin:12px 0 8px;
  font-family:"Fraunces",serif;
  font-size:28px;
}
.ntc-admin-upload-panel p{
  margin:0;
  color:#4b6275;
  line-height:1.7;
}
.ntc-admin-upload-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.ntc-upload-btn{
  cursor:pointer;
}
.ntc-admin-modal-actions{
  margin-top:20px;
}
.ntc-admin-image-preview{
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.78);
  padding:16px;
}
.ntc-admin-image-box{
  min-height:220px;
  border-radius:18px;
  border:1px dashed rgba(255,255,255,.16);
  display:grid;
  place-items:center;
  padding:18px;
  text-align:center;
  color:var(--muted);
  background:rgba(255,255,255,.62);
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.ntc-admin-image-box.has-image{
  align-items:end;
}
.ntc-admin-image-box.has-image span{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,253,248,.88);
  color:#35526a;
  word-break:break-all;
}
.ntc-image-picker-card{
  width:min(1120px,calc(100vw - 32px));
}
.ntc-admin-image-tools{
  margin:18px 0;
}
.ntc-admin-image-tools input{
  width:100%;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px 16px;
  background:rgba(255,255,255,.78);
  color:var(--text);
  font:inherit;
}
.ntc-image-picker-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:14px;
}
.ntc-image-picker-item{
  display:grid;
  gap:10px;
  border:1px solid var(--line);
  border-radius:22px;
  padding:12px;
  background:rgba(255,255,255,.76);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ntc-image-picker-item:hover{
  transform:translateY(-3px);
  border-color:rgba(36,176,160,.34);
  box-shadow:0 18px 38px rgba(77,67,55,.13);
}
.ntc-image-picker-thumb{
  min-height:150px;
  border-radius:16px;
  background-size:cover;
  background-position:center;
  border:1px solid rgba(34,53,72,.10);
}
.ntc-image-picker-item strong{
  font-family:"Fraunces",serif;
  font-size:18px;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.ntc-image-picker-item span:last-child,
.ntc-image-picker-empty{
  color:var(--muted);
}
.ntc-story-panel{
  display:grid;
  gap:16px;
}
.ntc-story-panel div{
  display:grid;
  gap:8px;
}
.ntc-story-panel strong{font-family:"Fraunces",serif;font-size:24px}
.ntc-story-panel span{color:#4b6275;line-height:1.6}
.ntc-leasing-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
}
.ntc-feature-list{
  display:grid;
  gap:12px;
}
.ntc-feature-list div{
  padding:16px 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.68);
}
.ntc-page-hero{margin-top:10px}
.ntc-unit-hero{
  position:relative;
  isolation:isolate;
}
.ntc-unit-hero.has-unit-backdrop{
  padding:clamp(14px, 1.8vw, 24px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.32);
  border-radius:34px;
  background-image:
    linear-gradient(90deg, rgba(255,248,236,.90), rgba(255,248,236,.50) 42%, rgba(8,14,17,.38)),
    var(--ntc-unit-backdrop);
  background-size:cover;
  background-position:center;
  box-shadow:0 30px 86px rgba(7,12,18,.22);
}
.ntc-unit-copy{
  padding:28px;
  border-radius:30px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(248,241,230,.92));
  box-shadow:var(--shadow);
}
.ntc-unit-hero.has-unit-backdrop .ntc-unit-copy{
  border-color:rgba(255,255,255,.42);
  background:linear-gradient(180deg, rgba(255,253,248,.93), rgba(250,241,226,.86));
  backdrop-filter:blur(16px);
}
.ntc-unit-visual{
  min-height:460px;
  overflow:hidden;
  position:relative;
  display:grid;
}
.ntc-unit-visual.has-image{
  padding:0;
  background:
    radial-gradient(circle at top right, rgba(31,166,161,.16), transparent 30%),
    linear-gradient(160deg, #fff9f1 0%, #edf5f1 100%);
}
.ntc-unit-visual-image{
  display:block;
  width:100%;
  height:100%;
  min-height:460px;
  box-sizing:border-box;
  object-fit:contain;
  object-position:center;
  padding:18px;
}
.ntc-unit-hero.has-unit-backdrop .ntc-unit-visual{
  border-color:rgba(255,255,255,.38);
  background:rgba(255,250,242,.16);
  backdrop-filter:blur(6px);
}
.ntc-unit-hero.has-unit-backdrop .ntc-unit-visual-image{
  object-fit:cover;
  padding:0;
}
.ntc-unit-visual.is-empty-visual{
  display:grid;
  align-items:end;
  background:
    radial-gradient(circle at top right, rgba(31,166,161,.18), transparent 24%),
    radial-gradient(circle at bottom left, rgba(242,183,164,.20), transparent 26%),
    linear-gradient(160deg, #fff9f1 0%, #edf5f1 100%);
}
.ntc-visual-overlay{
  padding:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,250,243,.92) 100%);
}
.ntc-visual-overlay span{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.74);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-soft)}
.ntc-visual-overlay strong{display:block;margin-top:14px;font-family:"Fraunces",serif;font-size:44px}
.ntc-visual-overlay p{margin:10px 0 0;color:#3f5568;max-width:34ch;line-height:1.7}
.ntc-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.ntc-detail-grid div{
  padding:16px 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.72);
}
.ntc-detail-grid strong{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.ntc-detail-grid span{color:#4b6275;line-height:1.6}
.ntc-footer{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:0 0 28px;
  color:var(--muted);
  font-size:14px;
}
.ntc-footer a{
  color:var(--cyan-soft);
  text-decoration:none;
  font-weight:700;
}
.ntc-footer a:hover,
.ntc-footer a:focus-visible{
  color:#0f6f70;
  text-decoration:underline;
}
.ntc-transition-overlay{
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at center, rgba(31,166,161,0.20) 0%, transparent 20%),
    radial-gradient(circle at 20% 30%, rgba(242,183,164,0.20) 0%, transparent 24%),
    radial-gradient(circle at 80% 70%, rgba(230,166,74,0.16) 0%, transparent 22%),
    rgba(248,241,230,0.88);
  opacity:0;
  visibility:hidden;
  transition:opacity .42s ease, visibility .42s ease;
  z-index:10100;
  overflow:hidden;
}
.ntc-transition-overlay.active{opacity:1;visibility:visible}
.ntc-transition-overlay.active::before{
  content:"";
  position:absolute;
  width:180vmax;
  height:180vmax;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:conic-gradient(from 0deg, rgba(31,166,161,.10), rgba(242,183,164,.12), rgba(230,166,74,.10), rgba(31,166,161,.10));
  animation:ntcSpin 4s linear infinite;
  filter:blur(40px);
}
.ntc-transition-overlay.active::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:36px 36px;
  opacity:.35;
  animation:ntcGridPulse 1.5s ease-in-out infinite alternate;
}
.ntc-enter-label{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
  color:transparent;
  font-size:2.5rem;
  font-weight:800;
  letter-spacing:0;
  line-height:1.08;
  background:linear-gradient(135deg, #efae68 0%, #24b0a0 34%, #3f6fd8 68%, #efae68 100%);
  background-size:220% 220%;
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 12px 34px rgba(36,176,160,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(18px) scale(.96);
  transition:opacity .28s ease, visibility .28s ease, transform .42s cubic-bezier(.2,.8,.2,1);
  z-index:10101;
  pointer-events:none;
}
.ntc-enter-label.active{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  animation:ntcEnterLabelGlow .9s ease both, ntcEnterLabelShift 2.6s ease-in-out infinite;
}
.ntc-intro-gate{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(circle at top left, rgba(242,183,164,.24), transparent 28%),
    radial-gradient(circle at top right, rgba(31,166,161,.18), transparent 24%),
    linear-gradient(180deg, rgba(255,249,241,.96), rgba(245,238,225,.94));
  backdrop-filter:blur(16px);
  z-index:10220;
}
.ntc-intro-gate[hidden],
.ntc-radio-dock[hidden]{
  display:none !important;
}
.ntc-intro-card{
  width:min(760px, calc(100vw - 32px));
  display:grid;
  gap:18px;
  padding:34px;
  border-radius:34px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,253,248,.98), rgba(248,241,230,.95));
  box-shadow:0 28px 80px rgba(77,67,55,.20);
  text-align:center;
}
.ntc-intro-card h1{
  margin:0;
  font-family:"Fraunces",serif;
  font-size:72px;
  line-height:.94;
}
.ntc-intro-card h1.is-intro-wave{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  column-gap:.02em;
  row-gap:.04em;
}
.ntc-intro-wave-letter{
  display:inline-block;
  color:#23384b;
  animation:ntcIntroLetterWave 3.6s ease-in-out infinite;
  animation-delay:calc(var(--intro-wave-index, 0) * .052s);
  will-change:transform,color,text-shadow;
}
.ntc-intro-wave-space{
  width:.34em;
}
.ntc-intro-card p{
  margin:0 auto;
  max-width:36ch;
  color:#4b6275;
  font-size:20px;
  line-height:1.75;
}
.ntc-intro-card .ntc-actions{
  justify-content:center;
  margin-top:8px;
}
.ntc-radio-dock{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:10035;
}
.ntc-radio-toggle{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  padding:10px 16px 10px 12px;
  border:none;
  border-radius:999px;
  cursor:pointer;
  background:rgba(255,253,248,.88);
  border:1px solid rgba(34,53,72,.10);
  box-shadow:0 16px 36px rgba(77,67,55,.14);
  backdrop-filter:blur(14px);
  color:var(--text);
}
.ntc-radio-toggle.is-playing{
  background:rgba(255,253,248,.94);
  border-color:rgba(31,166,161,.20);
  box-shadow:0 18px 42px rgba(36,176,160,.16);
}
.ntc-radio-pulse{
  width:14px;
  height:14px;
  border-radius:999px;
  background:linear-gradient(135deg,#efae68,#24b0a0);
  box-shadow:0 0 0 0 rgba(36,176,160,.34);
  flex:0 0 auto;
}
.ntc-radio-toggle.is-playing .ntc-radio-pulse{
  animation:ntcRadioPulse 1.8s ease-out infinite;
}
.ntc-radio-copy{
  display:grid;
  gap:2px;
  text-align:left;
}
.ntc-radio-copy strong{
  font-size:14px;
  line-height:1.05;
}
.ntc-radio-copy span{
  font-size:12px;
  color:var(--cyan-soft);
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.ntc-language-gate{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(248,241,230,.72);
  backdrop-filter:blur(16px);
  z-index:10040;
}
.ntc-language-card{
  width:min(92vw, 620px);
  border-radius:30px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,253,248,.98), rgba(248,241,230,.96));
  box-shadow:0 28px 80px rgba(77,67,55,.20);
  padding:30px;
  display:grid;
  gap:18px;
}
.ntc-language-card h2{
  margin:0;
  font-family:"Fraunces",serif;
  font-size:44px;
}
.ntc-language-card p{
  margin:0;
  color:#4d6576;
  line-height:1.75;
}
.ntc-language-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.ntc-language-option{
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.8);
  padding:18px;
  display:grid;
  gap:6px;
  cursor:pointer;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.ntc-language-option:hover{
  transform:translateY(-4px);
  border-color:rgba(230,166,74,.28);
  box-shadow:0 18px 38px rgba(77,67,55,.14);
}
.ntc-language-option strong{
  font-size:1.08rem;
}
.ntc-language-option span{
  color:#627789;
  font-size:.95rem;
}
html[dir="rtl"] .ntc-nav{
  justify-content:flex-start;
}
html[dir="rtl"] .ntc-nav-language{
  flex-direction:row-reverse;
}
.ntc-modal-wrap{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  transform:scale(.92);
  transition:opacity .35s ease, visibility .35s ease, transform .35s ease;
  z-index:10102;
  pointer-events:none;
}
.ntc-modal-wrap.active{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto}
.ntc-modal-card{
  width:min(92vw, 700px);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(241,248,255,.92));
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 24px 70px rgba(10,22,36,.25);
  padding:34px 28px 28px;
  position:relative;
  overflow:hidden;
  color:#14202b;
}
.ntc-modal-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right, rgba(15,95,255,.10), transparent 24%),
    radial-gradient(circle at bottom left, rgba(17,181,164,.10), transparent 28%);
  pointer-events:none;
}
.ntc-modal-close{
  position:absolute;
  top:16px;
  right:18px;
  width:42px;
  height:42px;
  border:none;
  border-radius:999px;
  background:rgba(20,32,43,.08);
  color:#14202b;
  font-size:1.4rem;
  cursor:pointer;
}
.ntc-modal-body{position:relative;z-index:1}
.ntc-modal-kicker{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  margin-bottom:14px;
  background:rgba(17,181,164,.10);
  color:#0b8f82;
}
.ntc-modal-body h3{
  font-size:2.6rem;
  line-height:1.04;
  margin:0 0 12px;
}
.ntc-modal-body p{
  color:#607080;
  line-height:1.7;
  margin:0 0 14px;
  font-size:1rem;
}
.ntc-modal-note{
  margin-top:18px;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(31,166,161,.10);
  color:#178b8f;
  font-weight:700;
}
@keyframes ntcFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(16px)}
}
@keyframes ntcCardFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes ntcDrift{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(4vw,3vh,0) scale(1.05)}
}
@keyframes ntcFloatUp{
  from{transform:translateY(12vh) scale(.92)}
  to{transform:translateY(-112vh) scale(1.08)}
}
@keyframes ntcSheen{
  0%{transform:translateX(-135%)}
  52%,100%{transform:translateX(135%)}
}
@keyframes ntcSpin{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes ntcGridPulse{
  from{opacity:.18}
  to{opacity:.38}
}
@keyframes ntcGridDrift{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(14px,14px,0)}
}
@keyframes ntcHeroBreathe{
  0%,100%{background-size:100%}
  50%{background-size:104%}
}
@keyframes ntcHeroRise{
  0%{opacity:0;transform:translateY(26px) scale(.985)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes ntcTitleColorDrift{
  0%,100%{background-position:0% 50%;filter:drop-shadow(0 4px 26px rgba(0,0,0,.38))}
  50%{background-position:100% 50%;filter:drop-shadow(0 5px 30px rgba(21,158,149,.28))}
}
@keyframes ntcJourneyFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -6px}
}
@keyframes ntcJourneyImageDrift{
  0%,100%{object-position:50% 50%}
  50%{object-position:54% 48%}
}
@keyframes ntcDirectoryNumberColor{
  0%,100%{background-position:0% 50%;filter:drop-shadow(0 0 0 rgba(21,158,149,0))}
  50%{background-position:100% 50%;filter:drop-shadow(0 6px 18px rgba(21,158,149,.18))}
}
@keyframes ntcGlowDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(54px,-24px,0) scale(1.18)}
}
@keyframes ntcWordmarkWave{
  0%,100%{transform:translateY(0) rotate(0deg)}
  20%{transform:translateY(-1px) rotate(-1deg)}
  40%{transform:translateY(-4px) rotate(1deg)}
  60%{transform:translateY(-1px) rotate(0deg)}
  80%{transform:translateY(1px) rotate(-.5deg)}
}
@keyframes ntcIntroLetterWave{
  0%,100%{
    transform:translateY(0) rotate(0deg);
    color:#23384b;
    text-shadow:0 0 0 rgba(31,166,161,0);
  }
  28%{
    transform:translateY(-6px) rotate(-1deg);
    color:#158b8f;
    text-shadow:0 10px 24px rgba(31,166,161,.18);
  }
  58%{
    transform:translateY(2px) rotate(1deg);
    color:#b77d3f;
    text-shadow:0 8px 20px rgba(217,167,91,.16);
  }
}
@keyframes ntcEnterLabelGlow{
  0%{
    opacity:0;
    filter:blur(10px);
  }
  100%{
    opacity:1;
    filter:blur(0);
  }
}
@keyframes ntcEnterLabelShift{
  0%,100%{
    background-position:0% 50%;
    text-shadow:0 12px 34px rgba(36,176,160,.18);
  }
  50%{
    background-position:100% 50%;
    text-shadow:0 16px 40px rgba(63,111,216,.22);
  }
}
@keyframes ntcRadioPulse{
  0%{box-shadow:0 0 0 0 rgba(36,176,160,.34)}
  70%{box-shadow:0 0 0 14px rgba(36,176,160,0)}
  100%{box-shadow:0 0 0 0 rgba(36,176,160,0)}
}
@media (max-width:1100px){
  .ntc-hero,.ntc-unit-hero,.ntc-story-preview,.ntc-story-hero,.ntc-leasing-grid,.ntc-directory-grid,.ntc-info-band,.ntc-story-grid,.ntc-story-grid-wide,.ntc-unit-details,.ntc-admin-layout,.ntc-admin-unit-grid,.ntc-promo-band,.ntc-promo-grid,.ntc-area-launches{grid-template-columns:1fr}
  .ntc-directory-grid--single{
    grid-template-columns:1fr;
  }
  .ntc-glass-card,.ntc-note-card{position:relative;top:auto;left:auto;right:auto;bottom:auto;max-width:none}
  .ntc-hero-stage{display:grid;gap:18px;min-height:unset}
  .ntc-hero-photo{position:relative;inset:auto;min-height:320px}
  .ntc-admin-sidebar{position:relative;top:auto}
  .ntc-hero-home{
    min-height:unset;
    padding:28px;
  }
  .ntc-hero-home::before{
    display:none;
  }
  .ntc-hero-home{
    animation:none;
  }
  .ntc-hero-home .ntc-hero-copy{
    max-width:none;
    margin:0 auto;
    padding:24px;
  }
  .ntc-hero-home .ntc-hero-copy h1{
    max-width:16ch;
    font-size:48px;
  }
  .ntc-hero-summary-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ntc-header,.ntc-main,.ntc-footer{width:min(1680px,calc(100% - 20px))}
  .ntc-header{
    align-items:flex-start;
    gap:12px;
  }
  .ntc-brand{
    width:100%;
    align-items:flex-start;
  }
  .ntc-brand-copy{
    max-width:none;
  }
  .ntc-brand-copy strong{
    font-size:18px;
  }
  .ntc-brand-copy span{
    font-size:12px;
  }
  .ntc-nav-toggle{display:inline-flex}
  .ntc-nav{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    padding-top:10px;
  }
  .ntc-nav.is-open{display:flex}
  .ntc-footer{flex-direction:column}
  .ntc-hero-copy,.ntc-hero-stage,.ntc-glass-card,.ntc-note-card,.ntc-info-band article,.ntc-floor-block,.ntc-story-preview,.ntc-copy-card,.ntc-page-hero,.ntc-unit-copy,.ntc-unit-visual,.ntc-story-panel div{padding:22px}
  .ntc-area-launch{
    padding:20px;
  }
  .ntc-area-launch strong{
    font-size:24px;
  }
  .ntc-directory-modal-card{
    width:min(100vw - 16px, 1000px);
    max-height:calc(100vh - 16px);
    padding:22px;
  }
  .ntc-hero-home{
    padding:18px;
  }
  .ntc-btn:hover,
  .ntc-info-band article:hover,
  .ntc-story-preview:hover,
  .ntc-copy-card:hover,
  .ntc-story-panel div:hover,
  .ntc-feature-list div:hover,
  .ntc-hero-summary .ntc-stat-row div:hover,
  .ntc-directory-card:hover{
    transform:none;
  }
  .ntc-hero-home .ntc-hero-copy{
    max-width:none;
    margin:0 auto;
    padding:20px 18px;
  }
  .ntc-hero-home .ntc-hero-copy h1{
    font-size:40px;
    max-width:14ch;
  }
  .ntc-hero-home .ntc-lead{
    font-size:15px;
    line-height:1.6;
  }
  .ntc-floor-head{
    align-items:flex-start;
  }
  .ntc-floor-head h3{
    font-size:22px;
    line-height:1.15;
  }
  .ntc-directory-card{
    padding:20px;
  }
  .ntc-card-visual{
    height:150px;
    margin:-20px -20px 16px;
  }
  .ntc-enter-label{
    padding:20px;
    font-size:2rem;
  }
  .ntc-intro-card{
    padding:24px;
    border-radius:28px;
  }
  .ntc-intro-card h1{
    font-size:52px;
  }
  .ntc-radio-dock{
    right:12px;
    left:auto;
    bottom:12px;
  }
  .ntc-radio-toggle{
    width:54px;
    height:54px;
    min-height:54px;
    padding:0;
    justify-content:center;
  }
  .ntc-radio-copy{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .ntc-directory-card h4{
    font-size:22px;
  }
  .ntc-card-meta{
    gap:8px;
    font-size:13px;
  }
  .ntc-card-cta{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .ntc-promo-visual{
    min-height:430px;
    padding:16px;
  }
  .ntc-promo-visual--shop{
    min-height:320px;
  }
  .ntc-promo-billboard{
    min-height:396px;
    padding:18px 14px 118px;
  }
  .ntc-promo-panel{
    margin:72px auto 0;
    width:min(250px, 100%);
    padding:22px 18px;
  }
  .ntc-promo-panel--shop{
    margin:22px auto 0;
  }
  .ntc-promo-panel strong{
    font-size:38px;
    line-height:1.06;
  }
  .ntc-promo-marquee,
  .ntc-promo-marquee--inside{
    left:14px;
    right:14px;
    bottom:26px;
    gap:8px;
  }
  .ntc-promo-marquee span{
    padding:8px 10px;
    font-size:10px;
    line-height:1.15;
  }
  .ntc-promo-stack{
    top:20px;
    left:18px;
    right:18px;
    width:auto;
  }
  .ntc-promo-chip{
    padding:12px 14px;
    font-size:14px;
  }
  .ntc-language-grid{
    grid-template-columns:1fr;
  }
  .ntc-hero-summary .ntc-stat-row{
    gap:10px;
  }
  .ntc-hero-summary .ntc-stat-row div{
    flex:1 1 100%;
  }
  .ntc-detail-grid,.ntc-admin-settings-grid,.ntc-admin-modal-grid{grid-template-columns:1fr}
  .ntc-admin-sumup-row{grid-template-columns:1fr}
  .ntc-admin-modal-card{padding:22px}
}

@media (prefers-reduced-motion: reduce){
  .ntc-intro-wave-letter{
    animation:none;
  }
}

:root{
  --bg:#0b1116;
  --bg-soft:#111a21;
  --panel:#f7f1e7;
  --panel-alt:#e8dfd1;
  --text:#16222b;
  --muted:#63717a;
  --line:rgba(22,34,43,.14);
  --cyan:#159e95;
  --cyan-soft:#0d7f79;
  --gold:#d69b41;
  --green:#4f9f73;
  --violet:#a84f45;
  --rose:#b96053;
  --shadow:0 26px 70px rgba(5,10,14,.18);
}

body{
  color:var(--text);
  background:#0b1116;
}

.ntc-shell{
  background:
    radial-gradient(circle at 52% 12%, rgba(214,155,65,.18), transparent 30%),
    linear-gradient(180deg, rgba(7,12,18,.62) 0%, rgba(10,22,28,.42) 32%, rgba(245,239,229,.34) 58%, rgba(245,239,229,.46) 100%),
    var(--ntc-site-bg-image) center center / cover fixed no-repeat;
}

.ntc-header{
  width:100%;
  max-width:none;
  padding:14px max(18px, calc((100vw - 1320px) / 2));
  background:rgba(8,13,18,.86);
  border-bottom:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(18px);
}

.ntc-brand-copy strong,
.ntc-nav a,
.ntc-nav-toggle,
.ntc-nav-language{
  color:#fff7ed;
}

.ntc-brand-copy span{
  color:rgba(255,247,237,.66);
}

.ntc-brand-mark{
  border-radius:8px;
  background:linear-gradient(135deg, #d69b41, #159e95);
}

.ntc-nav a,
.ntc-nav-toggle,
.ntc-nav-language{
  min-height:44px;
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
}

.ntc-main{
  width:min(1320px, calc(100% - 36px));
  padding:0 0 86px;
}

.ntc-hero-home{
  width:100vw;
  min-height:0;
  margin-left:50%;
  transform:translateX(-50%);
  border-radius:0;
  border:0;
  padding:0 0 clamp(28px, 5vw, 58px);
  display:grid;
  gap:0;
  align-content:start;
  background:#070a0e;
  box-shadow:none;
  animation:none;
}

body.ntc-motion-ready .ntc-hero-home.ntc-reveal,
body.ntc-motion-ready .ntc-hero-home.ntc-reveal.is-visible{
  transform:translateX(-50%);
}

.ntc-hero-home::before{
  content:"";
  position:relative;
  inset:auto;
  display:block;
  min-height:clamp(280px, 46vw, 620px);
  background-image:var(--ntc-home-hero-image, var(--ntc-site-bg-image));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transform:none;
  animation:none;
  pointer-events:none;
}

.ntc-hero-home::after{
  display:none;
}

.ntc-hero-home .ntc-hero-copy{
  align-items:flex-start;
  width:min(1320px, calc(100% - 36px));
  max-width:none;
  margin:clamp(22px, 4vw, 44px) auto 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  text-align:left;
}

.ntc-hero-home .ntc-hero-copy h1{
  max-width:none;
  margin:18px 0 18px;
  color:#fff7ed;
  font-size:128px;
  line-height:.9;
  letter-spacing:0;
  text-wrap:balance;
}

.ntc-hero-home .ntc-lead{
  max-width:760px;
  margin:0;
  color:rgba(255,247,237,.86);
  font-size:30px;
  line-height:1.35;
}

.ntc-kicker{
  border-color:rgba(255,255,255,.20);
  background:rgba(255,255,255,.10);
  color:#ffe1ad;
}

.ntc-page-hero > .ntc-kicker,
.ntc-promo-featured .ntc-kicker,
.ntc-contact-copy .ntc-kicker{
  border-color:rgba(214,155,65,.24);
  background:rgba(214,155,65,.14);
  color:#8d5a13;
}

.ntc-hero-home .ntc-actions{
  justify-content:flex-start;
  gap:12px;
  margin-top:28px;
}

.ntc-btn{
  min-height:52px;
  border-radius:8px;
  padding:0 22px;
  text-align:center;
}

.ntc-btn-solid{
  background:#d69b41;
  color:#111820;
  box-shadow:0 18px 34px rgba(214,155,65,.26);
}

.ntc-btn-ghost{
  background:rgba(255,255,255,.86);
  color:#13202a;
  border-color:rgba(19,32,42,.14);
}

.ntc-btn-dark{
  background:#12232b;
  color:#fff7ed;
  border:1px solid rgba(255,255,255,.18);
}

.ntc-quick-strip{
  position:static;
  width:min(1320px, calc(100% - 36px));
  margin:24px auto 0;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(16px);
}

.ntc-quick-strip div{
  display:grid;
  gap:4px;
  padding:18px;
  background:rgba(7,12,18,.54);
}

.ntc-quick-strip strong{
  color:#fff7ed;
  font-size:17px;
}

.ntc-quick-strip span{
  color:rgba(255,247,237,.72);
  font-size:14px;
}

.ntc-destination-strip,
.ntc-featured-section,
.ntc-website-partners,
.ntc-contact-section{
  margin-top:34px;
}

.ntc-destination-strip{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:22px;
  align-items:center;
  padding:28px;
  border-radius:10px;
  background:#13232c;
  color:#fff7ed;
}

.ntc-destination-copy h2,
.ntc-section-head h2,
.ntc-story-copy h2,
.ntc-contact-copy h2{
  margin:14px 0 0;
  font-family:"Fraunces",serif;
  line-height:1;
  letter-spacing:0;
  font-size:58px;
}

.ntc-destination-actions{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
}

.ntc-mini-link{
  display:flex;
  min-height:54px;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#fff7ed;
  text-decoration:none;
  font-weight:800;
}

.ntc-section-head--split{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
}

.ntc-featured-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.ntc-feature-card{
  position:relative;
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:0;
  overflow:hidden;
  border-radius:10px;
  border:1px solid rgba(34,53,72,.10);
  background:#fffaf2;
  cursor:pointer;
  box-shadow:var(--shadow);
}

.ntc-feature-card img{
  display:block;
  width:100%;
  height:clamp(250px, 27vw, 380px);
  min-height:0;
  object-fit:cover;
  transition:transform .45s ease;
}

.ntc-feature-card::after{
  display:none;
}

.ntc-feature-card-copy{
  position:static;
  z-index:1;
  padding:22px;
  color:#13232c;
  background:#fffaf2;
}

.ntc-feature-card-copy span{
  display:inline-flex;
  margin-bottom:10px;
  color:#8d5a13;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ntc-feature-card-copy h3{
  margin:0 0 8px;
  font-family:"Fraunces",serif;
  font-size:36px;
  line-height:1;
  color:#13232c;
}

.ntc-feature-card-copy p{
  margin:0;
  color:#4b6275;
  line-height:1.55;
}

.ntc-feature-card:hover img{
  transform:scale(1.045);
}

.ntc-promo-band{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  margin-top:34px;
}

.ntc-promo-featured,
.ntc-promo-card,
.ntc-story-preview,
.ntc-contact-copy,
.ntc-map-card,
.ntc-page-hero,
.ntc-copy-card,
.ntc-floor-block,
.ntc-directory-card,
.ntc-area-launch{
  border-radius:10px;
}

.ntc-page-hero{
  margin-top:28px;
  min-height:0;
  display:grid;
  gap:12px;
  align-content:start;
  overflow:hidden;
  border:0;
  padding:0 0 clamp(24px, 4vw, 42px);
  background:#fffaf2;
  color:#13232c;
}

.ntc-page-hero::before{
  content:"";
  display:block;
  min-height:clamp(240px, 34vw, 440px);
  background:var(--ntc-site-bg-image) center/cover no-repeat;
}

.ntc-page-hero > .ntc-kicker,
.ntc-page-hero > h1,
.ntc-page-hero > p,
.ntc-page-hero > .ntc-actions{
  margin-left:clamp(22px, 4vw, 42px);
  margin-right:clamp(22px, 4vw, 42px);
}

.ntc-page-hero h1{
  color:#13232c;
  letter-spacing:0;
}

.ntc-page-hero .ntc-lead{
  max-width:760px;
  color:#4b6275;
}

.ntc-area-launch{
  min-height:360px;
  position:relative;
  overflow:hidden;
  align-content:end;
  padding:0 22px 24px;
  background:#fffaf2;
  color:#13232c;
}

.ntc-area-launch::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:58%;
  display:block;
  margin:0;
  background:var(--ntc-area-image, var(--ntc-site-bg-image)) center/cover no-repeat;
  transition:transform .55s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}

.ntc-area-launch[data-area-open="first"]{
  background:#fffaf2;
}

.ntc-area-launch[data-area-open="outside"]{
  background:#fffaf2;
}

.ntc-area-launch span:last-child{
  color:#4b6275;
}

.ntc-directory-card{
  background:#fffaf2;
}

.ntc-promo-featured{
  padding:28px;
  background:#fffaf2;
}

.ntc-promo-featured--offers{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(255,225,173,.14), rgba(255,250,242,.98) 34%),
    #fffaf2;
}

.ntc-promo-featured--offers::before{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(214,155,65,.34);
  border-radius:inherit;
  pointer-events:none;
}

.ntc-promo-featured--offers .ntc-section-head{
  position:relative;
  z-index:1;
}

.ntc-promo-visual{
  min-height:0;
  padding:0;
  border-radius:8px;
  background:#fffaf2;
}

.ntc-promo-visual::before{
  display:none;
}

.ntc-promo-billboard{
  border:0;
  border-radius:8px;
  padding:0;
  align-items:stretch;
  min-height:360px;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;
  background-color:#fffaf2;
}

.ntc-promo-billboard.has-image::before{
  display:none;
}

.ntc-promo-panel{
  display:none;
}

.ntc-promo-marquee{
  display:none;
}

.ntc-promo-panel strong{
  color:#fff7ed;
}

.ntc-promo-panel small{
  display:block;
  color:rgba(255,247,237,.72);
  font-size:15px;
  font-weight:800;
  line-height:1.45;
}

.ntc-event-card{
  background:linear-gradient(180deg, rgba(255,250,242,.98), rgba(246,236,220,.94));
  color:#13232c;
  border-color:rgba(214,155,65,.28);
  box-shadow:0 28px 70px rgba(70,55,36,.18);
}

.ntc-event-card .ntc-promo-visual{
  min-height:auto;
  aspect-ratio:16 / 9;
  border-color:rgba(214,155,65,.26);
  background:#fffaf2;
}

.ntc-event-card .ntc-promo-billboard{
  min-height:100%;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;
  background-color:#fffaf2;
}

.ntc-event-card .ntc-promo-billboard.has-image::before{
  display:none;
}

.ntc-event-card .ntc-promo-panel{
  display:none;
}

.ntc-event-details{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.ntc-event-details div{
  display:grid;
  gap:3px;
  padding:14px;
  border-radius:8px;
  border:1px solid rgba(214,155,65,.18);
  background:rgba(255,255,255,.58);
}

.ntc-event-details strong{
  color:#9a6217;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ntc-event-details span{
  color:#253a4a;
  font-weight:800;
}

.ntc-event-nights{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
}

.ntc-event-nights span{
  display:flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:10px;
  border-radius:8px;
  background:linear-gradient(135deg, rgba(214,155,65,.20), rgba(255,255,255,.68));
  color:#253a4a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-align:center;
  text-transform:uppercase;
}

.ntc-ticket-flow{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.ntc-ticket-flow div{
  display:grid;
  gap:6px;
  padding:16px;
  border-radius:8px;
  border:1px solid rgba(214,155,65,.26);
  background:rgba(255,255,255,.58);
}

.ntc-ticket-flow strong{
  color:#9a6217;
  font-size:14px;
}

.ntc-ticket-flow span{
  color:#3f5568;
  line-height:1.55;
}

.ntc-event-actions{
  margin-top:2px;
}

.ntc-event-actions .ntc-btn-ghost{
  background:rgba(255,255,255,.10);
  color:#fff7ed;
  border-color:rgba(255,255,255,.18);
}

.ntc-ticket-desk-hero,
.ntc-ticket-check-hero,
.ntc-ticket-checkout-hero{
  background:#fffaf2;
}

.ntc-admin-hero{
  padding:28px;
}

.ntc-admin-hero::before{
  display:none;
}

.ntc-ticket-desk-hero,
.ntc-ticket-check-hero,
.ntc-ticket-checkout-hero{
  overflow:hidden;
  padding:0 0 clamp(24px, 4vw, 42px);
}

.ntc-ticket-desk-hero::before,
.ntc-ticket-check-hero::before,
.ntc-ticket-checkout-hero::before{
  display:block;
  background-image:url('images/promotions/four-nights-webposter.png');
  background-size:cover;
  background-position:center;
}

.ntc-ticket-admin-layout{
  grid-template-columns:minmax(340px, .85fr) minmax(0, 1.15fr);
}

.ntc-ticket-checkout-layout{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(360px,.58fr);
  gap:24px;
  align-items:start;
  margin-top:34px;
}

.ntc-ticket-summary,
.ntc-ticket-order-card{
  display:grid;
  gap:18px;
}

.ntc-ticket-summary img,
.ntc-ticket-checkout-poster img{
  display:block;
  width:100%;
  border-radius:10px;
  object-fit:cover;
  box-shadow:0 18px 46px rgba(7,12,18,.18);
}

.ntc-ticket-summary img{
  max-height:430px;
}

.ntc-event-picker-field{
  position:relative;
}

.ntc-native-event-select{
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  border:0;
  opacity:0;
  pointer-events:none;
}

.ntc-event-picker-trigger{
  display:grid;
  gap:6px;
  width:100%;
  min-height:72px;
  padding:16px 18px;
  border-radius:16px;
  border:1px solid rgba(17,24,32,.12);
  background:rgba(255,255,255,.82);
  color:#172534;
  text-align:left;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(17,24,32,.08);
}

.ntc-event-picker-trigger span{
  font-weight:900;
}

.ntc-event-picker-trigger strong{
  color:#9a6217;
  font-size:13px;
}

.ntc-event-picker-popover{
  display:none;
  position:fixed;
  inset:0;
  z-index:120;
  place-items:center;
  padding:20px;
}

.ntc-event-picker-popover.active{
  display:grid;
}

.ntc-event-picker-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,12,18,.58);
  backdrop-filter:blur(10px);
}

.ntc-event-picker-panel{
  position:relative;
  z-index:1;
  width:min(760px, 100%);
  max-height:min(82vh, 760px);
  overflow:auto;
  padding:22px;
  border-radius:18px;
  border:1px solid rgba(214,155,65,.28);
  background:linear-gradient(180deg, rgba(255,250,242,.98), rgba(245,236,222,.96));
  box-shadow:0 34px 90px rgba(0,0,0,.32);
}

.ntc-event-picker-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:18px;
}

.ntc-event-picker-head strong{
  display:block;
  margin-top:4px;
  font-family:"Fraunces",serif;
  color:#13232c;
  font-size:30px;
}

.ntc-event-picker-head button{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(17,24,32,.12);
  background:#fffaf2;
  color:#13232c;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.ntc-event-picker-months{
  display:grid;
  gap:16px;
}

.ntc-event-picker-month{
  display:grid;
  gap:10px;
}

.ntc-event-picker-month h3{
  margin:0;
  color:#9a6217;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ntc-event-picker-month > div{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.ntc-event-picker-month button{
  display:grid;
  gap:5px;
  min-height:92px;
  padding:14px;
  border-radius:12px;
  border:1px solid rgba(17,24,32,.10);
  background:rgba(255,255,255,.76);
  color:#172534;
  text-align:left;
  cursor:pointer;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ntc-event-picker-month button:hover{
  transform:translateY(-1px);
  border-color:rgba(214,155,65,.48);
  box-shadow:0 16px 34px rgba(17,24,32,.12);
}

.ntc-event-picker-month button span{
  color:#4b6275;
  font-size:13px;
  font-weight:800;
}

.ntc-event-picker-month button strong{
  font-size:17px;
}

.ntc-event-picker-month button em{
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(154,98,23,.12);
  color:#8a5411;
  font-size:11px;
  font-style:normal;
  font-weight:900;
  text-transform:uppercase;
}

@media (max-width: 640px){
  .ntc-event-picker-popover{
    padding:12px;
  }

  .ntc-event-picker-panel{
    padding:18px;
    max-height:88vh;
  }

  .ntc-event-picker-head strong{
    font-size:24px;
  }

  .ntc-event-picker-month > div{
    grid-template-columns:1fr;
  }
}

.ntc-ticket-quantity-field{
  display:grid;
  gap:10px;
}

.ntc-ticket-quantity-field.is-disabled{
  opacity:.68;
}

.ntc-ticket-quantity-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  align-items:start;
}

.ntc-ticket-stepper{
  display:grid;
  grid-template-columns:46px minmax(70px, 1fr) 46px;
  gap:8px;
  align-items:center;
  width:min(100%, 230px);
}

.ntc-ticket-stepper input{
  min-height:46px;
  text-align:center;
  font-weight:900;
  font-size:18px;
  -moz-appearance:textfield;
}

.ntc-ticket-stepper input:disabled{
  color:#7a6b57;
  background:rgba(255,255,255,.62);
}

.ntc-ticket-stepper input::-webkit-outer-spin-button,
.ntc-ticket-stepper input::-webkit-inner-spin-button{
  margin:0;
  -webkit-appearance:none;
}

.ntc-ticket-stepper-btn{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(17,24,32,.12);
  background:linear-gradient(180deg, #fffaf2, #f1dfc0);
  color:#182532;
  font-size:24px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(17,24,32,.1);
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.ntc-ticket-stepper-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 32px rgba(17,24,32,.14);
}

.ntc-ticket-stepper-btn:disabled{
  cursor:not-allowed;
  opacity:.45;
  transform:none;
  box-shadow:none;
}

.ntc-ticket-unavailable-note{
  display:none;
  color:#9a6217;
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}

.ntc-ticket-quantity-field.is-disabled .ntc-ticket-unavailable-note{
  display:block;
}

.ntc-ticket-total-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(214,155,65,.24);
  background:linear-gradient(135deg, rgba(214,155,65,.14), rgba(255,255,255,.72));
}

.ntc-ticket-total-bar span{
  color:#7a6b57;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ntc-ticket-total-bar strong{
  color:#13232c;
  font-size:20px;
}

.ntc-ticket-single-note{
  display:grid;
  gap:4px;
  padding:13px 15px;
  border-radius:14px;
  border:1px solid rgba(154,98,23,.26);
  background:rgba(255,245,225,.82);
}

.ntc-ticket-single-note strong{
  color:#9a6217;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ntc-ticket-single-note span{
  color:#3f5568;
  font-weight:800;
  line-height:1.45;
}

.ntc-ticket-checkout-poster{
  margin:0;
}

.ntc-ticket-checkout-poster img{
  max-height:620px;
}

.ntc-ticket-generator-layout{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(340px, .6fr);
  gap:22px;
  align-items:start;
  margin-top:34px;
}

.ntc-art-sheet{
  display:grid;
  gap:18px;
  margin-top:34px;
}

.ntc-art-sheet--samples{
  gap:14px;
}

.ntc-art-ticket{
  --ticket-gold:#f4c56b;
  --ticket-cream:#fff1c5;
  display:grid;
  grid-template-columns:minmax(0, 2.55fr) minmax(300px, .92fr);
  aspect-ratio:2.42 / 1;
  width:100%;
  min-height:clamp(300px, 38vw, 540px);
  overflow:hidden;
  border:2px solid rgba(244,197,107,.78);
  border-radius:10px;
  background:#061217;
  color:var(--ticket-cream);
  box-shadow:0 20px 60px rgba(7,12,18,.24);
}

.ntc-art-ticket-main{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:clamp(8px, 1.1vw, 16px);
  min-height:0;
  padding:clamp(16px, 2.4vw, 32px);
  background-image:
    linear-gradient(90deg, rgba(3,8,10,.82), rgba(3,8,10,.42) 48%, rgba(3,8,10,.62)),
    radial-gradient(circle at 18% 50%, rgba(244,197,107,.18), transparent 35%),
    var(--ticket-art);
  background-size:116% auto;
  background-position:center;
}

.ntc-art-ticket-main::after{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(244,197,107,.46);
  border-radius:8px;
  pointer-events:none;
}

.ntc-art-ticket-brand,
.ntc-art-ticket-title,
.ntc-art-ticket-facts,
.ntc-art-ticket-contact{
  position:relative;
  z-index:1;
}

.ntc-art-ticket-brand{
  margin-top:clamp(6px, .85vw, 14px);
  color:#fff8dd;
  font-size:clamp(16px, 2.2vw, 36px);
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.76);
}

.ntc-art-ticket-title{
  display:grid;
  gap:clamp(4px, .7vw, 10px);
  max-width:760px;
  padding:0 0 0 clamp(10px, 1.2vw, 16px);
  border-left:3px solid rgba(244,197,107,.72);
  background:transparent;
  box-shadow:none;
}

.ntc-art-ticket-title span{
  width:max-content;
  max-width:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#ffd77b;
  font-size:clamp(18px, 2.7vw, 46px);
  font-weight:900;
  line-height:.95;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.76);
}

.ntc-art-ticket-title strong{
  color:#fff5ce;
  font-family:"Fraunces",serif;
  font-size:clamp(36px, 6.6vw, 104px);
  line-height:.86;
  text-transform:uppercase;
  text-shadow:0 3px 14px rgba(0,0,0,.88), 0 0 1px #140a03;
}

.ntc-art-ticket-title em{
  width:max-content;
  max-width:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#fff2bc;
  font-size:clamp(13px, 1.7vw, 28px);
  font-weight:900;
  font-style:normal;
  text-transform:uppercase;
  text-shadow:0 2px 9px rgba(0,0,0,.72);
}

.ntc-art-ticket-facts{
  display:grid;
  grid-template-columns:.7fr .65fr minmax(0,1fr);
  gap:clamp(6px, .8vw, 10px);
  align-items:stretch;
  padding:clamp(7px, .9vw, 10px) 0 0;
  border-top:1px solid rgba(244,197,107,.58);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.ntc-art-ticket-facts span{
  display:flex;
  align-items:center;
  min-height:0;
  padding:0 clamp(8px, 1vw, 14px);
  border:0;
  border-right:1px solid rgba(244,197,107,.34);
  border-radius:0;
  background:transparent;
  color:#fff5d2;
  font-size:clamp(12px, 1.25vw, 20px);
  font-weight:900;
  line-height:1.2;
  text-transform:uppercase;
  text-shadow:0 1px 7px rgba(0,0,0,.72);
}

.ntc-art-ticket-facts span:last-child{
  border-right:0;
}

.ntc-art-ticket-contact{
  display:none;
  flex-wrap:wrap;
  gap:clamp(6px, .75vw, 10px);
  color:#100b08;
  font-size:clamp(10px, 1.35vw, 22px);
  font-weight:900;
  width:max-content;
  max-width:100%;
  padding:clamp(6px, .8vw, 9px) clamp(10px, 1.1vw, 16px);
  border-radius:8px;
  background:rgba(255,240,198,.94);
  box-shadow:0 14px 28px rgba(0,0,0,.14);
}

.ntc-art-ticket-contact span{
  display:inline-flex;
  align-items:center;
  min-height:0;
  padding:0;
  border-radius:0;
  background:transparent;
}

.ntc-art-ticket-stub{
  position:relative;
  display:grid;
  grid-template-rows:auto auto auto minmax(28px, 1fr) auto;
  gap:clamp(8px, .9vw, 13px);
  justify-items:center;
  padding:clamp(18px, 1.65vw, 26px);
  border-left:2px dashed rgba(255,241,197,.78);
  background-image:
    linear-gradient(145deg, rgba(4,31,28,.94), rgba(74,10,26,.92)),
    var(--ticket-art);
  background-size:360% auto;
  background-position:right center;
  text-align:center;
}

.ntc-art-ticket-stub-head{
  display:grid;
  gap:6px;
  justify-items:center;
}

.ntc-art-ticket-stub-head span{
  color:#fff5ce;
  font-size:clamp(24px, 2.35vw, 42px);
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
}

.ntc-art-ticket-stub-head em{
  padding:4px 8px;
  border-radius:6px;
  background:rgba(255,241,197,.10);
  color:#fff2bd;
  font-size:clamp(12px, 1.7vw, 24px);
  font-style:normal;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
}

.ntc-art-ticket-price{
  display:block;
  width:min(100%, 236px);
  padding:clamp(8px, 1vw, 12px) clamp(12px, 1.6vw, 24px);
  border:2px solid rgba(84,13,18,.82);
  border-radius:10px;
  background:linear-gradient(180deg, #f7d578, #d7a745);
  color:#7b0914;
  font-size:clamp(44px, 4.45vw, 74px);
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}

.ntc-art-ticket-stub small{
  color:#fff7dc;
  font-size:clamp(12px, 1.05vw, 18px);
  font-weight:900;
  text-transform:uppercase;
  text-shadow:0 1px 7px rgba(0,0,0,.74);
}

.ntc-art-ticket-stub-skyline{
  align-self:end;
  width:100%;
  height:clamp(18px, 2.4vw, 34px);
  border-bottom:2px solid rgba(244,197,107,.72);
  opacity:.82;
  background:
    linear-gradient(90deg, transparent 0 7%, rgba(244,197,107,.70) 7% 10%, transparent 10% 16%, rgba(244,197,107,.70) 16% 18%, transparent 18% 25%, rgba(244,197,107,.70) 25% 28%, transparent 28% 100%);
  clip-path:polygon(0 100%, 0 75%, 8% 75%, 8% 45%, 12% 45%, 12% 70%, 18% 70%, 18% 28%, 22% 28%, 22% 75%, 34% 75%, 34% 38%, 39% 38%, 39% 75%, 52% 75%, 52% 20%, 58% 20%, 58% 75%, 72% 75%, 72% 42%, 78% 42%, 78% 75%, 90% 75%, 90% 55%, 95% 55%, 95% 75%, 100% 75%, 100% 100%);
}

.ntc-art-ticket-number{
  display:grid;
  gap:4px;
  align-items:start;
  justify-items:start;
  width:100%;
  align-self:end;
  padding:clamp(8px, 1vw, 12px) clamp(10px, 1vw, 14px);
  border:1px solid rgba(84,13,18,.72);
  border-radius:8px;
  background:rgba(255,231,164,.95);
  color:#4c0c14;
}

.ntc-art-ticket-number span{
  color:#4c0c14;
  font-size:clamp(10px, .9vw, 15px);
  font-weight:900;
  text-transform:uppercase;
}

.ntc-art-ticket-number b{
  display:block;
  max-width:100%;
  color:#8a101b;
  font-size:clamp(22px, 1.65vw, 28px);
  line-height:1.05;
  overflow-wrap:anywhere;
  text-align:left;
  white-space:nowrap;
}

.ntc-ticket-customer-name{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:8px 0 0;
  padding:10px 14px;
  border-radius:8px;
  background:rgba(255,255,255,.82);
  color:#13232c;
}

.ntc-ticket-customer-name span{
  color:#7a6b57;
  font-weight:900;
  text-transform:uppercase;
}

.ntc-ticket-table{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.ntc-ticket-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:16px;
  border-radius:10px;
  border:1px solid rgba(34,53,72,.12);
  background:rgba(255,255,255,.70);
}

.ntc-ticket-row strong,
.ntc-ticket-row span,
.ntc-ticket-row small{
  display:block;
}

.ntc-ticket-row strong{
  color:#13232c;
  font-size:18px;
}

.ntc-ticket-row span{
  margin-top:4px;
  color:#4b6275;
  line-height:1.45;
}

.ntc-ticket-row small{
  margin-top:6px;
  color:#7a6b57;
  font-weight:800;
  text-transform:uppercase;
}

.ntc-ticket-row-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.ntc-ticket-row-actions form{
  margin:0;
}

.ntc-ticket-row-actions .ntc-btn{
  min-height:44px;
  padding:0 14px;
}

.ntc-ticket-print-body{
  background:#efe8dc;
}

.ntc-ticket-print-page{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:28px 0 70px;
}

.ntc-ticket-print-actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:24px;
}

.ntc-ticket-sheet,
.ntc-ticket-public-wrap{
  display:grid;
  gap:22px;
  margin-top:28px;
}

.ntc-ticket-screen-actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap{
  margin-top:0;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket{
  grid-template-columns:minmax(0, 1.38fr) minmax(176px, .92fr);
  aspect-ratio:1.38 / 1;
  min-height:360px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-main{
  gap:10px;
  padding:18px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-main::after{
  inset:8px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-brand{
  margin-top:4px;
  font-size:clamp(18px, 1.9vw, 28px);
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-title{
  gap:6px;
  padding-left:10px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-title span{
  font-size:clamp(14px, 1.6vw, 22px);
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-title strong{
  font-size:clamp(30px, 3.5vw, 54px);
  line-height:.9;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-title em{
  font-size:clamp(11px, 1.25vw, 17px);
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-facts{
  grid-template-columns:1fr;
  gap:3px;
  padding-top:6px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-facts span{
  min-height:0;
  padding:0 4px;
  border-right:0;
  font-size:10px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-stub{
  gap:8px;
  padding:14px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-stub-head{
  gap:4px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-stub-head span{
  font-size:clamp(24px, 2.2vw, 34px);
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-price{
  width:min(100%, 174px);
  padding:8px 12px;
  font-size:clamp(44px, 3.5vw, 62px);
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-stub small{
  font-size:12px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-stub-skyline{
  height:22px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-number{
  display:grid;
  gap:3px;
  justify-items:start;
  padding:8px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-number span{
  font-size:9px;
}

.ntc-ticket-checkout-layout > .ntc-ticket-public-wrap .ntc-art-ticket-number b{
  max-width:100%;
  overflow-wrap:anywhere;
  text-align:left;
  font-size:clamp(15px, 1.55vw, 21px);
  white-space:normal;
}

.ntc-ticket-card{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 310px;
  overflow:hidden;
  min-height:360px;
  border-radius:12px;
  border:1px solid rgba(214,155,65,.32);
  background:#070a0e;
  box-shadow:0 28px 72px rgba(7,10,14,.26);
}

.ntc-ticket-main{
  display:grid;
  align-content:space-between;
  gap:24px;
  min-height:360px;
  padding:26px;
  background-size:cover;
  background-position:center;
  color:#fff7ed;
}

.ntc-ticket-brandline{
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  color:#ffe1ad;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ntc-ticket-event-copy{
  max-width:760px;
}

.ntc-ticket-event-copy h1{
  margin:14px 0 10px;
  font-family:"Fraunces",serif;
  font-size:56px;
  line-height:.94;
  letter-spacing:0;
}

.ntc-ticket-event-copy p{
  margin:0;
  max-width:58ch;
  color:rgba(255,247,237,.80);
  font-size:18px;
  line-height:1.5;
}

.ntc-ticket-facts{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

.ntc-ticket-facts div{
  display:grid;
  gap:4px;
  padding:12px;
  border-radius:8px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
}

.ntc-ticket-facts strong{
  color:#ffe1ad;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ntc-ticket-facts span{
  color:#fff7ed;
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}

.ntc-ticket-stub{
  position:relative;
  display:grid;
  align-content:center;
  gap:14px;
  padding:26px;
  border-left:2px dashed rgba(19,35,44,.28);
  background:
    linear-gradient(180deg, rgba(255,247,237,.98), rgba(255,225,173,.92));
  color:#111820;
  text-align:center;
}

.ntc-ticket-stub span{
  color:#7a4d10;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.ntc-ticket-stub strong{
  display:block;
  padding:14px 12px;
  border-radius:8px;
  background:#111820;
  color:#ffe1ad;
  font-size:30px;
  line-height:1.08;
  word-break:break-word;
}

.ntc-ticket-stub em{
  color:#46331c;
  font-style:normal;
  font-weight:900;
}

.ntc-ticket-stub small{
  color:#6b5a43;
  font-size:11px;
  line-height:1.45;
  word-break:break-all;
}

.ntc-ticket-barcode{
  height:58px;
  border-radius:5px;
  background:
    repeating-linear-gradient(
      90deg,
      #111820 0 3px,
      transparent 3px 6px,
      #111820 6px 8px,
      transparent 8px 13px
    ),
    #fffaf2;
  border:8px solid #fffaf2;
}

.ntc-ticket-status-used .ntc-ticket-stub,
.ntc-ticket-status-void .ntc-ticket-stub{
  opacity:.72;
}

.ntc-ticket-status-void .ntc-ticket-main{
  filter:grayscale(.35);
}

.ntc-ticket-code-checker{
  margin-top:28px;
}

.ntc-story-preview{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  padding:0;
  overflow:hidden;
  background:#13232c;
}

.ntc-story-copy{
  padding:clamp(28px, 4vw, 54px);
  color:#fff7ed;
}

.ntc-story-copy p{
  color:rgba(255,247,237,.74);
  font-size:18px;
  line-height:1.7;
}

.ntc-destination-photo{
  margin:0;
  min-height:460px;
}

.ntc-destination-photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:460px;
  object-fit:cover;
}

.ntc-contact-section{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:22px;
}

.ntc-contact-copy{
  padding:clamp(26px, 4vw, 48px);
  background:#fffaf2;
  box-shadow:var(--shadow);
}

.ntc-contact-copy .ntc-actions{
  margin-top:22px;
}

.ntc-map-card{
  min-height:0;
  display:grid;
  align-items:stretch;
  padding:0;
  overflow:hidden;
  background:#fffaf2;
  box-shadow:var(--shadow);
}

.ntc-map-card::before{
  content:"";
  display:block;
  min-height:360px;
  background-image:var(--ntc-map-image, url('images/ambience.JPG'));
  background-size:cover;
  background-position:center;
}

.ntc-map-card div{
  display:grid;
  gap:6px;
  width:100%;
  padding:22px;
  border-radius:8px;
  background:#fffaf2;
  color:#13232c;
}

.ntc-map-card strong{
  font-family:"Fraunces",serif;
  font-size:30px;
}

.ntc-map-card span{
  color:#4b6275;
}

@media (max-width:1100px){
  .ntc-hero-home .ntc-hero-copy h1{
    font-size:92px;
  }

  .ntc-hero-home .ntc-lead{
    font-size:26px;
  }

  .ntc-destination-copy h2,
  .ntc-section-head h2,
  .ntc-story-copy h2,
  .ntc-contact-copy h2{
    font-size:48px;
  }

  .ntc-destination-strip,
  .ntc-section-head--split,
  .ntc-promo-band,
  .ntc-story-preview,
  .ntc-contact-section,
  .ntc-ticket-admin-layout,
  .ntc-ticket-checkout-layout,
  .ntc-ticket-generator-layout{
    grid-template-columns:1fr;
  }

  .ntc-destination-actions,
  .ntc-featured-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:760px){
  .ntc-header{
    padding:12px 14px;
  }

  .ntc-main{
    width:min(100% - 20px, 1320px);
  }

  .ntc-nav a,
  .ntc-nav-language{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .ntc-hero-home{
    min-height:0;
    padding:0 0 28px;
  }

  .ntc-hero-home::before{
    min-height:250px;
  }

  .ntc-hero-home .ntc-hero-copy{
    width:min(100% - 20px, 1320px);
    margin:22px auto 0;
    padding-bottom:0;
  }

  .ntc-hero-home .ntc-hero-copy h1{
    max-width:none;
    font-size:56px;
  }

  .ntc-hero-home .ntc-lead{
    font-size:20px;
    line-height:1.4;
  }

  .ntc-destination-copy h2,
  .ntc-section-head h2,
  .ntc-story-copy h2,
  .ntc-contact-copy h2{
    font-size:36px;
  }

  .ntc-page-hero h1{
    font-size:50px;
    line-height:1.02;
  }

  .ntc-feature-card-copy h3{
    font-size:30px;
  }

  .ntc-hero-home .ntc-actions{
    width:100%;
  }

  .ntc-hero-home .ntc-btn,
  .ntc-actions .ntc-btn{
    width:100%;
    min-height:56px;
  }

  .ntc-quick-strip{
    position:static;
    width:min(100% - 20px, 1320px);
    margin:18px auto 0;
    grid-template-columns:1fr;
  }

  .ntc-quick-strip div{
    padding:14px;
  }

  .ntc-destination-strip,
  .ntc-promo-featured,
  .ntc-contact-copy{
    padding:20px;
  }

  .ntc-destination-actions,
  .ntc-featured-grid,
  .ntc-event-details,
  .ntc-event-nights,
  .ntc-ticket-flow,
  .ntc-ticket-facts,
  .ntc-ticket-checkout-layout,
  .ntc-ticket-generator-layout{
    grid-template-columns:1fr;
  }

  .ntc-art-ticket{
    grid-template-columns:minmax(0, 2.15fr) minmax(108px, .9fr);
    aspect-ratio:2.45 / 1;
    min-height:220px;
  }

  .ntc-ticket-quantity-row{
    grid-template-columns:1fr;
  }

  .ntc-art-ticket-main{
    padding:10px;
  }

  .ntc-art-ticket-brand{
    margin-top:3px;
    font-size:12px;
  }

  .ntc-art-ticket-title span{
    font-size:13px;
  }

  .ntc-art-ticket-title strong{
    font-size:28px;
  }

  .ntc-art-ticket-facts span,
  .ntc-art-ticket-contact span{
    min-height:0;
    padding:5px 6px;
    font-size:8px;
  }

  .ntc-art-ticket-contact{
    gap:4px;
  }

  .ntc-art-ticket-stub{
    padding:9px;
  }

  .ntc-art-ticket-stub-head span{
    font-size:15px;
  }

  .ntc-art-ticket-price{
    padding:7px 8px;
    font-size:30px;
  }

  .ntc-art-ticket-number{
    padding:6px;
  }

  .ntc-art-ticket-number span{
    font-size:8px;
  }

  .ntc-art-ticket-number b{
    font-size:17px;
    white-space:normal;
  }

  .ntc-art-ticket-title em{
    width:auto;
  }

  .ntc-ticket-row,
  .ntc-ticket-row-actions{
    display:grid;
    justify-content:stretch;
  }

  .ntc-ticket-row-actions .ntc-btn,
  .ntc-ticket-row-actions form{
    width:100%;
  }

  .ntc-ticket-card{
    grid-template-columns:1fr;
  }

  .ntc-ticket-stub{
    border-left:0;
    border-top:2px dashed rgba(19,35,44,.28);
  }

  .ntc-ticket-event-copy h1{
    font-size:38px;
  }

  .ntc-page-hero::before{
    min-height:220px;
  }

  .ntc-area-launch::before{
    height:150px;
  }

  .ntc-feature-card{
    min-height:0;
  }

  .ntc-feature-card img{
    height:260px;
    min-height:0;
  }

  .ntc-promo-visual{
    min-height:0;
  }

  .ntc-promo-billboard{
    min-height:300px;
  }

  .ntc-promo-panel{
    padding:20px;
  }

  .ntc-destination-photo,
  .ntc-destination-photo img,
  .ntc-map-card{
    min-height:0;
  }

  .ntc-map-card::before{
    min-height:260px;
  }
}

@media (max-width:480px){
  .ntc-page-hero h1{
    font-size:42px;
  }
}

.ntc-brand-mark{
  overflow:hidden;
  background:#111820;
  border:1px solid rgba(214,155,65,.32);
  box-shadow:0 16px 34px rgba(0,0,0,.24);
}

.ntc-brand-mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.18);
}

.ntc-zoom-route{
  --zoom-progress:0;
  --zoom-visibility:0;
  margin-top:34px;
  min-height:150vh;
}

.ntc-zoom-stage{
  position:sticky;
  top:18px;
  min-height:calc(100vh - 36px);
  display:grid;
  align-items:end;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,247,237,.16);
  border-radius:10px;
  background:#111820;
  box-shadow:0 34px 100px rgba(0,0,0,.34);
}

.ntc-zoom-surface{
  position:absolute;
  inset:-2%;
  z-index:-2;
  background-image:var(--ntc-zoom-image);
  background-size:cover;
  background-position:center;
  transform:scale(calc(1.03 + (var(--zoom-progress) * .2)));
  filter:brightness(calc(.62 + (var(--zoom-visibility) * .18))) saturate(1.06);
  transition:filter .2s linear;
  will-change:transform, filter;
}

.ntc-zoom-stage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,247,237,.08), transparent 34%),
    linear-gradient(90deg, rgba(5,9,12,.86), rgba(5,9,12,.44) 48%, rgba(5,9,12,.82)),
    linear-gradient(180deg, rgba(5,9,12,.26), rgba(5,9,12,.86));
}

.ntc-zoom-content{
  display:grid;
  grid-template-columns:minmax(260px,.64fr) minmax(0,1fr);
  gap:22px;
  align-items:end;
  padding:clamp(22px,4vw,48px);
}

.ntc-zoom-copy{
  display:grid;
  gap:16px;
  color:#fff7ed;
}

.ntc-zoom-copy h2{
  max-width:620px;
  margin:0;
  font-family:"Fraunces",serif;
  font-size:clamp(44px,6vw,86px);
  line-height:.94;
  letter-spacing:0;
}

.ntc-zoom-copy p{
  max-width:560px;
  margin:0;
  color:rgba(255,247,237,.78);
  font-size:18px;
  line-height:1.56;
}

.ntc-zoom-tiles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.ntc-zoom-tile{
  --tile-reveal:0;
  min-height:160px;
  display:grid;
  align-content:end;
  gap:10px;
  padding:18px;
  border:1px solid rgba(255,247,237,.18);
  border-radius:8px;
  background:rgba(255,247,237,.09);
  color:#fff7ed;
  text-decoration:none;
  backdrop-filter:blur(14px);
  opacity:calc(.18 + (var(--tile-reveal) * .82));
  transform:translate3d(0, calc((1 - var(--tile-reveal)) * 18px), 0) scale(calc(.96 + (var(--tile-reveal) * .04)));
  transition:border-color .2s ease, background .2s ease, transform .2s linear, opacity .2s linear;
}

.ntc-zoom-tile:hover,
.ntc-zoom-tile:focus-visible{
  border-color:rgba(214,155,65,.6);
  background:rgba(214,155,65,.18);
}

.ntc-zoom-tile span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#d69b41;
  color:#111820;
  font-weight:900;
}

.ntc-zoom-tile strong{
  color:#fff7ed;
  font-family:"Fraunces",serif;
  font-size:30px;
  line-height:1;
}

.ntc-zoom-tile small{
  color:rgba(255,247,237,.72);
  font-size:14px;
  line-height:1.45;
}

.ntc-heritage-route{
  display:grid;
  grid-template-columns:minmax(260px, .78fr) minmax(0, 1.22fr);
  gap:26px;
  align-items:stretch;
  margin-top:34px;
  padding:28px;
  border:1px solid rgba(34,53,72,.12);
  border-radius:10px;
  background:
    linear-gradient(90deg, rgba(18,35,43,.96), rgba(18,35,43,.88)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 62px);
  box-shadow:var(--shadow);
  color:#fff7ed;
  overflow:hidden;
}

.ntc-heritage-route .ntc-section-head{
  align-self:center;
}

.ntc-heritage-route h2{
  color:#fff7ed;
}

.ntc-heritage-route p{
  color:rgba(255,247,237,.72);
}

.ntc-heritage-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}

.ntc-heritage-steps::before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:34px;
  height:1px;
  background:linear-gradient(90deg, rgba(214,155,65,.1), rgba(214,155,65,.76), rgba(31,166,161,.5));
}

.ntc-heritage-steps article{
  position:relative;
  display:grid;
  align-content:start;
  gap:12px;
  min-height:260px;
  padding:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  background:rgba(255,255,255,.07);
}

.ntc-heritage-steps span{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid rgba(214,155,65,.58);
  border-radius:999px;
  background:#d69b41;
  color:#111820;
  font-weight:900;
}

.ntc-heritage-steps strong{
  color:#fff7ed;
  font-family:"Fraunces",serif;
  font-size:28px;
  line-height:1;
}

.ntc-page-hero--directory{
  position:relative;
  border:1px solid rgba(214,155,65,.18);
  padding:clamp(28px, 4vw, 50px);
  background:
    radial-gradient(circle at 12% 8%, rgba(214,155,65,.16), transparent 30%),
    radial-gradient(circle at 88% 16%, rgba(21,158,149,.13), transparent 30%),
    linear-gradient(135deg, #fffaf2, #f3ede3);
  color:#13232c;
  box-shadow:0 24px 70px rgba(70,55,36,.14);
}

.ntc-page-hero--directory::before{
  display:none;
}

.ntc-page-hero--directory h1{
  color:#13232c;
  margin:0 clamp(22px, 4vw, 42px);
}

.ntc-page-hero--directory .ntc-lead{
  color:#4b6275;
}

.ntc-page-hero--directory > .ntc-kicker{
  margin-top:clamp(24px, 4vw, 42px);
  border-color:rgba(214,155,65,.22);
  background:rgba(214,155,65,.12);
  color:#8a6020;
}

.ntc-directory-status-strip{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1px;
  overflow:hidden;
  margin:22px clamp(22px, 4vw, 42px) 0;
  border:1px solid rgba(34,53,72,.12);
  border-radius:10px;
  background:rgba(34,53,72,.10);
}

.ntc-directory-status-strip span{
  display:grid;
  gap:2px;
  padding:16px 18px;
  background:rgba(255,250,242,.84);
}

.ntc-directory-status-strip strong{
  background:linear-gradient(100deg, #b57a24 0%, #d69b41 26%, #159e95 55%, #b96053 78%, #b57a24 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:#b57a24;
  font-family:"Fraunces",serif;
  font-size:34px;
  line-height:1;
  -webkit-text-fill-color:transparent;
  animation:ntcDirectoryNumberColor 7s ease-in-out infinite;
}

.ntc-directory-status-strip small{
  color:#4b6275;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ntc-directory-console{
  position:relative;
  overflow:hidden;
  margin-top:24px;
  padding:24px;
  border-radius:10px;
  border:1px solid rgba(255,225,173,.20);
  background:
    radial-gradient(circle at 14% 4%, rgba(214,155,65,.24), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(21,158,149,.18), transparent 26%),
    linear-gradient(180deg, #1b2f35, #10242b);
  color:#fff7ed;
  box-shadow:0 26px 70px rgba(89,65,32,.20);
}

.ntc-directory-console::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.86), transparent 92%);
  pointer-events:none;
}

.ntc-directory-console-head,
.ntc-directory-console .ntc-area-launches{
  position:relative;
  z-index:1;
}

.ntc-directory-console-head{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  align-items:end;
}

.ntc-directory-console-head h2{
  margin:10px 0 0;
  color:#fff7ed;
  font-family:"Fraunces",serif;
  font-size:48px;
  line-height:1;
  letter-spacing:0;
}

.ntc-directory-console-head p{
  margin:0;
  color:rgba(255,247,237,.70);
  line-height:1.7;
}

.ntc-directory-console .ntc-floor-tag{
  width:max-content;
  border-color:rgba(255,225,173,.24);
  background:rgba(214,155,65,.13);
  color:#ffe1ad;
}

.ntc-directory-console .ntc-area-launches{
  margin-top:22px;
}

.ntc-directory-console .ntc-area-launch{
  width:100%;
  min-height:420px;
  appearance:none;
  isolation:isolate;
  font:inherit;
  text-decoration:none;
  border-color:rgba(255,225,173,.18);
  background:#243039;
  color:#fff7ed;
  box-shadow:0 20px 48px rgba(60,42,22,.22);
}

.ntc-directory-console .ntc-area-launch::before{
  inset:0;
  height:100%;
  opacity:.82;
  filter:saturate(1.12) contrast(1.03) brightness(1.04);
}

.ntc-directory-console .ntc-area-launch::after{
  border-color:rgba(255,225,173,.24);
  background:rgba(7,12,18,.72);
  color:#ffe1ad;
}

.ntc-directory-console .ntc-area-launch:hover{
  border-color:rgba(214,155,65,.32);
  box-shadow:0 28px 70px rgba(72,50,24,.28);
}

.ntc-directory-console .ntc-area-launch strong{
  max-width:12ch;
  color:#fff7ed;
  font-size:clamp(34px, 3vw, 50px);
  text-shadow:0 12px 28px rgba(0,0,0,.36);
}

.ntc-directory-console .ntc-area-launch span:last-child{
  max-width:24ch;
  color:rgba(255,247,237,.76);
  line-height:1.35;
}

.ntc-area-index{
  position:relative;
  z-index:1;
  width:max-content;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(7,12,18,.58);
  color:#ffe1ad;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}

.ntc-directory-modal-backdrop{
  background:
    radial-gradient(circle at 18% 14%, rgba(214,155,65,.18), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(21,158,149,.14), transparent 28%),
    rgba(5,10,14,.82);
}

.ntc-directory-modal-card{
  border-color:rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(17,27,35,.98), rgba(7,16,24,.98)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 82px);
  color:#fff7ed;
}

.ntc-directory-modal-close{
  border-color:rgba(255,255,255,.16);
  background:rgba(255,247,237,.94);
  color:#111820;
}

.ntc-directory-modal-content > .ntc-floor-block > .ntc-floor-head{
  border-bottom-color:rgba(255,255,255,.12);
}

.ntc-directory-modal-content > .ntc-floor-block > .ntc-floor-head h3{
  color:#fff7ed;
}

.ntc-directory-modal-content .ntc-directory-card{
  color:#13232c;
  background:#fffaf2;
}

.ntc-directory-board{
  display:grid;
  gap:28px;
  margin-top:28px;
}

.ntc-nav-event{
  background:#d69b41 !important;
  color:#111820 !important;
  border-color:rgba(214,155,65,.74) !important;
}

.ntc-hero-home{
  background:#070a0e;
}

.ntc-hero-home::before{
  display:none;
}

.ntc-hero-photo-link{
  display:block;
  width:100%;
  min-height:clamp(290px, 46vw, 650px);
  background-image:var(--ntc-home-hero-image, url('images/Front1.JPG'));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  text-decoration:none;
  transition:filter .5s ease, transform .7s cubic-bezier(.2,.8,.2,1);
}

.ntc-hero-home .ntc-hero-copy{
  width:min(1320px, calc(100% - 36px));
  margin:clamp(22px, 4vw, 46px) auto 0;
}

.ntc-hero-home .ntc-hero-copy h1{
  max-width:10ch;
}

.ntc-quick-strip{
  width:min(1320px, calc(100% - 36px));
  margin:24px auto 0;
}

.ntc-journey-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(240px, 1fr));
  gap:14px;
  margin-top:34px;
  overflow-x:auto;
  padding:2px 2px 16px;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
}

.ntc-journey-card,
.ntc-feature-card,
.ntc-event-card{
  cursor:pointer;
}

.ntc-journey-card{
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:12px;
  min-width:0;
  padding:0 16px 18px;
  overflow:hidden;
  border-radius:10px;
  border:1px solid rgba(34,53,72,.10);
  background:#fffaf2;
  color:#13232c;
  text-decoration:none;
  box-shadow:var(--shadow);
  scroll-snap-align:start;
  transition:box-shadow .28s ease, border-color .28s ease, translate .28s ease;
}

.ntc-journey-card img{
  display:block;
  width:calc(100% + 32px);
  height:220px;
  margin:0 -16px;
  object-fit:cover;
  animation:ntcJourneyImageDrift 16s ease-in-out infinite;
  transition:transform .55s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}

.ntc-journey-card .ntc-kicker{
  justify-self:start;
}

.ntc-journey-card strong{
  color:#13232c;
  font-family:"Fraunces",serif;
  font-size:24px;
  line-height:1.05;
}

body.ntc-motion-ready .ntc-journey-card{
  animation:ntcJourneyFloat 8.5s ease-in-out infinite;
}

body.ntc-motion-ready .ntc-journey-card:nth-child(2){
  animation-delay:-1.4s;
}

body.ntc-motion-ready .ntc-journey-card:nth-child(3){
  animation-delay:-2.8s;
}

body.ntc-motion-ready .ntc-journey-card:nth-child(4){
  animation-delay:-4.2s;
}

.ntc-website-partners{
  display:grid;
  gap:22px;
}

.ntc-website-partners .ntc-section-head{
  max-width:900px;
}

.ntc-website-partners .ntc-section-head p{
  margin:14px 0 0;
  max-width:68ch;
  color:#4b6275;
  font-size:18px;
  line-height:1.65;
}

.ntc-partner-rail{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}

.ntc-partner-card{
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  gap:12px;
  min-width:0;
  overflow:hidden;
  padding:0 22px 24px;
  border-radius:10px;
  border:1px solid rgba(34,53,72,.10);
  background:#fffaf2;
  color:#13232c;
  text-decoration:none;
  box-shadow:var(--shadow);
}

.ntc-partner-card img{
  display:block;
  width:calc(100% + 44px);
  height:clamp(330px, 34vw, 520px);
  margin:0 -22px;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}

.ntc-partner-card .ntc-kicker{
  justify-self:start;
}

.ntc-partner-card strong{
  color:#13232c;
  font-family:"Fraunces",serif;
  font-size:clamp(36px, 4.4vw, 64px);
  line-height:.95;
}

.ntc-partner-card p{
  margin:0;
  max-width:58ch;
  color:#4b6275;
  font-size:17px;
  line-height:1.65;
}

.ntc-image-link:hover img,
.ntc-feature-card:hover img{
  transform:scale(1.045);
  filter:saturate(1.07) contrast(1.04);
}

.ntc-scroll-scene,
.ntc-morph-panel,
.ntc-motion-subtle,
.ntc-motion-utility{
  --scroll-progress:.72;
  --scroll-visibility:.72;
  --scroll-fade:1;
  --scroll-distance:.28;
  --scroll-image-y:0px;
  --scroll-copy-y:0px;
}

body.ntc-motion-ready .ntc-scroll-scene,
body.ntc-motion-ready .ntc-morph-panel{
  transform:
    translate3d(0, calc(var(--scroll-distance) * 34px), 0)
    scale(calc(.972 + (var(--scroll-visibility) * .028)));
  opacity:calc(var(--scroll-fade) * (.58 + (var(--scroll-visibility) * .42)));
  transition:transform .18s linear, opacity .18s linear;
  will-change:transform, opacity;
}

body.ntc-motion-ready .ntc-motion-subtle{
  transform:translate3d(0, calc(var(--scroll-distance) * 18px), 0);
  opacity:calc(var(--scroll-fade) * (.72 + (var(--scroll-visibility) * .28)));
  transition:transform .2s linear, opacity .2s linear;
  will-change:transform, opacity;
}

body.ntc-motion-ready .ntc-motion-utility{
  transform:translate3d(0, calc(var(--scroll-distance) * 8px), 0);
  opacity:calc(var(--scroll-fade) * (.9 + (var(--scroll-visibility) * .1)));
  transition:transform .16s ease, opacity .16s ease;
}

body.ntc-motion-ready .ntc-scroll-copy{
  transform:translate3d(0, var(--scroll-copy-y), 0);
  transition:transform .18s linear;
  will-change:transform;
}

body.ntc-motion-ready .ntc-scroll-image{
  transform:translate3d(0, calc(var(--scroll-image-y) * .38), 0) scale(calc(1 + ((1 - var(--scroll-visibility)) * .025)));
  transition:transform .18s linear, filter .35s ease;
  will-change:transform;
}

body.ntc-motion-ready .ntc-scroll-image img,
body.ntc-motion-ready .ntc-scroll-image .ntc-card-visual,
body.ntc-motion-ready .ntc-scroll-image .ntc-promo-billboard{
  transform:translate3d(0, calc(var(--scroll-image-y) * -.46), 0) scale(1.035);
  transition:transform .18s linear, filter .35s ease;
  will-change:transform;
}

body.ntc-motion-ready .ntc-scroll-scene .ntc-journey-card,
body.ntc-motion-ready .ntc-scroll-scene .ntc-partner-card,
body.ntc-motion-ready .ntc-scroll-scene .ntc-promo-card{
  transform:translate3d(0, calc(var(--scroll-distance) * 24px), 0) scale(calc(.986 + (var(--scroll-visibility) * .014)));
  opacity:calc(var(--scroll-fade) * (.66 + (var(--scroll-visibility) * .34)));
  transition:transform .2s linear, opacity .2s linear, box-shadow .28s ease, border-color .28s ease;
  will-change:transform, opacity;
}

body.ntc-motion-ready .ntc-scroll-scene .ntc-event-details div,
body.ntc-motion-ready .ntc-scroll-scene .ntc-ticket-flow div{
  transform:translate3d(0, calc(var(--scroll-distance) * 18px), 0);
  opacity:calc(.45 + (var(--scroll-fade) * var(--scroll-visibility) * .55));
  transition:transform .2s linear, opacity .2s linear, background .28s ease, border-color .28s ease;
  will-change:transform, opacity;
}

body.ntc-motion-ready .ntc-scroll-scene .ntc-event-details div:nth-child(2),
body.ntc-motion-ready .ntc-scroll-scene .ntc-ticket-flow div:nth-child(2){
  transform:translate3d(0, calc((var(--scroll-distance) * 18px) + 8px), 0);
}

body.ntc-motion-ready .ntc-scroll-scene .ntc-event-details div:nth-child(3),
body.ntc-motion-ready .ntc-scroll-scene .ntc-ticket-flow div:nth-child(3){
  transform:translate3d(0, calc((var(--scroll-distance) * 18px) + 16px), 0);
}

body.ntc-motion-ready .ntc-scroll-scene .ntc-journey-card:nth-child(2),
body.ntc-motion-ready .ntc-scroll-scene .ntc-partner-card:nth-child(2),
body.ntc-motion-ready .ntc-scroll-scene .ntc-promo-card:nth-child(2){
  transform:translate3d(0, calc((var(--scroll-distance) * 24px) + 8px), 0) scale(calc(.986 + (var(--scroll-visibility) * .014)));
}

body.ntc-motion-ready .ntc-scroll-scene .ntc-journey-card:nth-child(3),
body.ntc-motion-ready .ntc-scroll-scene .ntc-promo-card:nth-child(3){
  transform:translate3d(0, calc((var(--scroll-distance) * 24px) + 16px), 0) scale(calc(.986 + (var(--scroll-visibility) * .014)));
}

body.ntc-motion-ready .ntc-scroll-scene .ntc-journey-card:nth-child(4),
body.ntc-motion-ready .ntc-scroll-scene .ntc-promo-card:nth-child(4){
  transform:translate3d(0, calc((var(--scroll-distance) * 24px) + 24px), 0) scale(calc(.986 + (var(--scroll-visibility) * .014)));
}

body.ntc-motion-ready .ntc-hero-photo-link.ntc-scroll-image{
  background-position:center calc(50% + var(--scroll-image-y));
}

@supports (animation-timeline:view()){
  body:not(.ntc-motion-ready) .ntc-morph-panel{
    animation:ntcScrollMorph linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 42%;
  }
}

@keyframes ntcScrollMorph{
  from{
    opacity:.62;
    transform:translateY(34px) scale(.975);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@media (min-width:900px) and (min-height:680px){
  .ntc-scroll-pin{
    min-height:calc(100svh + 260px);
    align-items:start;
  }

  .ntc-scroll-pin > *:first-child{
    position:sticky;
    top:96px;
  }
}

.ntc-event-card{
  outline:0;
}

.ntc-event-card:focus-visible,
.ntc-journey-card:focus-visible{
  outline:3px solid rgba(214,155,65,.78);
  outline-offset:4px;
}

.ntc-modal-wrap.active{
  backdrop-filter:blur(12px);
}

.ntc-modal-card{
  width:min(1120px, calc(100vw - 28px));
  max-height:calc(100svh - 28px);
  overflow:auto;
  background:#070a0e;
  color:#fff7ed;
  border-color:rgba(214,155,65,.32);
}

.ntc-event-modal{
  display:grid;
  grid-template-columns:minmax(280px, .92fr) minmax(0, 1.08fr);
  gap:24px;
  align-items:start;
}

.ntc-event-modal-poster{
  display:block;
  width:100%;
  border-radius:10px;
  border:1px solid rgba(214,155,65,.32);
  background:#030303;
}

.ntc-event-modal-copy{
  display:grid;
  gap:16px;
}

.ntc-event-modal-copy h3{
  margin:0;
  color:#fff7ed;
  font-family:"Fraunces",serif;
  font-size:clamp(42px, 5vw, 72px);
  line-height:.95;
}

.ntc-event-modal-copy p{
  color:rgba(255,247,237,.74);
}

.ntc-event-modal-facts{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.ntc-event-modal-facts div{
  display:grid;
  gap:4px;
  padding:14px;
  border-radius:8px;
  background:#13232c;
}

.ntc-event-modal-facts strong{
  color:#ffe1ad;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ntc-event-modal-facts span{
  color:#fff7ed;
  font-weight:800;
}

.ntc-event-modal-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.ntc-event-modal-tags span{
  display:inline-flex;
  padding:9px 11px;
  border-radius:8px;
  background:rgba(214,155,65,.16);
  color:#ffe1ad;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.ntc-modal-note{
  border:1px solid rgba(214,155,65,.34);
  background:#fff0c8;
  color:#3a2208 !important;
}

.ntc-event-modal .ntc-modal-note{
  color:#ffe1ad !important;
  border-color:rgba(214,155,65,.24);
  background:rgba(214,155,65,.09);
}

@media (max-width:1100px){
  .ntc-zoom-route{
    min-height:auto;
  }

  .ntc-zoom-stage{
    position:relative;
    top:auto;
    min-height:0;
  }

  .ntc-zoom-content{
    grid-template-columns:1fr;
  }

  .ntc-zoom-tiles{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .ntc-journey-grid{
    grid-template-columns:repeat(4, minmax(240px, 1fr));
  }

  .ntc-heritage-route{
    grid-template-columns:1fr;
  }

  .ntc-heritage-steps{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .ntc-event-modal{
    grid-template-columns:1fr;
  }

  .ntc-directory-console-head{
    grid-template-columns:1fr;
  }

  .ntc-directory-console .ntc-area-launch{
    min-height:360px;
  }
}

@media (max-width:760px){
  .ntc-brand-mark{
    width:54px;
    height:54px;
  }

  .ntc-hero-home{
    padding:0 0 28px;
  }

  .ntc-hero-photo-link{
    min-height:250px;
  }

  .ntc-hero-home .ntc-hero-copy,
  .ntc-quick-strip{
    width:min(100% - 20px, 1320px);
  }

  .ntc-zoom-route{
    margin-top:20px;
  }

  .ntc-zoom-content{
    padding:20px;
  }

  .ntc-zoom-copy h2{
    font-size:42px;
  }

  .ntc-zoom-copy p{
    font-size:16px;
  }

  .ntc-zoom-tiles{
    display:flex;
    gap:12px;
    overflow-x:auto;
    padding:2px 2px 12px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }

  .ntc-zoom-tile{
    min-width:min(78vw, 320px);
    min-height:142px;
    scroll-snap-align:start;
    opacity:1;
    transform:none;
  }

  .ntc-journey-grid{
    display:flex;
    gap:14px;
    overflow-x:auto;
    padding:2px 2px 14px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }

  .ntc-journey-card{
    min-width:min(84vw, 420px);
    scroll-snap-align:start;
  }

  .ntc-partner-rail{
    display:flex;
    gap:14px;
    overflow-x:auto;
    padding:2px 2px 14px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }

  .ntc-partner-card{
    min-width:min(88vw, 540px);
    scroll-snap-align:start;
    padding:0 18px 22px;
  }

  .ntc-heritage-route{
    padding:22px;
  }

  .ntc-heritage-steps{
    grid-template-columns:1fr;
  }

  .ntc-heritage-steps::before{
    display:none;
  }

  .ntc-heritage-steps article{
    min-height:0;
  }

  .ntc-scroll-scene,
  .ntc-morph-panel,
  .ntc-motion-subtle,
  .ntc-motion-utility,
  .ntc-scroll-copy,
  .ntc-scroll-image,
  .ntc-scroll-image img,
  .ntc-scroll-scene .ntc-journey-card,
  .ntc-scroll-scene .ntc-partner-card,
  .ntc-scroll-scene .ntc-promo-card{
    transform:none;
  }

  .ntc-scroll-scene,
  .ntc-morph-panel,
  .ntc-motion-subtle,
  .ntc-motion-utility,
  .ntc-scroll-scene .ntc-journey-card,
  .ntc-scroll-scene .ntc-partner-card,
  .ntc-scroll-scene .ntc-promo-card{
    opacity:1;
  }

  .ntc-partner-card img{
    width:calc(100% + 36px);
    height:300px;
    margin:0 -18px;
  }

  .ntc-partner-card strong{
    font-size:38px;
  }

  .ntc-event-modal-facts{
    grid-template-columns:1fr;
  }

  .ntc-journey-card img{
    height:210px;
  }

  .ntc-morph-panel{
    transform:none;
    opacity:1;
  }

  .ntc-directory-status-strip{
    grid-template-columns:1fr;
    margin-left:18px;
    margin-right:18px;
  }

  .ntc-directory-status-strip span{
    padding:13px 14px;
  }

  .ntc-directory-console{
    padding:16px;
  }

  .ntc-directory-console-head h2{
    font-size:34px;
  }

  .ntc-directory-console-head p{
    font-size:14px;
  }

  .ntc-directory-console .ntc-area-launch{
    min-height:330px;
    padding:0 18px 20px;
  }

  .ntc-directory-console .ntc-area-launch strong{
    max-width:none;
    font-size:30px;
  }
}

@media (prefers-reduced-motion: reduce){
  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }

  .ntc-scroll-scene,
  .ntc-morph-panel,
  .ntc-motion-subtle,
  .ntc-motion-utility,
  .ntc-scroll-copy,
  .ntc-scroll-image,
  .ntc-scroll-image img,
  .ntc-scroll-scene .ntc-journey-card,
  .ntc-scroll-scene .ntc-partner-card,
  .ntc-scroll-scene .ntc-promo-card,
  .ntc-scroll-scene .ntc-event-details div,
  .ntc-scroll-scene .ntc-ticket-flow div,
  .ntc-hero-home .ntc-hero-copy,
  .ntc-hero-photo-link,
  .ntc-zoom-surface,
  .ntc-zoom-tile{
    transform:none !important;
    opacity:1 !important;
    filter:none !important;
  }

  .ntc-scroll-pin,
  .ntc-scroll-pin > *:first-child,
  .ntc-zoom-stage,
  .ntc-admin-sidebar{
    position:relative !important;
    top:auto !important;
    min-height:0 !important;
  }
}

@media (max-width:760px){
  .ntc-shell{
    background:transparent;
  }
}

.ntc-top-controls{
  position:fixed;
  top:18px;
  right:18px;
  z-index:10050;
  display:flex;
  align-items:flex-start;
  gap:8px;
  pointer-events:auto;
}

.ntc-top-control{
  min-height:46px;
  padding:0 18px;
  border:1px solid rgba(34,53,72,.16);
  border-radius:999px;
  background:rgba(255,253,248,.94);
  color:var(--text);
  box-shadow:0 14px 34px rgba(77,67,55,.18);
  backdrop-filter:blur(16px);
  cursor:pointer;
  font:inherit;
  font-size:14px;
  font-weight:900;
}

.ntc-top-control:hover{
  background:#fffdf8;
  border-color:rgba(31,166,161,.28);
}

.ntc-top-menu-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(320px, calc(100vw - 28px));
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid rgba(34,53,72,.14);
  border-radius:8px;
  background:rgba(255,253,248,.96);
  box-shadow:0 22px 56px rgba(77,67,55,.18);
  backdrop-filter:blur(18px);
}

.ntc-top-menu-panel[hidden]{
  display:none !important;
}

.ntc-top-menu-heading{
  padding:4px 4px 8px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ntc-top-menu-panel a,
.ntc-top-menu-language{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:42px;
  padding:10px 12px;
  border:1px solid rgba(34,53,72,.1);
  border-radius:8px;
  background:rgba(255,255,255,.7);
  color:var(--text);
  text-decoration:none;
  font-size:14px;
  font-weight:900;
}

.ntc-top-menu-language{
  width:100%;
  cursor:pointer;
  font:inherit;
}

.ntc-top-menu-panel a:hover,
.ntc-top-menu-language:hover{
  border-color:rgba(31,166,161,.26);
  color:var(--cyan-soft);
}

body.ntc-horizontal-mode{
  overflow:hidden;
}

html.ntc-horizontal-mode,
html.ntc-horizontal-mode body{
  height:100%;
}

body.ntc-horizontal-mode .ntc-shell{
  min-height:100svh;
  overflow:hidden;
}

body.ntc-horizontal-mode .ntc-main.ntc-horizontal-main{
  display:flex;
  align-items:stretch;
  gap:24px;
  width:100vw;
  max-width:none;
  min-height:calc(100svh - 112px);
  max-height:calc(100svh - 96px);
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
  scroll-padding-inline:24px;
  scroll-snap-type:x mandatory;
  padding:28px max(24px, calc((100vw - 1680px) / 2 + 24px)) 70px;
  scrollbar-width:thin;
}

body.ntc-horizontal-mode .ntc-horizontal-panel{
  flex:0 0 min(1180px, calc(100vw - 72px));
  max-height:calc(100svh - 164px);
  margin-top:0 !important;
  overflow-y:auto;
  overscroll-behavior:contain;
  scroll-snap-align:start;
  scrollbar-width:thin;
}

body.ntc-horizontal-mode .ntc-horizontal-panel.ntc-hero-home{
  flex-basis:min(1320px, calc(100vw - 72px));
  display:grid;
  grid-template-columns:minmax(360px, .95fr) minmax(360px, .75fr);
  grid-template-rows:minmax(0, 1fr) auto;
  gap:18px;
  padding:26px;
  overflow:hidden;
}

body.ntc-horizontal-mode .ntc-hero-home .ntc-hero-photo-link{
  grid-row:1 / span 2;
  height:100%;
  min-height:0;
  border-radius:10px;
}

body.ntc-horizontal-mode .ntc-hero-home .ntc-hero-copy{
  align-self:center;
  width:auto;
  margin:0;
}

body.ntc-horizontal-mode .ntc-hero-home .ntc-hero-copy h1{
  max-width:9ch;
  margin:14px 0;
  font-size:clamp(54px, 5.2vw, 92px);
  line-height:.92;
}

body.ntc-horizontal-mode .ntc-hero-home .ntc-lead{
  max-width:560px;
  font-size:clamp(18px, 1.7vw, 24px);
}

body.ntc-horizontal-mode .ntc-hero-home .ntc-quick-strip{
  align-self:end;
  width:100%;
  margin:0;
  grid-template-columns:1fr;
}

body.ntc-horizontal-mode .ntc-hero-home .ntc-quick-strip div{
  min-height:auto;
  padding:14px 16px;
}

body.ntc-horizontal-mode .ntc-horizontal-panel.ntc-journey-grid,
body.ntc-horizontal-mode .ntc-horizontal-panel.ntc-partner-rail,
body.ntc-horizontal-mode .ntc-horizontal-panel.ntc-story-grid-wide{
  flex-basis:min(1500px, calc(100vw - 72px));
}

body.ntc-horizontal-mode .ntc-horizontal-panel.ntc-journey-grid{
  align-content:start;
  align-items:start;
  grid-auto-rows:auto;
  overflow:hidden;
}

body.ntc-horizontal-mode .ntc-horizontal-panel.ntc-journey-grid .ntc-journey-card{
  align-self:start;
  min-height:0;
}

body.ntc-horizontal-mode .ntc-horizontal-panel.ntc-ticket-checkout-layout,
body.ntc-horizontal-mode .ntc-horizontal-panel.ntc-ticket-public-wrap{
  flex-basis:min(1240px, calc(100vw - 72px));
}

body.ntc-horizontal-mode .ntc-scroll-pin,
body.ntc-horizontal-mode .ntc-scroll-pin > *:first-child{
  position:relative;
  top:auto;
  min-height:0;
}

body.ntc-horizontal-mode .ntc-footer{
  display:none;
}

@media (max-width:760px){
  .ntc-top-controls{
    display:flex;
    top:10px;
    right:10px;
    gap:6px;
  }

  .ntc-top-control{
    min-height:44px;
    padding:0 12px;
    font-size:12px;
  }

  body.ntc-horizontal-mode{
    overflow:auto;
  }

  html.ntc-horizontal-mode,
  html.ntc-horizontal-mode body{
    height:auto;
  }

  body.ntc-horizontal-mode .ntc-shell{
    overflow:hidden;
  }

  body.ntc-horizontal-mode .ntc-main.ntc-horizontal-main{
    width:100vw;
    gap:14px;
    min-height:auto;
    max-height:none;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:22px 10px 70px;
    scroll-padding-inline:10px;
  }

  body.ntc-horizontal-mode .ntc-horizontal-panel{
    flex-basis:calc(100vw - 20px);
    max-height:none;
    overflow-y:visible;
  }

  body.ntc-horizontal-mode .ntc-horizontal-panel.ntc-hero-home{
    display:block;
    padding:0 0 28px;
    overflow:visible;
  }

  body.ntc-horizontal-mode .ntc-hero-home .ntc-hero-photo-link{
    height:auto;
    min-height:250px;
    border-radius:0;
  }

  body.ntc-horizontal-mode .ntc-hero-home .ntc-hero-copy,
  body.ntc-horizontal-mode .ntc-hero-home .ntc-quick-strip{
    width:min(100% - 20px, 1320px);
    margin:22px auto 0;
  }

  body.ntc-horizontal-mode .ntc-hero-home .ntc-hero-copy h1{
    font-size:54px;
  }

  body.ntc-horizontal-mode .ntc-hero-home .ntc-quick-strip{
    grid-template-columns:1fr;
  }
}

@media print{
  @page{
    size:A4 portrait;
    margin:10mm;
  }

  html,
  body{
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
    background:#fff !important;
  }

  .ntc-ticket-print-actions,
  .ntc-ticket-screen-actions,
  .ntc-ticket-generator-chrome,
  .ntc-header,
  .ntc-footer,
  .ntc-page-hero,
  .ntc-ticket-order-card,
  .ntc-copy-card,
  .ntc-ticket-summary,
  .ntc-ticket-checkout-poster,
  .ntc-ticket-customer-name,
  .ntc-top-controls,
  .ntc-top-menu-panel,
  .ntc-intro-gate,
  .ntc-radio-dock,
  .ntc-cursor-glow{
    display:none !important;
  }

  .ntc-shell,
  .ntc-main,
  .ntc-ticket-checkout-layout,
  .ntc-ticket-print-page{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:none !important;
    box-shadow:none !important;
  }

  .ntc-ticket-print-page{
    width:100%;
    padding:0;
  }

  .ntc-ticket-checkout-layout{
    margin:0 !important;
  }

  .ntc-ticket-sheet{
    gap:10mm;
    margin:0;
  }

  .ntc-ticket-public-wrap,
  .ntc-ticket-sheet,
  .ntc-art-sheet{
    display:grid !important;
    grid-template-columns:repeat(2, 92mm) !important;
    gap:6mm !important;
    justify-content:start !important;
    align-items:start !important;
    width:190mm !important;
    margin:0 !important;
    padding:0 !important;
    background:none !important;
  }

  .ntc-ticket-card{
    min-height:82mm;
    break-inside:avoid;
    page-break-inside:avoid;
    box-shadow:none;
    print-color-adjust:exact;
    -webkit-print-color-adjust:exact;
  }

  .ntc-ticket-main{
    min-height:82mm;
  }

  .ntc-art-sheet{
    margin:0;
  }

  .ntc-art-ticket{
    display:grid !important;
    grid-template-columns:56mm 36mm !important;
    width:92mm !important;
    height:50mm !important;
    min-height:50mm !important;
    aspect-ratio:auto !important;
    margin:0 !important;
    box-shadow:none;
    break-inside:avoid;
    page-break-inside:avoid;
    print-color-adjust:exact;
    -webkit-print-color-adjust:exact;
  }

  .ntc-art-ticket-main{
    min-height:0 !important;
    gap:1.2mm !important;
    padding:3.5mm !important;
    background-size:cover !important;
  }

  .ntc-art-ticket-main::after{
    inset:2mm !important;
  }

  .ntc-art-ticket-brand{
    margin-top:.5mm !important;
    font-size:7.5pt !important;
    line-height:1 !important;
  }

  .ntc-art-ticket-title{
    gap:.8mm !important;
    padding-left:2mm !important;
    border-left-width:1.2px !important;
  }

  .ntc-art-ticket-title span{
    font-size:7pt !important;
    line-height:1 !important;
  }

  .ntc-art-ticket-title strong{
    font-size:17pt !important;
    line-height:.88 !important;
  }

  .ntc-art-ticket-title em{
    font-size:5.8pt !important;
    line-height:1 !important;
  }

  .ntc-art-ticket-facts{
    grid-template-columns:1fr !important;
    gap:.6mm !important;
    padding-top:1.2mm !important;
  }

  .ntc-art-ticket-facts span{
    padding:0 !important;
    border-right:0 !important;
    font-size:4.6pt !important;
    line-height:1.15 !important;
  }

  .ntc-art-ticket-stub{
    grid-template-rows:auto auto auto 1fr auto !important;
    gap:1.5mm !important;
    padding:3.5mm !important;
  }

  .ntc-art-ticket-stub-head span{
    font-size:11pt !important;
    line-height:1 !important;
  }

  .ntc-art-ticket-stub-head em{
    font-size:6pt !important;
  }

  .ntc-art-ticket-price{
    width:26mm !important;
    padding:1.5mm 2mm !important;
    border-width:1px !important;
    font-size:20pt !important;
  }

  .ntc-art-ticket-stub small{
    font-size:5pt !important;
  }

  .ntc-art-ticket-stub-skyline{
    height:4mm !important;
    border-bottom-width:1px !important;
  }

  .ntc-art-ticket-number{
    display:grid !important;
    gap:.7mm !important;
    padding:1.5mm !important;
    border-width:1px !important;
  }

  .ntc-art-ticket-number span{
    font-size:4.7pt !important;
  }

  .ntc-art-ticket-number b{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
    font-size:7.5pt !important;
    line-height:1.05 !important;
  }
}

@media screen{
  :root{
    --ntc-corridor-scale:1.02;
    --ntc-corridor-y:0px;
    --ntc-corridor-brightness:1.02;
    --ntc-corridor-veil:.58;
    --ntc-corridor-copy:1;
  }

  body{
    background:#111820;
  }

  .ntc-shell{
    position:relative;
    isolation:isolate;
    background:transparent;
  }

  .ntc-shell::before{
    content:"";
    position:fixed;
    inset:-6vh -6vw;
    z-index:-3;
    background:var(--ntc-home-hero-image, var(--ntc-site-bg-image)) center center / cover no-repeat;
    filter:brightness(var(--ntc-corridor-brightness)) saturate(1.06) contrast(1.04);
    transform:translate3d(0, var(--ntc-corridor-y), 0) scale(var(--ntc-corridor-scale));
    transform-origin:center center;
    will-change:transform, filter;
  }

  body.ntc-page-home .ntc-corridor-video{
    display:block;
    position:fixed;
    inset:-6vh -6vw;
    z-index:-2;
    width:112vw;
    height:112vh;
    object-fit:cover;
    object-position:center center;
    filter:brightness(var(--ntc-corridor-brightness)) saturate(1.06) contrast(1.04);
    transform:translate3d(0, var(--ntc-corridor-y), 0) scale(var(--ntc-corridor-scale));
    transform-origin:center center;
    pointer-events:none;
    will-change:transform, filter;
  }

  .ntc-shell::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    background:
      radial-gradient(circle at 50% 42%, rgba(255,247,237,.12), transparent 34%),
      linear-gradient(90deg, rgba(7,13,17,.02), rgba(7,13,17,.03) 48%, rgba(7,13,17,.12)),
      linear-gradient(180deg, rgba(7,13,17,0), rgba(7,13,17,.30));
    pointer-events:none;
  }

  body.ntc-page-home .ntc-main{
    padding-top:0;
  }

  body.ntc-page-home .ntc-header{
    background:linear-gradient(180deg, rgba(8,13,18,.24), rgba(8,13,18,.10));
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero]{
    min-height:clamp(560px, calc(100svh - 96px), 780px);
    align-content:center;
    justify-items:center;
    margin-bottom:clamp(28px, 4vw, 54px);
    padding:clamp(54px, 9vh, 104px) 0 clamp(42px, 7vh, 78px);
    overflow:hidden;
    background:transparent;
    isolation:isolate;
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero]::before{
    display:none;
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero]::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    display:block;
    background:
      radial-gradient(circle at 50% 42%, rgba(255,247,237,.10), transparent 32%),
      linear-gradient(90deg, rgba(6,11,14,.02), rgba(6,11,14,.03) 46%, rgba(6,11,14,.14)),
      linear-gradient(180deg, rgba(6,11,14,0), rgba(6,11,14,.18) 72%, rgba(6,11,14,.38));
    pointer-events:none;
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-hero-photo-link{
    position:absolute;
    inset:-6vh -6vw;
    z-index:0;
    width:auto;
    min-height:0;
    background:none;
    transform:none;
    will-change:auto;
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-hero-copy,
  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-quick-strip{
    position:relative;
    z-index:2;
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-hero-copy{
    display:flex;
    align-items:center;
    justify-content:center;
    width:min(1180px, calc(100% - 36px));
    margin:auto;
    text-align:center;
    opacity:var(--ntc-corridor-copy);
    transition:opacity .18s linear;
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-kicker{
    display:none;
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-hero-copy h1{
    max-width:12ch;
    margin-left:auto;
    margin-right:auto;
    background:linear-gradient(105deg, #fff7ed 0%, #ffe1ad 28%, #8fe5dc 54%, #f2b7a4 78%, #fff7ed 100%);
    background-size:220% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    font-size:clamp(58px, 8.8vw, 128px);
    color:#fff7ed;
    -webkit-text-fill-color:transparent;
    line-height:.88;
    text-shadow:none;
    animation:ntcTitleColorDrift 8.5s ease-in-out infinite;
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-lead{
    max-width:820px;
    margin-left:auto;
    margin-right:auto;
    font-size:clamp(18px, 2.3vw, 30px);
    text-shadow:0 3px 18px rgba(0,0,0,.34);
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-quick-strip{
    margin:clamp(24px, 4vh, 42px) auto 0;
    border-color:rgba(255,247,237,.20);
    background:rgba(9,16,20,.36);
    box-shadow:0 24px 70px rgba(0,0,0,.22);
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-quick-strip div{
    background:rgba(9,16,20,.46);
  }

}

@media (prefers-reduced-motion: reduce){
  body.ntc-page-home .ntc-corridor-video{
    display:none !important;
  }
}

@media screen and (max-width:760px){
  .ntc-main > .ntc-hero-home[data-corridor-hero]{
    min-height:calc(100svh - 76px);
    padding:76px 0 22px;
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-hero-copy{
    width:min(100% - 24px, 1180px);
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-hero-copy h1{
    font-size:clamp(52px, 17vw, 82px);
    max-width:10ch;
  }

  .ntc-main > .ntc-hero-home[data-corridor-hero] .ntc-lead{
    font-size:clamp(18px, 5vw, 24px);
  }
}
