
/* LULYGraphics Order — Journey + Design System V3 */

body.order-page .field-help{
  margin:.42rem 0 0;
  color:rgba(255,255,255,.48);
  font-size:.72rem;
}

/* =========================================================
   HERO / CONNECTED ORDER JOURNEY
   ========================================================= */
body.order-page .order-journey-hero{
  position:relative;
  overflow:hidden;
  /* Keep the hero close to the fixed navbar so the full 01–06 journey
     is visible on a typical desktop viewport without an initial scroll. */
  padding-top:clamp(3.5rem,4vw,4rem);
  padding-bottom:clamp(3rem,5vw,5rem);
}
body.order-page .order-journey-hero::before{
  content:"";
  position:absolute;
  width:min(70vw,900px);
  height:min(70vw,900px);
  left:50%;
  top:34%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,106,0,.075),rgba(255,106,0,.018) 42%,transparent 70%);
  pointer-events:none;
}
body.order-page .order-journey-hero .order-intro{
  position:relative;
  z-index:2;
}
body.order-page .order-journey-shell{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;
  margin-top:clamp(2.2rem,4vw,4rem);
  padding:2.15rem 1.25rem 1.25rem;
  border:1px solid rgba(255,128,32,.2);
  border-radius:30px;
  background:
          linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.008)),
          rgba(9,7,5,.74);
  box-shadow:0 26px 80px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.025);
  backdrop-filter:blur(10px);
  overflow:hidden;
}
body.order-page .order-journey-shell::before,
body.order-page .order-journey-shell::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
body.order-page .order-journey-shell::before{
  width:310px;
  height:310px;
  right:-150px;
  top:-185px;
  border:1px solid rgba(255,106,0,.12);
  box-shadow:0 0 0 44px rgba(255,106,0,.016),0 0 0 88px rgba(255,106,0,.009);
}
body.order-page .order-journey-shell::after{
  width:260px;
  height:260px;
  left:-130px;
  bottom:-170px;
  background:radial-gradient(circle,rgba(255,106,0,.08),transparent 68%);
}

body.order-page .order-journey-line{
  position:absolute;
  left:8.2%;
  right:8.2%;
  top:65px;
  height:2px;
  overflow:hidden;
  background:rgba(255,106,0,.16);
  z-index:0;
}
body.order-page .order-journey-line::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,106,0,.16),rgba(255,141,55,.8),rgba(255,106,0,.2));
}
body.order-page .order-journey-line i{
  position:absolute;
  top:0;
  left:-22%;
  width:22%;
  height:100%;
  background:linear-gradient(90deg,transparent,#ff9a48,transparent);
  filter:drop-shadow(0 0 7px rgba(255,106,0,.8));
  animation:lulyJourneyPulse 4.8s linear infinite;
}
@keyframes lulyJourneyPulse{
  from{left:-22%}
  to{left:100%}
}

body.order-page .order-journey-step{
  position:relative;
  z-index:2;
  min-width:0;
  padding:0 .68rem 1.15rem;
  text-align:center;
}
body.order-page .journey-node{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin:0 auto 1rem;
  border:1px solid rgba(255,126,30,.5);
  border-radius:16px;
  background:#100b07;
  color:#ff8b2d;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.05em;
  box-shadow:0 0 0 8px rgba(9,7,5,.96),0 0 26px rgba(255,106,0,.07);
  transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;
}
body.order-page .order-journey-step:hover .journey-node{
  transform:translateY(-4px) scale(1.04);
  background:#ff7a19;
  color:#150b03;
  box-shadow:0 0 0 8px rgba(9,7,5,.96),0 0 30px rgba(255,106,0,.18);
}
body.order-page .order-journey-step strong{
  display:block;
  margin-bottom:.35rem;
  color:#f8f1e9;
  font-size:.96rem;
}
body.order-page .order-journey-step p{
  max-width:160px;
  margin:0 auto;
  color:rgba(255,255,255,.5);
  font-size:.68rem;
  line-height:1.5;
}


/* =========================================================
   CHOOSE WHAT YOU NEED / DESIGN SYSTEM
   ========================================================= */
body.order-page .order-design-type-section{
  position:relative;
  overflow:hidden;
}
body.order-page .order-design-type-section::before{
  content:"";
  position:absolute;
  width:820px;
  height:520px;
  left:50%;
  top:58%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,106,0,.06),transparent 68%);
  pointer-events:none;
}

