/* ============================================================
   NTM shared design system
   One file. Every page links it. New pages inherit the look.
   ============================================================ */
:root{
  --ink:#0d0b0a; --ink-2:#15110f; --panel:#181311;
  --bone:#e9e1d4; --bone-dim:#b3a895; --muted:#8a7f6f;
  --oxblood:#9c3326; --oxblood-bright:#c14534; --gold:#c9a06a;
  --line:rgba(233,225,212,0.12); --line-strong:rgba(233,225,212,0.22);
  --display:"Fraunces",Georgia,serif; --body:"Spectral",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink); color:var(--bone);
  font-family:var(--body); font-weight:300; font-size:18px; line-height:1.7;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; position:relative;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity:0.045;mix-blend-mode:overlay;
}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(120% 80% at 50% 0%,transparent 40%,rgba(0,0,0,0.55) 100%);}
.wrap{position:relative;z-index:2;}
.col{max-width:720px;margin:0 auto;padding:0 28px;}
.col-wide{max-width:980px;margin:0 auto;padding:0 28px;}
img{max-width:100%;display:block;}

.eyebrow{font-family:var(--body);font-weight:500;font-size:11.5px;letter-spacing:0.32em;
  text-transform:uppercase;color:var(--bone-dim);display:flex;align-items:center;gap:14px;justify-content:center;}
.eyebrow::before,.eyebrow::after{content:"";height:1px;width:34px;background:var(--oxblood);opacity:0.8;}
.eyebrow.left{justify-content:flex-start;}
.eyebrow.left::after{display:none;}

h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:-0.01em;}

nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:18px 32px;backdrop-filter:blur(8px);
  background:linear-gradient(to bottom,rgba(13,11,10,0.92),rgba(13,11,10,0.0));}
.brand{
  font-family:var(--display);font-weight:500;font-size:18px;
  letter-spacing:0.02em;color:var(--bone);text-decoration:none;
  display:inline-flex;align-items:center;gap:12px;
}
.brand::before{
  content:"";display:inline-block;
  width:38px;height:33px;
  background-image:url("/assets/img/logo-monogram.png");
  background-size:contain;background-repeat:no-repeat;
  background-position:center;
  flex-shrink:0;
}
.brand small{display:block;font-family:var(--body);font-weight:400;font-size:9.5px;letter-spacing:0.28em;
  text-transform:uppercase;color:var(--muted);margin-top:1px;}
.brand-main{white-space:nowrap;}

/* Footer variant: stacks monogram above text, centered */
.brand--footer{
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:14px;
}
.brand--footer::before{
  width:54px;
  height:47px;
}
.brand--footer small{
  margin-top:6px;
  letter-spacing:0.32em;
}
.navlinks{display:flex;gap:26px;font-size:13px;letter-spacing:0.04em;}
.navlinks a{color:var(--bone-dim);text-decoration:none;transition:color .3s;}
.navlinks a:hover{color:var(--bone);}
.nav-toggle{
  display:none;
  width:42px;
  height:42px;
  border:1px solid var(--line-strong);
  background:rgba(13,11,10,0.72);
  color:var(--bone);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:18px;
  height:1px;
  background:currentColor;
}
@media(max-width:640px){
  nav{
    padding:14px 18px;
    gap:14px;
    background:linear-gradient(to bottom,rgba(13,11,10,0.96),rgba(13,11,10,0.76));
  }
  .brand{
    font-size:17px;
    gap:10px;
    min-width:0;
    flex:1;
  }
  .brand::before{width:34px;height:30px;}
  .brand small{display:none;}
  .nav-toggle{display:inline-flex!important;flex-shrink:0;}
  .navlinks{
    position:absolute;
    top:100%;
    left:16px;
    right:16px;
    display:none;
    flex-direction:column;
    gap:0;
    padding:10px 12px;
    border:1px solid var(--line-strong);
    background:rgba(13,11,10,0.96);
    backdrop-filter:blur(12px);
  }
  nav .navlinks.is-open{display:flex!important;}
  .navlinks a{
    padding:12px 4px;
    border-bottom:1px solid var(--line);
    font-size:14px;
    letter-spacing:0.08em;
    text-transform:uppercase;
  }
  .navlinks a:last-child{border-bottom:0;}
  /* video frames go closer to full-width on mobile */
  .col, .col-wide{padding:0 16px;}
  .frame{margin-top:22px;border-width:0;background:transparent;}
  .frame iframe{border-radius:2px;}
  /* vertical-video frame (for the Short intro): use 9:16 instead of 16:9 */
  .frame.frame-vertical{aspect-ratio:9/16;max-width:380px;}
}
/* vertical-video frame works on desktop too: capped narrower so it doesn't dominate */
.frame.frame-vertical{aspect-ratio:9/16;max-width:420px;}

