/* Cohesive homepage sections: readable type and viewport-aware art, without scroll locking. */
.ls-home{--frame-gap:clamp(24px,3svh,44px);--frame-title:clamp(46px,3.6vw,66px)}
.ls-home :is(h1,h2,h3){text-wrap:balance}
.ls-home :is(.gallery-heading h2,.studio-intro h2,.ls-theme-heading h2,.ls-section-top h2,.ls-control h2,.ls-faq>h2){font-size:var(--frame-title);font-weight:800;line-height:1.04;letter-spacing:-.045em}
.ls-home :is(.ls-label,.hero-eyebrow,.studio-kicker){font-size:13px;font-weight:750;letter-spacing:.06em}
.ls-home :is(.gallery-heading p,.studio-copy p,.ls-section-top p,.product-hero-copy>p){font-weight:500}
.ls-home :is(#appearance,#features,#why-radiant,#pricing,#how-it-works,#faq,.studio-story){scroll-margin-top:130px}
/* Hero copy and moving product presentation share one composition. */
.hero-frame{padding:130px 0 32px}
.hero-frame .ls-intro{padding:0 0 26px;min-height:0;gap:5%;grid-template-columns:1.15fr 1fr;align-items:center}
.hero-frame h1{max-width:none;font-size:clamp(52px,5.2vw,88px);font-weight:850;line-height:1.01;letter-spacing:-.05em}
.hero-frame .hero-eyebrow{margin-bottom:15px}
.hero-frame .product-hero-copy{max-width:550px}
.hero-frame .product-hero-copy>p{font-size:clamp(18px,1.3vw,23px);line-height:1.45}
.hero-frame .product-hero-actions{margin-top:20px}
.hero-frame .hero-proof{font-size:13px;margin-top:14px}
.hero-frame .ls-stage{height:clamp(280px,calc(100svh - 430px),660px);min-height:0;max-height:none}
.hero-frame .ls-screen-wrap{width:min(76%,calc(clamp(280px,100svh - 430px,660px)*1.55));max-width:1060px}
/* Appearance selection keeps both themed screenshots beside their copy. */
.ls-themes{margin-top:32px;padding:24px 0 36px}
.ls-themes-sticky{padding-top:0}
.ls-theme-heading{margin-bottom:24px;gap:24px;align-items:center}
.ls-theme-heading .ls-label{font-size:13px;margin-bottom:12px}
.ls-theme-card{padding:clamp(22px,2vw,34px)}
.ls-theme-copy h3{font-size:clamp(26px,2.5vw,40px);font-weight:800;line-height:1.1;margin-block:10px}
.ls-theme-card p{font-size:17px;line-height:1.45;font-weight:500}
.ls-theme-screen{margin:22px auto 0;max-width:min(100%,calc(clamp(200px,100svh - 600px,380px)*1.839));transform:none}
.ls-theme-dark .ls-theme-screen{transform:none}
.ls-theme-foot{margin-top:18px;font-size:12px}.ls-theme-bottom{margin-top:16px}
/* Keep gallery heading, full screenshot, controls and caption on one desktop view. */
.radiant-gallery{--gallery-art-height:clamp(250px,calc(100svh - 500px),660px);padding:30px 0 38px}
.gallery-heading{margin-bottom:24px;gap:12px 40px;align-items:center}
.gallery-heading>.ls-label{grid-column:1;align-self:end}
.gallery-heading h2{grid-column:1;grid-row:2;margin:0}
.gallery-heading p{grid-column:2;grid-row:1/3;align-self:center;max-width:370px;font-size:clamp(18px,1.3vw,22px);line-height:1.5}
.gallery-track{height:var(--gallery-art-height);min-height:0}
.gallery-slide{width:min(72%,calc(var(--gallery-art-height)*1.839));max-width:1400px}
.gallery-caption{width:min(72%,calc(var(--gallery-art-height)*1.839));padding-top:18px}
.gallery-caption h3{font-size:clamp(20px,1.7vw,28px);font-weight:750}.gallery-caption>span{font-size:15px}
.gallery-controls{inset:0 6%}.gallery-controls button{width:clamp(54px,4.5vw,76px);height:clamp(54px,4.5vw,76px)}
/* The range introduction and call to action now sit together above its art. */
.range-frame{padding:30px 0 40px}
.studio-intro{padding:0 0 24px;align-items:center;gap:40px}
.studio-intro>div:first-child{flex:1;min-width:0}
.studio-intro h2{margin-top:12px}
.studio-intro .fps-reason{display:block;padding:0;max-width:440px;flex:0 1 38%}
.fps-reason .ls-label{display:none}
.fps-reason h3{font-size:28px;line-height:1.15;letter-spacing:-.025em;min-height:0;margin:0 0 10px;font-weight:800}
.fps-reason h3 br{display:none}.fps-reason h3>span[data-type-benefit]::before{content:' '}
.fps-reason p{font-size:17px;line-height:1.45;max-width:430px}
.fps-reason .ls-pill{margin-top:14px;min-height:44px;padding:11px 20px;font-size:14px}
.fps-demo{margin:0}.fps-view{height:clamp(245px,38svh,430px)}
.fps-card header{min-height:50px;padding:10px 15px}
.fps-card .fps-caption{min-height:66px;padding:14px 18px;font-size:clamp(16px,1.25vw,21px)}
.fps-card .fps-caption svg{width:42px;height:30px}
.fps-demo-note{padding:14px 2px 0}.fps-demo-note p{font-size:13px;line-height:1.5}
.range-frame:has(#fps-demo[data-playback=paused]) [data-type-benefit]::after{animation-play-state:paused}
/* Each illustrated benefit retains its own color, with a shared type/spacing system. */
.studio-story{min-height:clamp(460px,65svh,680px);margin-bottom:36px}
.studio-copy{padding:clamp(28px,3.3vw,56px)}
.studio-copy h3{font-size:clamp(40px,3.7vw,66px);font-weight:800;line-height:1.05;letter-spacing:-.04em;margin-bottom:20px}
.studio-kicker{margin-bottom:22px}.studio-copy p{font-size:clamp(18px,1.3vw,22px);line-height:1.5}
.studio-copy small{font-size:14px;line-height:1.5;margin-top:18px}
.studio-tags{margin-top:20px}.studio-tags span{font-size:14px;font-weight:600}
.studio-visual{min-height:430px}.studio-note{font-size:14px;margin:0 0 35px}
.ls-control{padding:40px 0 60px}.ls-control h2{margin-top:14px}.ls-control-steps{margin-top:32px}
.ls-control-steps h3{font-weight:800;font-size:28px}.ls-control-steps p{font-size:18px;line-height:1.5}
/* Pricing and the cost comparison are distinct readable compositions. */
.ls-pricing{padding:36px 0}.ls-section-top{margin-bottom:26px;align-items:center;gap:30px}
.ls-section-top p{font-size:19px;line-height:1.5}
.ls-plan{padding:clamp(24px,2.2vw,38px)}
.ls-plan h3{font-size:clamp(28px,2.4vw,40px);font-weight:800;margin:18px 0 12px;line-height:1.1}
.ls-plan p{font-size:17px;line-height:1.45}
.ls-price{margin:22px 0 16px}.ls-plan .pc-price-number{font-size:clamp(56px,5vw,78px)!important;font-weight:800!important;line-height:1}
.ls-price .pc-price-caption{font-size:14px;margin-top:10px}
.pc-plan-list{font-size:17px;margin-block:0 20px;line-height:1.5}.pc-plan-list li{margin-block:6px}
.pc-plan-legal{margin-top:14px}.pc-lifetime-note{font-size:13px;line-height:1.5}
.pc-cost{padding-top:38px;margin-top:42px}.pc-cost h3{font-size:clamp(36px,3.5vw,58px);font-weight:800;line-height:1.06}
.pc-cost-copy>p{font-size:18px;line-height:1.5}.pc-cost .pc-chart-note{font-size:13px}
.ls-faq{padding-block:55px}.ls-faq summary{font-size:19px;font-weight:700;padding-block:20px}.ls-faq details p{font-size:17px}
.ls-finale{padding-block:38px}.ls-final-link{font-size:clamp(54px,7vw,112px);font-weight:800;margin-block:30px;line-height:1.02}.ls-final-meta{font-size:13px}
@media(max-width:1000px){
 .ls-home{--frame-title:clamp(42px,5.6vw,60px)}
 .hero-frame h1{font-size:clamp(44px,5.7vw,62px)}
 .hero-frame .product-hero-copy>p{font-size:18px}
 .studio-copy h3{font-size:40px}.studio-copy{padding:28px}.studio-tags span{font-size:13px}
 .studio-intro{gap:24px}.fps-reason h3{font-size:24px}.fps-reason p{font-size:16px}
}
@media(max-width:760px){
 .ls-home{--frame-title:clamp(36px,8.8vw,52px)}
 .ls-home :is(#appearance,#features,#why-radiant,#pricing,#how-it-works,#faq,.studio-story){scroll-margin-top:100px}
 .hero-frame{padding-top:114px;padding-bottom:20px}.hero-frame .ls-intro{display:block;padding-bottom:22px}
 .hero-frame h1{font-size:clamp(43px,10vw,66px)}.hero-frame .hero-eyebrow{font-size:12px}
 .hero-frame .product-hero-copy{margin-top:20px}.hero-frame .product-hero-copy>p{font-size:18px}
 .hero-frame .ls-stage{height:60vw;min-height:235px}.hero-frame .ls-screen-wrap{width:90%}
 .ls-themes{margin-top:20px;padding-block:20px 30px}.ls-theme-heading{margin-bottom:20px}.ls-theme-options{margin-top:20px}
 .ls-theme-card{padding:22px}.ls-theme-copy h3{font-size:30px}.ls-theme-card p{font-size:16px}
 .ls-theme-screen{max-width:100%;margin-top:20px}.ls-theme-pair{gap:20px}
 .radiant-gallery{padding:25px 0 32px;--gallery-art-height:51vw}
 .gallery-heading{display:block;margin-bottom:22px}.gallery-heading h2{margin-top:10px}.gallery-heading p{font-size:17px;max-width:420px;margin-top:14px}
 .gallery-track{height:var(--gallery-art-height);min-height:165px}.gallery-slide{width:88%;max-width:none}
 .gallery-controls{position:relative;inset:auto;margin-top:18px;gap:14px;justify-content:center}.gallery-controls button{width:54px;height:54px}
 .gallery-caption{width:88%;padding-top:16px;gap:15px}.gallery-caption h3{font-size:20px}.gallery-caption>span{font-size:13px;white-space:nowrap}
 .gallery-stage::after{bottom:72px}
 .range-frame{padding-block:25px 32px}.studio-intro{display:block;padding-bottom:24px}
 .studio-intro .fps-reason{max-width:100%;margin-top:20px}.fps-reason h3{font-size:24px}.fps-reason p{font-size:17px}
 .fps-view{height:290px}.fps-card .fps-caption{min-height:72px;font-size:16px;padding:14px}
 .fps-demo-note p{font-size:13px}.fps-card header strong{font-size:14px}
 .studio-story{min-height:0;margin-bottom:24px;grid-template-columns:1fr}
 .studio-copy{grid-row:1;padding:28px 24px 10px}.studio-copy h3{font-size:clamp(34px,8.3vw,45px);margin-bottom:16px}
 .studio-kicker{font-size:12px;margin-bottom:18px}.studio-copy p{font-size:17px}.studio-copy small{font-size:13px}
 .studio-visual{grid-row:2;min-height:320px}.studio-plaque{bottom:22px}.studio-tags{margin-top:16px}
 .studio-note{font-size:13px;margin-bottom:20px}.ls-control{padding-block:25px 40px}
 .ls-control-steps{margin-top:25px}.ls-control-steps h3{font-size:25px}.ls-control-steps p{font-size:17px}
 .ls-pricing{padding-block:28px}.ls-section-top{margin-bottom:22px}.ls-section-top p{font-size:17px;margin-top:16px}
 .ls-plan{padding:25px}.ls-plan h3{font-size:30px}.pc-plan-list{font-size:16px}.ls-plan p{font-size:17px}
 .pc-cost{padding-top:28px;margin-top:28px}.pc-cost h3{font-size:36px}.pc-cost-copy>p{font-size:17px}
 .ls-faq{padding-block:40px}.ls-faq>h2{margin-bottom:24px}.ls-faq summary{font-size:17px}.ls-faq details p{font-size:16px}
 .ls-final-link{font-size:clamp(42px,10vw,66px)}.ls-final-meta{font-size:11px}
}

@media(min-width:761px){
 .ls-theme-copy>.ls-label,.ls-theme-foot{display:none}
 .ls-theme-copy h3{margin:0 0 10px}.ls-theme-bottom{padding:0;margin-top:16px}
 .ls-plan{padding:26px}.ls-plan h3{font-size:32px;min-height:0;margin:16px 0 10px}
 .ls-plan p{font-size:16px}.ls-plan .pc-price-number{font-size:64px!important}
 .ls-price{margin:18px 0 16px}.pc-plan-list{gap:7px;font-size:16px;margin-bottom:18px}.pc-plan-list li{margin:0}
 .ls-plan .ls-pill{min-height:48px}.ls-pricing{padding-block:28px}
 .pc-plan-legal{font-size:13px}.ls-section-top{margin-bottom:20px}
}

.fps-reason h3{min-height:1.15em}
@media(min-width:761px) and (max-height:850px){
 .ls-home{--frame-title:clamp(40px,3.5vw,56px)}
 .hero-frame{padding-top:120px}.hero-frame h1{font-size:56px}
 .hero-frame .ls-stage{height:clamp(220px,calc(100svh - 400px),440px)}
 .hero-frame .ls-screen-wrap{width:min(72%,calc(clamp(220px,100svh - 400px,440px)*1.55))}
 .range-frame{padding-block:20px 28px}.studio-intro{padding-bottom:20px}
 .studio-intro .fps-reason{flex-basis:43%}.fps-reason h3{font-size:24px}.fps-reason p{font-size:16px}
 .fps-view{height:220px}.fps-card header{min-height:46px;padding:8px 12px}
 .fps-card .fps-caption{min-height:56px;padding:10px 14px}.fps-demo-note{padding-top:10px}
 .ls-theme-card{padding:22px}.ls-theme-screen{max-width:min(100%,calc(210px*1.839))}
 .ls-theme-card h3{font-size:30px}.ls-theme-card p{font-size:16px}.ls-theme-heading{margin-bottom:18px}
 .studio-story{min-height:440px}.studio-visual{min-height:400px}.studio-copy h3{font-size:42px}
 .ls-plan{padding:22px}.ls-plan h3{font-size:28px}.ls-plan .pc-price-number{font-size:54px!important}
 .ls-price{margin-block:14px}.pc-plan-list{font-size:15px;gap:5px;margin-bottom:14px}
 .ls-plan p{font-size:15px}.ls-plan .ls-pill{min-height:44px;padding-block:12px;font-size:14px}
 .pc-plan-legal{margin-top:10px}.ls-pricing{padding-block:24px}.pc-lifetime-note{margin-top:16px}
}

/* LOG366: art takes more of the frame; real variable-font black weight. */
.ls-home{--ls-gutter:clamp(20px,3vw,76px);--frame-title:clamp(48px,3.9vw,78px)}
.ls-home .ls-wrap{max-width:2100px}
.ls-home :is(h1,h2,h3,.ls-final-link){font-weight:900}
.ls-home :is(.gallery-heading h2,.studio-intro h2,.ls-theme-heading h2,.ls-section-top h2,.ls-control h2,.ls-faq>h2){font-weight:900;letter-spacing:-.045em}
.hero-frame h1{font-size:clamp(54px,5.6vw,102px)}
.hero-frame .ls-stage{height:clamp(290px,calc(100svh - 400px),710px)}
.hero-frame .ls-screen-wrap{width:min(86%,calc(clamp(290px,100svh - 400px,710px)*1.76));max-width:1320px}
.gallery-heading{grid-template-columns:minmax(0,1fr) 340px;gap:10px 38px;margin-bottom:22px}
.gallery-heading h2{white-space:nowrap;font-size:clamp(44px,3.8vw,78px)}
.gallery-heading p{font-size:clamp(18px,1.2vw,22px)}
.radiant-gallery{--gallery-art-height:clamp(280px,calc(100svh - 365px),880px);padding-block:24px 30px}
.gallery-slide{width:min(84%,calc(var(--gallery-art-height)*1.839));max-width:1700px}
.gallery-caption{width:min(84%,calc(var(--gallery-art-height)*1.839));max-width:1700px}
.gallery-controls{inset:0 3%}
.ls-theme-heading{gap:20px;margin-bottom:18px}
.ls-theme-heading h2{font-size:clamp(44px,3.4vw,70px)}
.ls-theme-card{padding:24px}.ls-theme-screen{max-width:100%;margin-top:18px}
.ls-theme-copy h3{font-weight:900;font-size:clamp(30px,2.4vw,42px)}
.ls-themes{padding-bottom:24px}.ls-theme-bottom{margin-top:12px}
.studio-story{grid-template-columns:.85fr 1.15fr;min-height:clamp(520px,70svh,780px)}
.studio-copy{padding:clamp(26px,2.8vw,54px)}
.studio-copy h3{font-size:clamp(42px,3.8vw,72px);font-weight:900}
.studio-copy p{font-weight:550}.studio-visual{min-height:480px}
.fps-view{height:clamp(290px,42svh,540px)}
.fps-reason h3,.ls-plan h3,.pc-cost h3{font-weight:900}
/* Saturated blue movement remains inside the letters. */
.ro-flow-blue{color:#204bff;background-image:linear-gradient(105deg,#1948f2 0%,#0870d7 25%,#4331ee 48%,#1756eb 70%,#1948f2 100%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:radiant-blue-flow 4.8s ease-in-out infinite alternate;animation-play-state:paused}
.ro-flow-blue[data-type-visible=true]{animation-play-state:running}
@keyframes radiant-blue-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){html:not(.ls-motion-on) .ro-flow-blue{animation:none;background-position:35% 50%}}
@media(forced-colors:active){.ro-flow-blue{background:none;-webkit-text-fill-color:currentColor;color:LinkText}}
@media(min-width:761px) and (max-width:1450px){
 .gallery-heading{grid-template-columns:minmax(0,1fr) 285px;gap:10px 25px}
 .gallery-heading h2{font-size:clamp(40px,3.8vw,56px)}
 .ls-theme-heading h2{font-size:46px}.ls-theme-options button{padding-inline:16px}
 .studio-copy h3{font-size:46px}
}
@media(min-width:761px) and (max-height:850px){
 .ls-home{--frame-title:clamp(44px,3.6vw,60px)}
 .hero-frame h1{font-size:58px}.hero-frame .ls-stage{height:clamp(230px,calc(100svh - 390px),460px)}
 .hero-frame .ls-screen-wrap{width:min(82%,calc(clamp(230px,100svh - 390px,460px)*1.76))}
 .radiant-gallery{--gallery-art-height:clamp(260px,calc(100svh - 335px),520px)}
 .gallery-heading h2{font-size:48px}.gallery-heading p{font-size:17px}
 .ls-theme-screen{max-width:min(100%,calc(clamp(235px,100svh - 420px,345px)*1.839))}
 .ls-theme-card{padding:20px}.ls-theme-copy h3{font-size:30px}
 .studio-story{min-height:480px}.studio-visual{min-height:440px}.studio-copy h3{font-size:42px}
 .fps-view{height:clamp(245px,calc(100svh - 480px),370px)}
}
@media(max-width:760px){
 .ls-home{--ls-gutter:18px;--frame-title:clamp(40px,9.5vw,56px)}
 .hero-frame h1{font-size:clamp(46px,10.5vw,70px)}
 .hero-frame .ls-stage{height:69vw;min-height:250px}.hero-frame .ls-screen-wrap{width:96%}
 .gallery-heading{display:block}.gallery-heading h2{white-space:normal;font-size:clamp(40px,9.4vw,58px);max-width:600px}
 .gallery-heading p{font-size:18px}.radiant-gallery{--gallery-art-height:53vw;padding-block:24px 30px}
 .gallery-slide,.gallery-caption{width:94%;max-width:none}.gallery-controls{inset:auto;gap:16px}
 .ls-theme-heading h2{font-size:var(--frame-title)}.ls-theme-card{padding:18px}.ls-theme-screen{max-width:100%}
 .studio-story{grid-template-columns:1fr;min-height:0}.studio-copy{padding:28px 24px 10px}
 .studio-copy h3{font-size:clamp(38px,9vw,50px)}.studio-visual{min-height:370px}
 .fps-view{height:320px}.ls-plan h3{font-size:32px}
}

@media(min-width:761px){.range-frame{padding-bottom:24px}.ls-themes{padding-bottom:18px}}