body.order-page .order-design-type-stage{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1.05rem;
  max-width:1280px;
  min-height:620px;
  margin-left:auto;
  margin-right:auto;
  padding:1.2rem 0;
  isolation:isolate;
}

/* ambient orbital system */
body.order-page .design-system-orbit,
body.order-page .design-system-core,
body.order-page .design-beam{
  pointer-events:none;
}
body.order-page .design-system-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border:1px solid rgba(255,106,0,.12);
  border-radius:50%;
  transform:translate(-50%,-50%);
  z-index:-4;
}
body.order-page .design-system-orbit-a{
  width:430px;
  height:430px;
  animation:lulyOrbitSpin 28s linear infinite;
}
body.order-page .design-system-orbit-b{
  width:610px;
  height:310px;
  opacity:.72;
  transform:translate(-50%,-50%) rotate(-12deg);
  animation:lulyOrbitBreathe 7s ease-in-out infinite alternate;
}
body.order-page .design-system-orbit-a::before,
body.order-page .design-system-orbit-b::before{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#ff7a19;
  box-shadow:0 0 16px rgba(255,106,0,.95);
}
body.order-page .design-system-orbit-a::before{
  left:50%;
  top:-3px;
}
body.order-page .design-system-orbit-b::before{
  right:12%;
  bottom:8%;
}
@keyframes lulyOrbitSpin{
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes lulyOrbitBreathe{
  from{opacity:.42;filter:blur(0)}
  to{opacity:.88;filter:blur(.15px)}
}

body.order-page .design-system-core{
  position:absolute;
  left:50%;
  top:50%;
  width:150px;
  height:150px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,106,0,.12),rgba(255,106,0,.025) 52%,transparent 70%);
  filter:blur(.1px);
  z-index:-3;
}
body.order-page .design-system-core span{
  position:absolute;
  inset:32%;
  border:1px solid rgba(255,125,28,.25);
  border-radius:50%;
  box-shadow:0 0 28px rgba(255,106,0,.12);
  animation:lulyCorePulse 3.6s ease-in-out infinite;
}
@keyframes lulyCorePulse{
  0%,100%{transform:scale(.82);opacity:.42}
  50%{transform:scale(1.12);opacity:1}
}