.term{border-bottom:1px dotted var(--gold);color:var(--gold);cursor:help;}

/* hero */
.hero{padding:120px 0 92px;text-align:center;}
.hero h1{font-size:clamp(40px,7.5vw,76px);font-weight:400;margin:26px auto 0;max-width:14ch;letter-spacing:-0.02em;}
.hero .sub{font-style:italic;color:var(--bone-dim);font-size:clamp(17px,2.3vw,21px);line-height:1.6;max-width:46ch;margin:30px auto 0;}

/* honest frame */
.honest{margin:18px auto 100px;}
.honest .card{border-left:2px solid var(--oxblood);
  background:linear-gradient(to right,rgba(156,51,38,0.07),rgba(156,51,38,0));
  padding:26px 30px;font-size:19px;line-height:1.65;color:var(--bone);}
.honest .card b{font-weight:500;color:#fff;} .honest .card em{color:#fff;font-style:italic;}

section{padding:64px 0;}
.seclabel{margin-bottom:22px;}
section h2{font-size:clamp(28px,4.4vw,42px);max-width:18ch;margin:0 auto 8px;text-align:center;}

/* video / media frames */
.frame{position:relative;aspect-ratio:16/9;margin:34px auto 0;max-width:760px;
  border:1px solid var(--line-strong);background:#0c0908;overflow:hidden;}
.frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.frame.placeholder{background:radial-gradient(140% 120% at 50% 30%,#241b18 0%,#0f0b0a 75%);
  display:flex;align-items:center;justify-content:center;}
.frame .corner{position:absolute;width:12px;height:12px;border:1px solid var(--bone-dim);opacity:.45;z-index:3;}
.frame .corner.tl{top:12px;left:12px;border-right:0;border-bottom:0;}
.frame .corner.tr{top:12px;right:12px;border-left:0;border-bottom:0;}
.frame .corner.bl{bottom:12px;left:12px;border-right:0;border-top:0;}
.frame .corner.br{bottom:12px;right:12px;border-left:0;border-top:0;}
.play{width:74px;height:74px;border-radius:50%;border:1px solid var(--bone-dim);
  display:flex;align-items:center;justify-content:center;transition:transform .4s,border-color .4s;}
.play::after{content:"";border-left:18px solid var(--bone);border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px;}
.frame.placeholder:hover .play{transform:scale(1.08);border-color:var(--oxblood-bright);}
.frame .ph{position:absolute;bottom:14px;left:16px;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);z-index:3;}
.teaser-tag{position:absolute;top:14px;right:16px;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--gold);border:1px solid rgba(201,160,106,0.4);padding:3px 8px;border-radius:2px;z-index:3;}
.vidcap{text-align:center;font-style:italic;color:var(--bone-dim);font-size:15px;margin-top:18px;}
.watch-note{
  max-width:60ch;
  margin:0 auto 14px;
  text-align:center;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.5;
  font-style:italic;
}
.watch-note span{
  color:var(--gold);
  font-style:normal;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-size:10px;
}

/* prose */
.prose p{margin-top:18px;color:var(--bone);} .prose p:first-child{margin-top:0;}
.lead{font-size:21px;line-height:1.6;} .dim{color:var(--bone-dim);}

/* principles */
.principles{margin-top:38px;border-top:1px solid var(--line);}
.principle{padding:24px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:42px 1fr;gap:20px;align-items:start;}
.principle .num{font-family:var(--display);font-style:italic;color:var(--oxblood-bright);font-size:22px;}
.principle h4{font-family:var(--display);font-weight:500;font-size:20px;margin-bottom:4px;}
.principle p{font-size:16.5px;color:var(--bone-dim);line-height:1.6;}
.access{margin-top:34px;text-align:center;font-size:14px;letter-spacing:0.06em;text-transform:uppercase;color:var(--bone-dim);}
.access span{color:var(--gold);}

/* bridge */
.bridge{padding:96px 0 30px;text-align:center;position:relative;}
.bridge::before{content:"+";position:absolute;left:50%;top:46px;transform:translateX(-50%);color:var(--oxblood);font-size:20px;opacity:.7;}
.bridge p{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(28px,5vw,46px);line-height:1.2;color:var(--bone);max-width:16ch;margin:0 auto;}

/* locked critique */
.unlock{padding:30px 0 40px;}
.locktag{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:0.26em;text-transform:uppercase;color:var(--oxblood-bright);margin-bottom:18px;}
.locktag .dot{width:6px;height:6px;border-radius:50%;background:var(--oxblood-bright);box-shadow:0 0 10px var(--oxblood-bright);}
.unlock h2{text-align:left;margin:0 0 24px;max-width:20ch;font-size:clamp(30px,5vw,46px);}
.lockframe{position:relative;aspect-ratio:16/9;margin:0 0 30px;border:1px solid var(--line-strong);
  background:radial-gradient(120% 130% at 60% 35%,#2a201c 0%,#0c0908 80%);
  display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color .4s;}
.lockframe:hover{border-color:var(--oxblood);}
.lockframe::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 55% at 50% 48%,rgba(201,160,106,0.10),transparent 70%);filter:blur(8px);}
.lockbadge{position:relative;z-index:2;text-align:center;color:var(--bone-dim);}
.lockbadge .ic{width:54px;height:42px;margin:0 auto 16px;position:relative;}
.lockbadge .ic .body{position:absolute;bottom:0;width:54px;height:30px;border:2px solid var(--bone-dim);border-radius:5px;}
.lockbadge .ic .shackle{position:absolute;top:0;left:50%;transform:translateX(-50%);width:30px;height:26px;border:2px solid var(--bone-dim);border-bottom:0;border-radius:16px 16px 0 0;}
.lockbadge p{font-size:11px;letter-spacing:0.24em;text-transform:uppercase;}
.lockframe .ph{position:absolute;bottom:14px;left:16px;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);z-index:2;}
.pitch{font-size:19px;line-height:1.68;color:var(--bone);max-width:60ch;}
.pitch em{color:#fff;font-style:italic;}
.pitch .free{color:#d1a05f;font-style:italic;font-weight:500;white-space:nowrap;}
.pitch .free::after{content:" \2192";font-style:normal;}

/* form / embed slot */
.formcard{margin-top:36px;border:1px solid var(--line-strong);
  background:linear-gradient(to bottom,rgba(24,19,17,0.9),rgba(13,11,10,0.9));padding:34px 32px 30px;}
.formcard .flabel{font-size:11px;letter-spacing:0.26em;text-transform:uppercase;color:var(--bone-dim);margin-bottom:22px;text-align:center;}
.field{margin-bottom:20px;}
.field label{display:block;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.field input,.field select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-strong);
  color:var(--bone);font-family:var(--body);font-size:17px;padding:8px 2px;outline:none;transition:border-color .3s;}
.field select{color:var(--bone-dim);}
.field input::placeholder{color:var(--muted);}
.field input:focus,.field select:focus{border-color:var(--oxblood-bright);}
.cta{display:inline-block;width:100%;text-align:center;margin-top:10px;padding:17px;border:0;cursor:pointer;
  background:var(--oxblood);color:#fde7e2;font-family:var(--body);font-weight:500;font-size:14px;letter-spacing:0.2em;
  text-transform:uppercase;text-decoration:none;transition:background .3s,transform .15s;}
.cta:hover{background:var(--oxblood-bright);} .cta:active{transform:translateY(1px);}
.skip{display:block;text-align:center;margin-top:22px;font-style:italic;font-size:15px;color:var(--muted);text-decoration:none;transition:color .3s;}
.skip:hover{color:var(--bone-dim);}

footer{padding:70px 0 50px;text-align:center;border-top:1px solid var(--line);margin-top:80px;}
footer .brand{font-size:15px;}
footer p{font-size:12px;color:var(--muted);margin-top:14px;letter-spacing:0.04em;}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity 1s ease,transform 1s ease;}
.reveal.in{opacity:1;transform:none;}
.d1{transition-delay:.12s;} .d2{transition-delay:.24s;} .d3{transition-delay:.36s;}

