/* Home "later" scenes. Base = static stacked layout (mobile, no-JS, reduced motion). Pinned layout only at >720px with .lt-js and not .lt-static. */
.lt-sec{position:relative;color:var(--fg);font-family:Manrope,system-ui,sans-serif;background:#fff;-webkit-font-smoothing:antialiased}
.lt-sec *{box-sizing:border-box}
.lt-pin{position:relative;overflow:hidden;padding:72px 0}
.lt-wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
.lt-kicker{margin:0 0 14px;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint)}
.lt-title{margin:0;font-weight:500;font-size:clamp(32px,5vw,72px);line-height:1.04;letter-spacing:-.03em}
.lt-lede{margin:18px 0 0;max-width:640px;font-size:clamp(16px,1.5vw,19px);line-height:1.5;color:var(--fg-soft)}
.lt-head{margin-bottom:clamp(24px,4vh,44px)}
.lt-link{display:inline-block;font-size:15px;font-weight:500;color:var(--fg);text-decoration:none;border-bottom:1px solid var(--fg);padding-bottom:2px}
.lt-link::after{content:" \2192"}
.lt-link:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.lt-foot{margin:clamp(20px,3vh,36px) 0 0}
.lt-wash,.lt-bloom{position:absolute;pointer-events:none;background-repeat:no-repeat;background-size:cover;background-position:center;mix-blend-mode:multiply}
.lt-wash{inset:-6% -4%;opacity:.5;transform:translate3d(calc((var(--p,0) - .5) * -5%),0,0)}
.lt-how .lt-wash{background-image:url(https://uncode.com.au/wp-content/plugins/uncode-scroll/assets/slides/home-scene-stages.jpg)}
.lt-why .lt-wash{background-image:url(https://uncode.com.au/wp-content/plugins/uncode-scroll/assets/slides/home-scene-why.jpg);opacity:.7}

/* 1 Services: kinetic type list */
.lt-bloom{inset:0;background-image:url(https://uncode.com.au/wp-content/plugins/uncode-scroll/assets/slides/home-scene-services.jpg);background-size:160% auto;opacity:.9;
  background-position:calc(100% - var(--p,0) * 70%) calc(var(--p,0) * 100%)}
.lt-svc-list{list-style:none;margin:0;padding:0}
.lt-svc-item{padding:20px 0;border-top:1px solid var(--rule)}
.lt-svc-name{margin:0 0 8px;font-weight:500;font-size:clamp(28px,8vw,40px);line-height:1.12;letter-spacing:-.03em}
.lt-svc-detail p{margin:0 0 10px;color:var(--fg-soft);font-size:16px;line-height:1.55;max-width:44ch}

/* 2 How we work: self-drawing line */
.lt-how-stage{position:relative;height:700px;margin:0 0 8px}
.lt-how-svg{position:absolute;left:0;top:0;width:48px;height:700px;overflow:visible}
.lt-how-path{stroke:var(--brand);stroke-width:2;stroke-linecap:round}
.lt-how-stops{list-style:none;margin:0;padding:0}
.lt-how-stop h3{margin:0 0 6px;font-weight:700;font-size:20px;letter-spacing:-.02em}
.lt-how-stop p{margin:0;font-size:15px;line-height:1.5;color:var(--fg-soft)}
.lt-dot{display:none;position:absolute;left:0;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid var(--brand);background:#fff}
/* no-JS: plain list */
.lt-how:not(.lt-js) .lt-how-stage{height:auto}
.lt-how:not(.lt-js) .lt-how-svg{display:none}
.lt-how:not(.lt-js) .lt-how-stop{padding:16px 0;border-top:1px solid var(--rule)}
.lt-how.lt-js .lt-dot{display:block}
.lt-how.lt-js .lt-how-stop{position:absolute;width:0;height:0}
.lt-how.lt-js .lt-how-txt{position:absolute;left:30px;top:-14px;width:calc(100vw - 108px);max-width:320px}


/* 4 Why: word reveal */
.lt-why .lt-kicker{text-align:center}
.lt-stmt{text-align:center;padding:28px 0;border-top:1px solid var(--rule)}
.lt-stmt-h{margin:0;font-weight:500;font-size:clamp(34px,9vw,52px);line-height:1.06;letter-spacing:-.03em}
.lt-stmt-p{margin:16px auto 0;max-width:46ch;font-size:17px;line-height:1.55;color:var(--fg-soft)}
.lt-why .lt-foot{text-align:center}

/* Pinned (desktop, JS, motion allowed). Heights give each step about 0.75 of a screen of scrolling, the rhythm of the agent story and the chat. */
@media (min-width:721px){
  .lt-sec.lt-js:not(.lt-static) .lt-pin{position:sticky;top:0;height:100vh;padding:calc(var(--hdr,90px) + 14px) 0 24px;display:flex;flex-direction:column;justify-content:center}
  .lt-services.lt-js:not(.lt-static){height:220vh}
  .lt-how.lt-js:not(.lt-static){height:400vh}
  .lt-why.lt-js:not(.lt-static){height:400vh}

  .lt-svc-item{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:32px;padding:clamp(6px,1.2vh,14px) 0}
  .lt-svc-name{margin:0;font-size:min(4.4vw,6.8vh);transform-origin:left center}
  .lt-svc-detail p{font-size:clamp(15px,1.25vw,18px)}
  .lt-svc-list{border-bottom:1px solid var(--rule)}
  .lt-services.lt-js:not(.lt-static) .lt-svc-name{opacity:.18;transform:scale(.62);transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .lt-services.lt-js:not(.lt-static) .lt-svc-detail{opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s .5s}
  .lt-services.lt-js:not(.lt-static) .is-on .lt-svc-name{opacity:1;transform:none}
  .lt-services.lt-js:not(.lt-static) .is-on .lt-svc-detail{opacity:1;visibility:visible;transform:none;transition:opacity .6s var(--ease) .15s,transform .6s var(--ease) .15s,visibility 0s}

  .lt-how-stage{height:clamp(340px,50vh,440px)}
  .lt-how-svg{width:100%;height:100%}
  .lt-how.lt-js .lt-how-txt{left:-120px;top:var(--ty,120px);width:240px;max-width:none;text-align:center;padding-top:16px}
  .lt-how.lt-js .lt-how-stop::after{content:"";position:absolute;left:0;top:0;width:1px;height:var(--ty,120px);background:var(--rule)}
  .lt-how.lt-js:not(.lt-static) .lt-how-txt{opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .lt-how.lt-js:not(.lt-static) .lt-how-stop.is-on .lt-how-txt{opacity:1;transform:none}
  .lt-how.lt-js:not(.lt-static) .lt-dot{transition:background-color .4s var(--ease)}
  .lt-how.lt-js:not(.lt-static) .lt-how-stop.is-on .lt-dot,.lt-how.lt-static .lt-dot{background:var(--brand)}
  .lt-how-stop h3{font-size:22px}

  .lt-lede{margin-top:14px}

  .lt-why .lt-wrap{text-align:center}
  .lt-stmt{padding:0;border:0}
  .lt-stmt-h{font-size:clamp(40px,6.6vw,96px)}
  .lt-stmt-p{font-size:clamp(17px,1.5vw,21px)}
  .lt-why.lt-js:not(.lt-static) .lt-stmts{display:grid;align-items:center;min-height:min(46vh,420px)}
  .lt-why.lt-js:not(.lt-static) .lt-stmt{grid-area:1/1;visibility:hidden}
  .lt-why.lt-js:not(.lt-static) .lt-stmt.is-on{visibility:visible}
}
.lt-w{opacity:.16}
.lt-static .lt-w{opacity:1}
@media (prefers-reduced-motion:reduce){.lt-sec *{transition:none!important}}
/* Fit on short screens: titles and the service list size by width or height, whichever is tighter */
.lt-title{font-size:clamp(30px,min(5vw,8.4vh),72px)}
@media (min-width:721px){
  .lt-svc-name{font-size:min(4.2vw,5.4vh)}
  .lt-svc-item{padding:clamp(4px,.9vh,12px) 0}
  .lt-services .lt-kicker{margin-bottom:8px}
}
/* In from the screen edges, and smaller supporting text on the platform hub */
.lt-wrap{max-width:1100px;padding:0 clamp(24px,6vw,88px)}
.lt-wash,.lt-bloom{inset:clamp(12px,1.8vw,28px)}
/* How we work: stops appear only when the line reaches them */
@media (min-width:721px){
  .lt-how.lt-js:not(.lt-static) .lt-dot{opacity:0;transform:scale(.3);transition:opacity .45s var(--ease),transform .45s var(--ease),background-color .4s var(--ease)}
  .lt-how.lt-js:not(.lt-static) .lt-how-stop::after{opacity:0;transform:scaleY(0);transform-origin:top;transition:opacity .45s var(--ease),transform .55s var(--ease)}
  .lt-how.lt-js:not(.lt-static) .lt-how-stop.is-on .lt-dot{opacity:1;transform:none}
  .lt-how.lt-js:not(.lt-static) .lt-how-stop.is-on::after{opacity:1;transform:none}
}
/* Services: smaller, with clear space below, smaller supporting line */
@media (min-width:721px){
  .lt-services.lt-js:not(.lt-static) .lt-pin{padding-bottom:clamp(44px,8vh,88px)}
  .lt-svc-name{font-size:min(3.4vw,4.4vh)}
  .lt-svc-detail p{font-size:14px;line-height:1.5}
  .lt-svc-detail a{font-size:13.5px}
}
.lt-svc-detail p{font-size:14px}
/* Service icons: line icons in brand blue that scale with each name */
.lt-svc-name{display:flex;align-items:center;gap:.32em}
.lt-svc-ic{width:.78em;height:.78em;flex:none;color:var(--brand)}
.lt-foot-top{margin:14px 0 0}
/* Why UNCODE: masked words rise in and lift away, a four-part bar tracks progress */
.lt-w{opacity:1;display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .02em .1em;margin-bottom:-.1em}
.lt-wi{display:inline-block;will-change:transform,opacity}
.lt-why-bar{display:none}
@media (min-width:721px){
  .lt-why.lt-js:not(.lt-static) .lt-why-bar{display:flex;gap:8px;justify-content:center;max-width:240px;margin:30px auto 0}
  .lt-why-bar i{position:relative;flex:1;height:2px;background:var(--rule);overflow:hidden}
  .lt-why-bar i::after{content:"";position:absolute;inset:0;background:var(--brand);transform:scaleX(var(--f,0));transform-origin:left}
  .lt-stmt-p{will-change:transform,opacity}
}
.lt-static .lt-wi{transform:none!important;opacity:1!important}
/* The pinned wrapper is a flex child and shrank to its content (about 740px), squeezing the path's four stops into each other. */
@media (min-width:721px){ .lt-how.lt-js:not(.lt-static) .lt-wrap{width:100%} }

/* Washes fade out at every edge so the watercolour runs on from section to section without a seam */
.lt-wash, .lt-bloom{
  -webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 18%, #000 82%, transparent 100%);
  mask-image:linear-gradient(to bottom, transparent 0, #000 18%, #000 82%, transparent 100%);
}
/* Services list (desktop): all five stay readable; the one you have scrolled to opens with its line and link */
@media (min-width:721px){
  .lt-services.lt-js:not(.lt-static){height:475vh}
  .lt-services.lt-js:not(.lt-static) .lt-wrap{width:100%;max-width:1180px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,88px);align-items:center}
  .lt-services.lt-js:not(.lt-static) .lt-head{margin:0;text-align:left}
  .lt-services.lt-js:not(.lt-static) .lt-svc-list{border-top:1px solid var(--rule);border-bottom:0}
  .lt-services.lt-js:not(.lt-static) .lt-svc-item{display:grid;grid-template-columns:1fr;grid-template-rows:auto 0fr;gap:0;padding:clamp(12px,2vh,20px) 0;border-bottom:1px solid var(--rule);transition:grid-template-rows .55s var(--ease)}
  .lt-services.lt-js:not(.lt-static) .lt-svc-item.is-on{grid-template-rows:auto 1fr}
  .lt-services.lt-js:not(.lt-static) .lt-svc-item .lt-svc-name{display:flex;align-items:center;gap:18px;font-size:clamp(22px,2.3vw,34px);line-height:1.15;color:var(--fg-faint);opacity:1;transform:none;transition:color .45s var(--ease)}
  .lt-services.lt-js:not(.lt-static) .lt-svc-item.is-on .lt-svc-name{color:var(--fg)}
  .lt-services.lt-js:not(.lt-static) .lt-svc-ic{width:42px;height:42px;padding:10px;flex:none;border:1px solid var(--rule);border-radius:50%;color:var(--fg-soft);transition:background-color .45s var(--ease),border-color .45s var(--ease),color .45s var(--ease)}
  .lt-services.lt-js:not(.lt-static) .is-on .lt-svc-ic{background:var(--brand);border-color:var(--brand);color:#fff}
  .lt-services.lt-js:not(.lt-static) .lt-svc-item .lt-svc-detail{min-height:0;overflow:hidden;padding-left:60px;opacity:0;visibility:visible;transform:none;transition:opacity .35s var(--ease)}
  .lt-services.lt-js:not(.lt-static) .lt-svc-item.is-on .lt-svc-detail{opacity:1;transition:opacity .5s var(--ease) .18s}
  .lt-services.lt-js:not(.lt-static) .lt-svc-detail p{margin:10px 0 8px;max-width:46ch;font-size:clamp(15px,1.2vw,17px);line-height:1.55;color:var(--fg-soft)}
}

/* The four closing sections are pinned scenes, built like the agents row: a tall section holds a sticky full-screen pin,
   scroll progress through it drives the content (data-in windows, radar sweep), and the page settles at its start and end. */
.pinsc{padding:clamp(48px,8vh,88px) 0;margin:0;background:#fff}
.pinsc-fit{width:100%}
@media (min-width:721px) and (prefers-reduced-motion:no-preference){
  section.pinsc{height:var(--pin-h,220vh);padding:0 !important;position:relative;overflow:visible}   /* sticky needs no overflow clipping on its section */
  .pinsc-pin{position:sticky;top:0;height:100vh;box-sizing:border-box;padding:var(--hdr,90px) 0 12px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
}
.pf-wrap,.tr .wrap,.faqh .wrap,.scan .scan-in,.b-close .wrap{width:100%;max-width:calc(1100px + 2 * clamp(24px,6vw,88px));margin:0 auto;padding:0 clamp(24px,6vw,88px);box-sizing:border-box}
.pf .lt-title,.tr .b-title,.faqh .b-title,.b-close .b-title{font-size:clamp(30px,min(5vw,7.6vh),68px)}
.scan .b-title{font-size:clamp(30px,min(4.4vw,7.2vh),60px)}

/* Platform: capability grid (no pinned hub, no single centre) */
.pf-head{text-align:center}
.pf-head .lt-lede{margin-left:auto;margin-right:auto;max-width:56ch}
.pf-grid{list-style:none;margin:clamp(24px,4.5vh,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3.6vh,40px) clamp(24px,4vw,56px)}
.pf-card{display:grid;grid-template-columns:26px 1fr;column-gap:14px;align-items:start;padding-top:clamp(14px,2.4vh,22px);border-top:1px solid var(--rule)}
.pf-ic{grid-row:1 / span 2;display:block;width:26px;height:26px;margin-top:1px;color:var(--brand)}
.pf-card h3{margin:0 0 6px;font-weight:700;font-size:17px;line-height:1.25;letter-spacing:-.02em}
.pf-card p{margin:0;font-size:15px;line-height:1.5;color:var(--fg-soft)}
.pf .lt-foot{text-align:center;margin-top:clamp(20px,3.6vh,44px)}
@media (max-width:900px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pf-grid{grid-template-columns:1fr}}

/* Trust: analyst logos and frameworks */
.tr .b-lede{max-width:58ch;margin:clamp(12px,2vh,20px) auto 0}
.tr-block{margin-top:clamp(18px,3.4vh,40px)}
.tr-label{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-soft)}
.tr .recog{margin-top:clamp(10px,1.8vh,18px)}
.tr .recog li{padding-top:clamp(12px,2vh,18px)}
.tr .recog p{margin-top:10px}
.tr-fw{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px clamp(28px,4vw,56px);margin:clamp(12px,2.2vh,22px) 0 0;padding:0;list-style:none}
.tr-fw img{display:block;width:auto;height:clamp(40px,6.4vh,58px)}
.tr-fw img[src$=".svg"]{height:clamp(22px,3.4vh,30px)}
.tr .b-note{max-width:78ch;margin:clamp(18px,3.4vh,40px) auto 0}

/* Assessment banner: light, no navy */
.scan{color:var(--fg);border-top:1px solid var(--rule)}
.scan .b-kicker,.scan .b-lede{color:var(--fg-soft)}
.radar-disc{width:min(380px,50vh,80vw);background:radial-gradient(circle,rgba(41,181,232,.08) 0%,rgba(41,181,232,0) 70%)}
.ring{border-color:rgba(20,43,58,.16)}
.sweep{background:conic-gradient(from 0deg,rgba(41,181,232,0) 0deg,rgba(41,181,232,0) 300deg,rgba(41,181,232,.28) 360deg)}
.blip .ic{color:var(--fg);background:#fff;border-color:var(--brand)}
.blip .ic::after{border-color:var(--brand)}
.blip span{color:var(--fg);background:#fff;border-color:var(--rule)}
.radar figcaption{color:var(--fg-soft)}
.radar-key li{color:var(--fg)}
.radar-key .ic{color:var(--fg);border-color:var(--brand)}

/* Close */
.b-close{border-top:1px solid var(--rule)}
.b-close .b-lede{max-width:46ch;margin:clamp(12px,2vh,20px) auto 0}
.b-close .b-actions{margin-top:clamp(20px,3.6vh,36px)}

/* Questions: crawlable answers in two columns */
.faqh{text-align:center}
.faqh-grid{margin:clamp(14px,2.6vh,30px) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,5vw,72px);align-items:start;text-align:left}
.faqh-col{display:flex;flex-direction:column;gap:clamp(10px,2vh,22px)}
.faqh-item{padding-top:clamp(8px,1.4vh,14px);border-top:1px solid var(--rule)}
.faqh-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;list-style:none;cursor:pointer;font-weight:700;font-size:16px;line-height:1.3;letter-spacing:-.02em;padding-bottom:8px}
.faqh-item summary::-webkit-details-marker{display:none}
.faqh-item summary::after{content:"";flex:none;width:9px;height:9px;margin-right:4px;border-right:2px solid var(--fg-soft);border-bottom:2px solid var(--fg-soft);transform:rotate(45deg);transition:transform .25s var(--ease)}
.faqh-item[open] summary::after{transform:rotate(-135deg)}
.faqh-item summary:hover::after{border-color:var(--fg)}
.faqh-item summary:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.faqh-item{overflow:hidden;box-sizing:border-box}
.faqh-item p{margin:0 0 6px;font-size:14.5px;line-height:1.5;color:var(--fg-soft)}
@media (max-width:720px){.faqh-grid{grid-template-columns:1fr;gap:clamp(10px,2vh,22px)}}

/* Phones: long buttons wrap inside the screen instead of running off it */
@media (max-width:720px){
  .below .pill{box-sizing:border-box;max-width:100%;height:auto !important;min-height:48px;padding:12px 24px;white-space:normal;text-align:center;line-height:1.25}
}

.faqh .b-title{font-size:clamp(26px,min(3.6vw,5.6vh),46px)}
.faqh .b-kicker{margin-bottom:8px}