/* animated beams converge toward central custom card */
body.order-page .design-beam{
  position:absolute;
  left:50%;
  top:50%;
  width:260px;
  height:1px;
  transform-origin:left center;
  z-index:-2;
  opacity:.72;
  background:linear-gradient(90deg,rgba(255,106,0,.35),rgba(255,106,0,.08),transparent);
}
body.order-page .design-beam i{
  position:absolute;
  left:0;
  top:-1px;
  width:52px;
  height:3px;
  background:linear-gradient(90deg,transparent,#ff7a19,transparent);
  filter:blur(.2px) drop-shadow(0 0 6px rgba(255,106,0,.8));
  animation:lulyBeamTravel 3.7s linear infinite;
}
body.order-page .beam-1{transform:rotate(204deg)}
body.order-page .beam-2{transform:rotate(232deg)}
body.order-page .beam-3{transform:rotate(308deg)}
body.order-page .beam-4{transform:rotate(24deg)}
body.order-page .beam-5{transform:rotate(52deg)}
body.order-page .beam-6{transform:rotate(336deg)}
body.order-page .beam-2 i,
body.order-page .beam-5 i{animation-delay:-1.2s}
body.order-page .beam-3 i,
body.order-page .beam-6 i{animation-delay:-2.4s}
@keyframes lulyBeamTravel{
  from{left:0;opacity:0}
  15%{opacity:1}
  80%{opacity:.75}
  to{left:78%;opacity:0}
}

body.order-page .design-type-card{
  position:relative;
  min-height:168px;
  padding:1.15rem 1.2rem;
  border:1px solid rgba(255,132,38,.24);
  border-radius:23px;
  background:
          linear-gradient(180deg,rgba(255,255,255,.047),rgba(255,255,255,.012)),
          rgba(11,8,6,.79);
  color:#f7f0e8;
  text-align:left;
  box-shadow:0 22px 56px rgba(0,0,0,.3);
  overflow:hidden;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s ease,background .28s ease,box-shadow .28s ease;
  backdrop-filter:blur(9px);
}
body.order-page .design-type-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(112deg,transparent 25%,rgba(255,255,255,.045) 42%,rgba(255,136,45,.08) 50%,transparent 68%);
  transform:translateX(-120%);
  transition:transform .72s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
body.order-page .design-type-card::after{
  content:"";
  position:absolute;
  width:180px;
  height:120px;
  right:-70px;
  bottom:-70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,106,0,.18),transparent 68%);
  opacity:.3;
  transition:opacity .28s ease,transform .28s ease;
  pointer-events:none;
}
body.order-page .design-type-card:hover,
body.order-page .design-type-card:focus-visible{
  transform:translateY(-7px) scale(1.012);
  border-color:rgba(255,130,32,.62);
  box-shadow:0 30px 70px rgba(0,0,0,.38),0 0 34px rgba(255,106,0,.075);
  outline:none;
}
body.order-page .design-type-card:hover::before,
body.order-page .design-type-card:focus-visible::before{
  transform:translateX(120%);
}
body.order-page .design-type-card:hover::after,
body.order-page .design-type-card:focus-visible::after{
  opacity:.75;
  transform:scale(1.2);
}
body.order-page .design-type-card.is-selected{
  border-color:#ff7a19;
  background:
          linear-gradient(180deg,rgba(255,106,0,.115),rgba(255,255,255,.018)),
          rgba(13,8,5,.9);
  box-shadow:0 0 0 1px rgba(255,106,0,.12),0 25px 64px rgba(0,0,0,.34),0 0 38px rgba(255,106,0,.07);
}
body.order-page .design-type-card.is-selected::after{
  opacity:.75;
}

body.order-page .design-type-card>span{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:30px;
  margin-bottom:1rem;
  padding:0 .65rem;
  border-radius:999px;
  background:rgba(255,106,0,.14);
  color:#ff9a4c;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
}
body.order-page .design-type-card strong{
  position:relative;
  z-index:2;
  display:block;
  margin-bottom:.38rem;
  font-size:1.06rem;
  line-height:1.2;
}
body.order-page .design-type-card small{
  position:relative;
  z-index:2;
  display:block;
  color:rgba(255,255,255,.58);
  font-size:.8rem;
  line-height:1.55;
}

/* Top row */
body.order-page .design-type-card-1{grid-column:1 / span 2;grid-row:1;}
body.order-page .design-type-card-2{grid-column:3 / span 2;grid-row:1;}
body.order-page .design-type-card-3{grid-column:5 / span 2;grid-row:1;}