/* unlock-page success banner */
.unlocked-banner{text-align:center;padding:30px 0 0;}
.unlocked-banner .tag{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:0.26em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.unlocked-banner .tag .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);}

/* ---- Kajabi inline embed: nudge toward the site theme ---- */
.kajabi-embed{margin-top:6px;}
.kajabi-embed .kjb-form,.kajabi-embed form{background:transparent!important;}
.kajabi-embed input,.kajabi-embed select,.kajabi-embed textarea{
  background:rgba(13,11,10,.6)!important;border:1px solid var(--line-strong)!important;
  color:var(--bone)!important;border-radius:0!important;font-family:var(--body)!important;}
.kajabi-embed input::placeholder{color:var(--muted)!important;}
.kajabi-embed button,.kajabi-embed .kjb-form__submit{
  background:var(--oxblood)!important;color:var(--bone)!important;border:0!important;
  border-radius:0!important;font-family:var(--body)!important;letter-spacing:.04em!important;
  text-transform:none!important;cursor:pointer!important;}
.kajabi-embed button:hover{background:var(--oxblood-bright)!important;}

/* IN COLLABORATION WITH: shared sponsor row (used across multiple pages) */
.mc-sponsors{
  padding:96px 0 80px;
  text-align:center;
  border-top:1px solid var(--line);
  margin-top:80px;
}
.mc-sponsors__eyebrow{
  font-family:var(--body);
  font-weight:500;
  font-size:11px;
  letter-spacing:0.34em;
  text-transform:uppercase;
  color:var(--bone-dim);
  margin-bottom:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}