/* Central hub */
body.order-page .design-type-card-custom{
  grid-column:2 / span 4;
  grid-row:2;
  align-self:center;
  min-height:132px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:1rem;
  padding:1.2rem 1.4rem;
  border-color:rgba(255,124,28,.52);
  background:
          linear-gradient(90deg,rgba(255,106,0,.11),rgba(255,255,255,.026) 48%,rgba(255,106,0,.075)),
          rgba(14,9,6,.92);
  box-shadow:0 26px 72px rgba(0,0,0,.4),0 0 44px rgba(255,106,0,.07);
}
body.order-page .design-type-card-custom::after{
  width:240px;
  height:150px;
  right:-70px;
  bottom:-80px;
}
body.order-page .design-type-card-custom>span{
  margin:0;
  width:46px;
  height:46px;
  border-radius:14px;
  background:#ff7a19;
  color:#140b04;
  box-shadow:0 0 22px rgba(255,106,0,.18);
}
body.order-page .design-type-card-custom .custom-type-copy{
  min-width:0;
}
body.order-page .design-type-card-custom .custom-type-kicker{
  margin:0 0 .15rem;
  color:#ff9a4c;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.order-page .design-type-card-custom strong{
  margin:0 0 .25rem;
  font-size:1.22rem;
}
body.order-page .design-type-card-custom em{
  position:relative;
  z-index:2;
  display:block;
  color:rgba(255,255,255,.58);
  font-size:.8rem;
  font-style:normal;
  line-height:1.5;
}
body.order-page .design-type-card-custom>i{
  position:relative;
  z-index:2;
  color:#ff8b2d;
  font-size:1.45rem;
  font-style:normal;
  transition:transform .24s ease;
}
body.order-page .design-type-card-custom:hover>i{
  transform:translate(4px,-4px);
}

/* Bottom row */
body.order-page .design-type-card-4{grid-column:1 / span 2;grid-row:3;}
body.order-page .design-type-card-5{grid-column:3 / span 2;grid-row:3;}
body.order-page .design-type-card-6{grid-column:5 / span 2;grid-row:3;}

body.order-page .brief-prompt-chips{
  gap:.55rem;
}
body.order-page .brief-prompt-chips span{
  white-space:nowrap;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1199.98px){
  body.order-page .order-journey-step p{font-size:.64rem}
  body.order-page .order-design-type-stage{max-width:980px}
  body.order-page .design-beam{width:220px}
}
@media(max-width:991.98px){
  body.order-page .order-journey-shell{
    grid-template-columns:repeat(3,minmax(0,1fr));
    row-gap:1.5rem;
  }
  body.order-page .order-journey-line{
    display:none;
  }

  body.order-page .order-design-type-stage{
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-height:0;
  }
  body.order-page .design-type-card-1,
  body.order-page .design-type-card-2,
  body.order-page .design-type-card-3,
  body.order-page .design-type-card-4,
  body.order-page .design-type-card-5,
  body.order-page .design-type-card-6{
    grid-column:auto;
    grid-row:auto;
  }
  body.order-page .design-type-card-custom{
    grid-column:1 / -1;
    grid-row:2;
  }
  body.order-page .design-system-orbit,
  body.order-page .design-system-core,
  body.order-page .design-beam{
    display:none;
  }
}
@media(max-width:575.98px){
  body.order-page .order-journey-shell{
    grid-template-columns:1fr;
    padding:1.25rem;
  }
  body.order-page .order-journey-step{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:.85rem;
    align-items:center;
    text-align:left;
    padding:.45rem 0;
  }
  body.order-page .journey-node{
    margin:0;
  }
  body.order-page .order-journey-step p{
    max-width:none;
    margin:0;
  }
  body.order-page .order-journey-note{
    display:block;
    border-radius:18px;
    text-align:left;
  }
  body.order-page .order-journey-note span{
    display:block;
    margin-bottom:.3rem;
  }

  body.order-page .order-design-type-stage{
    grid-template-columns:1fr;
  }
  body.order-page .design-type-card-custom{
    grid-column:1;
    grid-row:auto;
    grid-template-columns:auto 1fr;
  }
  body.order-page .design-type-card-custom>i{
    display:none;
  }
  body.order-page .design-type-card{
    min-height:0;
  }
}

@media(prefers-reduced-motion:reduce){
  body.order-page .order-journey-line i,
  body.order-page .design-system-orbit-a,
  body.order-page .design-system-orbit-b,
  body.order-page .design-system-core span,
  body.order-page .design-beam i{
    animation:none !important;
  }
  body.order-page .design-type-card,
  body.order-page .journey-node{
    transition:none !important;
  }
}