.mc-sponsors__eyebrow::before,
.mc-sponsors__eyebrow::after{
  content:"";height:1px;width:34px;background:var(--oxblood);opacity:0.8;
}
.mc-sponsors__sub{
  font-style:italic;
  font-size:15px;
  color:var(--muted);
  margin-bottom:48px;
}
.mc-sponsors__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
  gap:36px 30px;
  align-items:center;
  justify-items:center;
  max-width:880px;
  margin:0 auto;
}
.mc-sponsors__grid img{
  max-width:100%;
  max-height:60px;
  width:auto;
  height:auto;
  opacity:0.75;
  transition:opacity .4s, filter .4s;
  filter:grayscale(20%);
}
.mc-sponsors__grid img:hover{
  opacity:1;
  filter:grayscale(0%);
}

/* PHASE blocks: image-anchored module beats (shared, masterclass + start-here) */
.mc-phase{
  margin-top:80px;
  padding-top:54px;
  border-top:1px solid var(--line);
}
.mc-phase:first-of-type{border-top:0;padding-top:0;}
.mc-phase__label{
  font-family:var(--body);
  font-weight:500;
  font-size:11px;
  letter-spacing:0.36em;
  text-transform:uppercase;
  color:var(--oxblood-bright);
  margin-bottom:14px;
}
.mc-phase__title{
  font-family:var(--display);
  font-style:italic;
  font-weight:400;
  font-size:clamp(24px, 3.6vw, 34px);
  line-height:1.25;
  color:var(--bone);
  max-width:30ch;
  margin-bottom:38px;
}
.mc-phase__split{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:48px;
  align-items:start;
}
.mc-phase__split.reverse{grid-template-columns:1fr 1.05fr;}
@media(max-width:780px){
  .mc-phase__split,
  .mc-phase__split.reverse{grid-template-columns:1fr;gap:30px;}
}
.mc-phase__img{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line-strong);
  background:#0c0908;
}
.mc-phase__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 1.6s cubic-bezier(.16,1,.3,1);
}
.mc-phase__img:hover img{transform:scale(1.03);}
.mc-phase__img .corner{
  position:absolute;
  width:12px;height:12px;
  border:1px solid var(--bone);
  opacity:.45;z-index:3;
}
.mc-phase__img .corner.tl{top:12px;left:12px;border-right:0;border-bottom:0;}
.mc-phase__img .corner.tr{top:12px;right:12px;border-left:0;border-bottom:0;}
.mc-phase__img .corner.bl{bottom:12px;left:12px;border-right:0;border-top:0;}
.mc-phase__img .corner.br{bottom:12px;right:12px;border-left:0;border-top:0;}
.mc-phase__caption{
  margin-top:14px;
  font-style:italic;
  font-size:14px;
  color:var(--bone-dim);
  line-height:1.55;
}
.mc-phase__caption .needle{
  font-family:var(--body);
  font-style:normal;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-right:10px;
}
.mc-phase__modules{display:flex;flex-direction:column;}
.mc-phase__module{
  padding:22px 0;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:42px 1fr;
  gap:18px;
  align-items:start;
}
.mc-phase__module:last-child{border-bottom:0;}
.mc-phase__module .num{
  font-family:var(--display);
  font-style:italic;
  color:var(--oxblood-bright);
  font-size:22px;
}
.mc-phase__module h4{
  font-family:var(--display);
  font-weight:500;
  font-size:20px;
  margin-bottom:6px;
  color:var(--bone);
}
.mc-phase__module p{
  font-size:16px;
  color:var(--bone-dim);
  line-height:1.6;
}
