@font-face{
  font-family:Manrope;
  src:url('assets/fonts/Manrope-Regular.ttf') format('truetype');
  font-weight:400;
  font-display:swap
}
@font-face{
  font-family:Manrope;
  src:url('assets/fonts/Manrope-SemiBold.ttf') format('truetype');
  font-weight:600;
  font-display:swap
}
@font-face{
  font-family:Manrope;
  src:url('assets/fonts/Manrope-Bold.ttf') format('truetype');
  font-weight:700;
  font-display:swap
}
@font-face{
  font-family:Urbanist;
  src:url('assets/fonts/Urbanist-Bold.ttf') format('truetype');
  font-weight:700;
  font-display:swap
}
@font-face{
  font-family:Urbanist;
  src:url('assets/fonts/Urbanist-ExtraBold.ttf') format('truetype');
  font-weight:800;
  font-display:swap
}
:root{
  color-scheme:dark;
  --bg:#060808;
  --surface:#101313;
  --text:#f5f4ef;
  --muted:#a4a5a0;
  --lime:#c8ff00;
  --line:rgba(245,244,239,.14);
  --max:1240px;
  --ease:cubic-bezier(.22,1,.36,1)
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:400 16px/1.65 Manrope,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased
}
a{
  color:inherit;
  text-decoration:none
}
button,input,textarea{
  font:inherit
}
button,a,input,textarea,summary{
  -webkit-tap-highlight-color:transparent
}
button{
  color:inherit;
  cursor:pointer;
  border:0
}
button:disabled{
  cursor:not-allowed;
  opacity:.5
}
button,a,summary{
  touch-action:manipulation
}
:focus-visible{
  outline:2px solid var(--lime);
  outline-offset:5px
}
img{
  display:block;
  max-width:100%
}
h1,h2,h3,p,figure{
  margin:0
}
h1,h2,h3{
  font-family:Urbanist,Manrope,sans-serif;
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.035em;
  text-wrap:balance
}
h2{
  font-size:clamp(38px,4.6vw,60px)
}
h3{
  font-size:30px
}
p{
  color:var(--muted);
  text-wrap:pretty
}
::selection{
  background:var(--lime);
  color:var(--bg)
}
[hidden]{
  display:none!important
}
.container{
  width:min(var(--max),calc(100% - 80px));
  margin-inline:auto
}
.section-space{
  padding-block:108px
}
.skip-link{
  position:fixed;
  top:8px;
  left:12px;
  background:var(--lime);
  color:var(--bg);
  padding:12px 20px;
  z-index:50;
  transform:translateY(-180%)
}
.skip-link:focus{
  transform:none
}
.site-header{
  height:88px;
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(6,8,8,.94);
  backdrop-filter:blur(18px);
  border-bottom:1px solid transparent;
  transition:border-color .25s
}
.site-header.scrolled{
  border-color:var(--line)
}
.header-inner{
  height:100%;
  max-width:1440px;
  width:calc(100% - 80px);
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px
}
.brand{
  display:inline-flex;
  align-items:center;
  flex:none
}
.brand img{
  width:151px;
  height:40px;
  object-fit:contain
}
.nav-links{
  display:flex;
  gap:30px;
  align-items:center
}
.nav-links a,.sign-in-link{
  font-size:13px;
  color:#d4d6d1;
  transition:color .2s
}
.nav-links a:hover,.sign-in-link:hover{
  color:var(--lime)
}
.header-actions{
  display:flex;
  gap:26px;
  align-items:center
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  min-height:54px;
  padding:14px 28px;
  border:1px solid var(--lime);
  border-radius:8px;
  background:var(--lime);
  color:#0a1000;
  font-size:14px;
  font-weight:700;
  line-height:1.3;
  transition:background .2s,transform .2s,box-shadow .2s;
  white-space:nowrap
}
.button:hover{
  background:#d8ff4d;
  box-shadow:0 6px 24px #c8ff0014;
  transform:translateY(-2px)
}
.button:active{
  transform:translateY(0)
}
.button span{
  font-size:22px;
  font-weight:400
}
.button-small{
  min-height:42px;
  padding:10px 19px;
  gap:18px;
  font-size:12px
}
.button-small span{
  font-size:18px
}
.button-outline{
  background:transparent;
  color:var(--text);
  border-color:#727670
}
.button-outline:hover{
  background:#ffffff0a;
  box-shadow:none
}
.menu-toggle{
  display:none;
  background:transparent;
  padding:10px
}
.menu-toggle span{
  display:block;
  width:20px;
  height:1px;
  background:var(--text);
  margin:5px 0
}
.hero{
  padding-top:43px;
  overflow:hidden
}
.hero-copy{
  text-align:center
}
.hero h1{
  font-size:clamp(62px,7.4vw,108px);
  line-height:.98;
  letter-spacing:-.047em
}
.hero h1 span{
  color:var(--lime)
}
.hero-copy>p{
  font-size:16px;
  line-height:1.7;
  margin:24px auto 0;
  max-width:760px;
  color:#b7bbb5
}
.hero-copy strong{
  font-weight:400;
  color:#e5e7df
}
.hero-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  margin-top:24px
}
.text-action{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:13px;
  font-weight:600
}
.text-action:hover{
  color:var(--lime)
}
.play-icon{
  display:grid;
  place-items:center;
  border:1px solid #81877b;
  border-radius:50%;
  width:35px;
  height:35px;
  font-size:23px;
  line-height:1;
  padding-left:2px
}
.trial-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:var(--muted);
  font-size:11px;
  margin-top:16px
}
.trial-note i{
  font-style:normal;
  color:#5e6556
}
.clip-gallery{
  width:min(1340px,calc(100% - 48px));
  margin:42px auto 0;
  display:grid;
  grid-template-columns:.93fr 1.07fr 1.07fr .93fr;
  gap:18px;
  align-items:center;
  padding:12px 8px 16px
}
.clip-card{
  position:relative;
  isolation:isolate;
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:12px;
  border:1px solid #ffffff2c;
  transform:rotate(-3deg);
  transition:transform .5s var(--ease);
  background:#171b18
}
.clip-card:nth-child(2){
  transform:rotate(1.5deg)
}
.clip-card:nth-child(3){
  transform:rotate(-1.5deg)
}
.clip-card:nth-child(4){
  transform:rotate(3deg)
}
.clip-card:hover{
  transform:rotate(0) translateY(-8px)
}
.clip-art{
  position:absolute;
  inset:0;
  background:url('assets/creator-contact-sheet.png') no-repeat 0 34% / 400% auto;
  z-index:-2
}
.coffee .clip-art{
  background-position:33.3333% 37%
}
.travel .clip-art{
  background-position:66.6667% 28%
}
.creator .clip-art{
  background-position:100% 34%
}
.clip-card::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,#0000003d,transparent 30%,transparent 45%,#000000ab)
}
.clip-card figcaption{
  padding:20px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}
.clip-category{
  font-size:8px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#f2f4ebd6
}
.clip-card p{
  color:white;
  font-size:20px;
  line-height:1.25;
  font-weight:700;
  margin-top:auto;
  letter-spacing:-.045em;
  text-shadow:0 2px 12px #0006
}
.clip-card em{
  color:var(--lime);
  font-style:normal
}
.clip-format{
  align-self:flex-end;
  font-size:9px;
  color:#dedfd7;
  margin-top:12px
}
.sample-note{
  font-size:10px;
  text-align:center;
  color:#8d9388;
  margin-top:12px
}
.capability-strip{
  margin-top:34px;
  border-block:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:24px 0
}
.capability-strip span{
  text-align:center;
  font-size:12px;
  font-weight:600;
  border-right:1px solid var(--line)
}
.capability-strip span:last-child{
  border:0
}
.section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:38px
}
.section-heading>p{
  font-size:16px;
  line-height:1.7;
  flex:none;
  margin-bottom:5px
}
.eyebrow{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.19em;
  color:var(--muted);
  margin-bottom:20px;
  font-weight:600
}
.feature-tabs{
  display:flex;
  gap:28px;
  border-bottom:1px solid var(--line);
  margin-bottom:34px
}
.feature-tabs button{
  background:none;
  padding:14px 6px 16px;
  color:var(--muted);
  font-size:13px;
  border-bottom:2px solid transparent;
  white-space:nowrap;
  transition:color .2s,border-color .2s
}
.feature-tabs button:hover{
  color:var(--text)
}
.feature-tabs button[aria-selected=true]{
  color:var(--lime);
  border-color:var(--lime)
}
.feature-panel{
  display:grid;
  grid-template-columns:1fr 2.35fr;
  gap:45px;
  align-items:center;
  min-height:424px
}
.feature-number{
  font-size:9px;
  letter-spacing:.14em;
  color:var(--lime)
}
.feature-copy h3{
  font-size:31px;
  margin:16px 0
}
.feature-copy>p{
  font-size:13px;
  line-height:1.8
}
.feature-points{
  list-style:none;
  padding:0;
  margin:25px 0 26px;
  font-size:12px
}
.feature-points li{
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.feature-points li::before{
  content:'↗';
  margin-right:14px;
  color:var(--lime)
}
.underlined-link{
  display:inline-flex;
  align-items:center;
  gap:20px;
  border-bottom:1px solid var(--lime);
  padding-bottom:5px;
  font-size:12px;
  font-weight:600;
  transition:color .2s
}
.underlined-link:hover{
  color:var(--lime)
}
.underlined-link span{
  font-size:19px;
  line-height:1
}
.screenshot-button{
  width:100%;
  display:block;
  position:relative;
  background:#0a0e0d;
  border-radius:10px;
  border:1px solid var(--line);
  padding:0;
  overflow:hidden
}
.screenshot-button img{
  width:100%;
  aspect-ratio:1.864;
  object-fit:contain
}
.expand-label{
  position:absolute;
  right:14px;
  bottom:14px;
  font-size:10px;
  padding:6px 12px;
  background:#060808e8;
  border:1px solid #ffffff30;
  border-radius:5px;
  opacity:0;
  transition:opacity .2s
}
.screenshot-button:hover .expand-label,.screenshot-button:focus-visible .expand-label{
  opacity:1
}
.product-figure figcaption{
  text-align:right;
  font-size:10px;
  color:var(--muted);
  margin-top:13px
}
.workflow-rail{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  border-top:1px solid var(--line);
  margin-top:55px;
  padding-top:30px
}
.workflow-rail>div{
  position:relative;
  padding-left:33px
}
.workflow-rail span{
  position:absolute;
  left:0;
  top:2px;
  color:var(--lime);
  font-size:10px
}
.workflow-rail strong{
  font-size:12px;
  font-weight:600
}
.workflow-rail p{
  font-size:11px;
  margin-top:6px
}
.tools-section{
  padding-bottom:50px
}
.compact h2{
  font-size:42px
}
.tool-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:55px
}
.tool-list details{
  border-top:1px solid var(--line);
  padding:22px 0;
  align-self:start
}
.tool-list summary{
  display:flex;
  align-items:center;
  gap:20px;
  cursor:pointer;
  list-style:none
}
.tool-index{
  color:var(--muted);
  font-size:10px
}
.tool-list summary>span:nth-child(2){
  flex:1
}
.tool-list strong{
  display:block;
  font-size:16px;
  font-weight:600
}
.tool-list small{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:4px
}
.plus{
  font-size:24px;
  font-weight:400;
  line-height:1;
  color:var(--muted);
  transition:transform .2s
}
.tool-list details>p{
  font-size:13px;
  padding:18px 30px 3px 34px
}
.tool-list details>img{
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:8px
}
.tool-list details[open] .plus,.faq-list details[open] .plus{
  transform:rotate(45deg);
  color:var(--lime)
}
summary::-webkit-details-marker{
  display:none
}
.fine-print{
  font-size:11px!important;
  line-height:1.7!important;
  color:var(--muted);
  max-width:750px
}
.tools-section>.fine-print{
  margin-top:22px
}
.local-section{
  padding-bottom:0
}
.local-cinema{
  position:relative;
  min-height:620px;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#060808
}
.local-poster,.local-film{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  z-index:-3
}
.local-film{
  z-index:-2;
  opacity:0;
  transition:opacity .6s
}
.local-film.playing{
  opacity:1
}
.cinema-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,#060808 0%,#060808d9 25%,#06080842 60%,transparent),linear-gradient(0deg,#060808 0%,transparent 20%,transparent 85%,#060808)
}
.local-copy{
  padding-block:70px 95px
}
.local-copy h2{
  font-size:clamp(45px,4.8vw,68px);
  max-width:680px
}
.local-copy h2 span{
  color:var(--lime);
  display:inline-block;
  margin-top:8px
}
.local-copy>p{
  max-width:455px;
  margin:24px 0 26px;
  color:#c2c4be;
  font-size:15px
}
.film-toggle{
  position:absolute;
  bottom:30px;
  right:40px;
  display:flex;
  gap:12px;
  align-items:center;
  border:1px solid #ffffff40;
  border-radius:6px;
  background:#060808a6;
  padding:10px 15px;
  font-size:10px
}
.film-toggle:hover{
  border-color:var(--lime)
}
.film-credit{
  position:absolute;
  bottom:38px;
  left:40px;
  font-size:9px;
  color:#a5a99e
}
.privacy-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  padding-top:50px;
  padding-bottom:48px
}
.privacy-columns article+article{
  border-left:1px solid var(--line);
  padding-left:56px
}
.privacy-columns h3{
  font-size:33px;
  margin-bottom:18px
}
.privacy-columns p:not(.eyebrow){
  font-size:13px
}
.privacy-columns .underlined-link{
  margin-top:24px
}
.privacy-columns .fine-print{
  margin-top:18px
}
.privacy-columns .eyebrow{
  margin-bottom:12px;
  color:var(--lime)
}
.local-proof{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-block:1px solid var(--line);
  padding-block:25px
}
.local-proof span{
  font-size:12px;
  padding-left:32px;
  border-right:1px solid var(--line)
}
.local-proof span:first-child{
  padding-left:0
}
.local-proof span:last-child{
  border:0
}
.local-proof i{
  font-style:normal;
  font-size:10px;
  color:var(--muted);
  margin-right:28px
}
.pricing-section{
  display:grid;
  grid-template-columns:1.12fr 1fr;
  gap:100px;
  align-items:center;
  padding-block:132px
}
.pricing-copy h2{
  font-size:clamp(46px,4.8vw,65px)
}
.pricing-copy h2 span{
  color:var(--lime)
}
.pricing-copy>p:not(.eyebrow):not(.fine-print){
  font-size:17px;
  margin-top:25px
}
.price-trial{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:42px
}
.price-trial strong{
  font-family:Urbanist;
  font-size:25px;
  font-weight:700
}
.price-trial span{
  color:var(--muted);
  font-size:13px
}
.pricing-copy>.fine-print{
  margin-top:27px
}
.price-panel{
  border:1px solid #c8ff008c;
  border-radius:14px;
  padding:34px 36px;
  background:linear-gradient(140deg,#c8ff0006,transparent 45%)
}
.plan-heading{
  display:flex;
  justify-content:space-between;
  align-items:center
}
.plan-heading h3{
  font-size:23px
}
.plan-heading>span{
  font-size:11px;
  color:var(--muted)
}
.price{
  display:flex;
  gap:15px;
  align-items:baseline;
  margin:20px 0 2px;
  color:var(--text)
}
.price strong{
  font-family:Urbanist;
  font-size:114px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.06em;
  color:var(--lime)
}
.price>span{
  font-size:22px
}
.price-subtitle{
  font-size:11px
}
.check-list{
  list-style:none;
  padding:24px 0 0;
  margin:26px 0;
  border-top:1px solid var(--line)
}
.check-list li{
  display:flex;
  gap:14px;
  font-size:12px;
  align-items:flex-start;
  margin:14px 0
}
.check-list li::before{
  content:'✓';
  font-size:15px;
  color:var(--lime);
  line-height:1.35
}
.full-width{
  width:100%;
  justify-content:space-between
}
.price-footnote{
  text-align:center;
  font-size:10px;
  margin-top:17px;
  line-height:1.8
}
.affiliate-band{
  display:grid;
  grid-template-columns:1.4fr .55fr 1fr;
  gap:38px;
  border-block:1px solid var(--line);
  padding-block:44px;
  align-items:center
}
.affiliate-band h2{
  font-size:35px
}
.affiliate-band .eyebrow{
  font-size:8px;
  margin-bottom:14px
}
.affiliate-rate{
  font-family:Urbanist;
  font-size:86px;
  line-height:1;
  letter-spacing:-.06em;
  color:var(--lime);
  text-align:center;
  border-left:1px solid var(--line)
}
.affiliate-rate span{
  font-size:60px
}
.affiliate-copy p{
  font-size:12px;
  margin-bottom:14px
}
.affiliate-copy small{
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:13px
}
.faq-section{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px
}
.faq-section h2{
  font-size:45px
}
.faq-section .underlined-link{
  margin-top:28px
}
.faq-list details{
  border-top:1px solid var(--line);
  padding:21px 0
}
.faq-list details:last-child{
  border-bottom:1px solid var(--line)
}
.faq-list summary{
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:26px;
  align-items:center;
  cursor:pointer;
  font-size:13px;
  font-weight:600
}
.faq-list details>p{
  font-size:12px;
  padding-top:17px;
  padding-right:35px
}
.closing{
  position:relative;
  text-align:center;
  padding:65px 0 100px;
  border-top:1px solid var(--line);
  overflow:hidden
}
.closing h2{
  font-size:clamp(55px,6.4vw,89px)
}
.closing h2 span{
  color:var(--lime)
}
.closing>p:not(.trial-note){
  font-size:15px;
  margin-top:22px
}
.closing .trial-note{
  display:block;
  font-size:11px
}
.closing-mark{
  position:absolute;
  right:-10px;
  top:35px;
  color:#c8ff0010;
  font-size:260px;
  line-height:1;
  z-index:-1
}
.site-footer{
  border-top:1px solid var(--line);
  padding:34px 0 24px
}
.footer-top{
  display:flex;
  align-items:center;
  gap:35px
}
.footer-top .brand img{
  width:128px;
  height:34px
}
.footer-top>p{
  font-size:11px
}
.footer-top nav{
  display:flex;
  gap:25px;
  margin-left:auto;
  font-size:11px;
  color:var(--muted)
}
.footer-top a:hover{
  color:var(--lime)
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:28px;
  color:#848b80;
  font-size:9px
}
.image-dialog{
  border:1px solid var(--line);
  background:var(--bg);
  color:var(--text);
  padding:48px 12px 12px;
  border-radius:12px;
  width:min(1600px,96vw);
  max-height:94vh
}
.image-dialog::backdrop{
  background:#000d;
  backdrop-filter:blur(8px)
}
.image-dialog img{
  width:100%;
  max-height:82vh;
  object-fit:contain
}
.dialog-close{
  position:absolute;
  right:15px;
  top:8px;
  padding:6px 10px;
  background:transparent;
  font-size:12px
}
.dialog-close span{
  font-size:20px;
  margin-left:12px
}
.notice{
  border:1px solid var(--line);
  padding:14px 18px;
  border-radius:7px;
  font-size:12px;
  line-height:1.6;
  color:#c2c7bb
}
.notice strong{
  color:var(--text)
}
.subpage-main{
  padding-block:70px 100px;
  min-height:calc(100svh - 200px)
}
.account-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center;
  max-width:1110px
}
.account-story{
  align-self:stretch;
  padding:30px 0;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.account-story h1{
  font-size:65px
}
.account-story h1 span{
  color:var(--lime)
}
.account-story>p{
  font-size:15px;
  max-width:370px;
  margin-top:22px
}
.account-art{
  height:235px;
  position:relative;
  overflow:hidden;
  margin-top:30px;
  border-radius:10px
}
.account-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%
}
.account-story .trial-note{
  justify-content:flex-start;
  font-size:11px
}
.form-shell{
  border-left:1px solid var(--line);
  padding:24px 0 24px 65px
}
.form-shell h2{
  font-size:33px;
  line-height:1.12
}
.form-intro{
  font-size:13px;
  margin:15px 0 28px
}
.field{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:19px
}
.field label{
  font-size:12px;
  font-weight:600;
  color:var(--text)
}
.field input,.field textarea{
  background:#111514;
  border:1px solid #464c43;
  border-radius:6px;
  color:var(--text);
  width:100%;
  min-height:49px;
  padding:12px 14px;
  font-size:13px;
  outline-offset:3px;
  transition:border-color .2s
}
.field input:hover,.field textarea:hover{
  border-color:#70796a
}
.field textarea{
  min-height:130px;
  resize:vertical
}
.field input::placeholder,.field textarea::placeholder{
  color:#8e9688
}
.password-wrap{
  position:relative
}
.password-wrap input{
  padding-right:67px
}
.password-toggle{
  position:absolute;
  right:5px;
  top:5px;
  bottom:5px;
  padding:0 10px;
  background:transparent;
  color:var(--muted);
  font-size:10px
}
.form-helper-row{
  text-align:right;
  margin:-8px 0 25px
}
.form-helper-row a,.form-switch a,.inline-link{
  font-size:11px;
  text-decoration:underline;
  text-underline-offset:4px
}
.form-switch{
  text-align:center;
  font-size:12px;
  margin:22px 0
}
.form-switch a{
  color:var(--text);
  font-weight:600
}
.form-shell .notice{
  margin-top:25px;
  font-size:10px
}
.form-error{
  font-size:12px;
  color:#ffd38d;
  margin:15px 0;
  padding:13px 15px;
  background:#ffd38d09;
  border-left:2px solid #ffd38d
}
.form-success{
  color:var(--lime)
}
.form-status:empty{
  display:none
}
.form-disclosure{
  font-size:10px;
  margin:18px 0
}
.checkbox-field{
  display:flex;
  gap:10px;
  font-size:11px;
  line-height:1.6;
  margin:22px 0;
  align-items:flex-start;
  color:var(--muted)
}
.checkbox-field input{
  margin-top:4px;
  accent-color:var(--lime);
  width:16px;
  height:16px;
  flex:none
}
.affiliate-hero{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:100px;
  align-items:center
}
.affiliate-hero h1{
  font-size:clamp(50px,5.6vw,78px)
}
.affiliate-hero h1 span{
  color:var(--lime)
}
.affiliate-hero>div>p:not(.eyebrow){
  margin:24px 0;
  font-size:16px;
  max-width:560px
}
.affiliate-hero .affiliate-rate{
  font-size:180px;
  border:0
}
.affiliate-hero .affiliate-rate span{
  font-size:100px
}
.rate-description{
  text-align:center!important;
  font-size:14px!important;
  margin-top:10px!important
}
.affiliate-program{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  padding-top:90px;
  margin-top:70px;
  border-top:1px solid var(--line)
}
.affiliate-program h2{
  font-size:38px;
  margin-bottom:25px
}
.program-steps{
  padding:0;
  list-style:none;
  counter-reset:steps
}
.program-steps li{
  counter-increment:steps;
  border-top:1px solid var(--line);
  padding:20px 0 20px 42px;
  position:relative
}
.program-steps li:before{
  content:'0' counter(steps);
  position:absolute;
  left:0;
  top:25px;
  font-size:10px;
  color:var(--lime)
}
.program-steps h3{
  font-size:22px
}
.program-steps p{
  font-size:12px;
  margin-top:9px
}
.affiliate-program .form-shell{
  padding-left:45px
}
.profile-links{
  display:flex;
  flex-direction:column;
  gap:10px
}
.add-link{
  padding:8px 0;
  background:none;
  color:var(--lime);
  font-size:11px;
  align-self:flex-start
}
.prose{
  max-width:830px
}
.prose h1{
  font-size:65px;
  margin-bottom:25px
}
.prose>.lead{
  font-size:21px
}
.prose h2{
  font-size:31px;
  margin:40px 0 15px
}
.prose p,.prose li{
  font-size:14px;
  line-height:1.9
}
.prose ul{
  padding-left:22px;
  color:var(--muted)
}
.prose .notice{
  margin:24px 0
}
.download-panel{
  max-width:650px;
  margin:35px auto;
  text-align:center
}
.download-panel h1{
  font-size:58px;
  margin-bottom:20px
}
.download-panel>p{
  font-size:15px
}
.download-panel .notice{
  margin:30px 0
}
.download-panel .button{
  margin:10px
}
.download-steps{
  text-align:left;
  margin:35px 0
}
.download-steps li{
  padding:8px;
  color:var(--muted);
  font-size:13px
}
.reveal{
  animation:appear .5s var(--ease)
}
@keyframes appear{
  from{
    opacity:.4;
    transform:translateY(8px)
  }
  to{
    opacity:1;
    transform:none
  }
}
@media(min-width:1600px){
  .hero{
    padding-top:65px
  }
  .clip-gallery{
    margin-top:48px;
    max-width:1440px
  }
  .clip-card{
    aspect-ratio:3/3.7
  }
}
@media(max-width:1100px){
  .container{
    width:calc(100% - 56px)
  }
  .header-inner{
    width:calc(100% - 48px);
    gap:20px
  }
  .nav-links{
    gap:22px
  }
  .header-actions{
    gap:18px
  }
  .hero h1{
    font-size:84px
  }
  .clip-gallery{
    gap:12px
  }
  .clip-card p{
    font-size:17px
  }
  .clip-card figcaption{
    padding:16px
  }
  .section-heading>p{
    font-size:13px
  }
  .feature-panel{
    gap:25px;
    grid-template-columns:1fr 2fr
  }
  .feature-copy h3{
    font-size:27px
  }
  .feature-copy>p{
    font-size:12px
  }
  .feature-points{
    margin:16px 0
  }
  .feature-points li{
    font-size:11px;
    padding:9px 0
  }
  .pricing-section{
    gap:55px
  }
  .affiliate-band{
    gap:22px
  }
  .affiliate-band h2{
    font-size:30px
  }
  .affiliate-rate{
    font-size:70px
  }
  .affiliate-rate span{
    font-size:45px
  }
  .account-layout{
    gap:40px
  }
  .form-shell{
    padding-left:40px
  }
  .account-story h1{
    font-size:57px
  }
  .affiliate-hero{
    gap:50px
  }
  .affiliate-program{
    gap:45px
  }
  .faq-section{
    gap:45px
  }
  .tool-list{
    column-gap:35px
  }
}
@media(max-width:800px){
  .site-header{
    height:74px
  }
  .header-inner{
    width:calc(100% - 36px)
  }
  .brand img{
    width:126px;
    height:34px
  }
  .nav-links{
    gap:18px
  }
  .nav-links a{
    font-size:11px
  }
  .sign-in-link{
    display:none
  }
  .button-small{
    font-size:11px;
    padding:10px 14px;
    gap:12px
  }
  .hero{
    padding-top:40px
  }
  .hero h1{
    font-size:70px
  }
  .hero-copy>p{
    font-size:14px
  }
  .section-space{
    padding-block:76px
  }
  .clip-gallery{
    width:calc(100% - 24px);
    gap:10px;
    margin-top:35px
  }
  .clip-card figcaption{
    padding:12px
  }
  .clip-card p{
    font-size:14px
  }
  .clip-category{
    font-size:6px
  }
  .clip-format{
    font-size:8px
  }
  .section-heading{
    align-items:flex-start;
    gap:25px
  }
  .section-heading h2{
    font-size:43px
  }
  .section-heading>p{
    font-size:12px;
    max-width:220px
  }
  .feature-panel{
    grid-template-columns:1fr;
    gap:25px;
    min-height:0
  }
  .feature-copy{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 35px
  }
  .feature-number{
    grid-column:1/-1
  }
  .feature-copy h3{
    grid-row:2/4;
    margin:0
  }
  .feature-copy>p{
    grid-column:2
  }
  .feature-points{
    grid-column:2;
    margin:0
  }
  .feature-copy .underlined-link{
    grid-column:1;
    width:fit-content
  }
  .workflow-rail{
    gap:20px;
    margin-top:35px;
    grid-template-columns:1fr 1fr
  }
  .tool-list{
    column-gap:30px
  }
  .tool-list small{
    font-size:11px
  }
  .compact h2{
    font-size:36px
  }
  .local-section{
    padding-bottom:0
  }
  .local-cinema{
    min-height:560px
  }
  .local-copy h2{
    font-size:49px
  }
  .local-copy>p{
    max-width:390px;
    font-size:13px
  }
  .privacy-columns{
    gap:30px;
    padding-block:36px
  }
  .privacy-columns article+article{
    padding-left:30px
  }
  .privacy-columns h3{
    font-size:28px
  }
  .local-proof span{
    padding-left:16px;
    font-size:10px
  }
  .local-proof i{
    margin-right:12px
  }
  .pricing-section{
    gap:36px
  }
  .pricing-copy h2{
    font-size:43px
  }
  .pricing-copy>p:not(.eyebrow):not(.fine-print){
    font-size:14px
  }
  .price-panel{
    padding:26px 25px
  }
  .check-list li{
    font-size:11px
  }
  .price strong{
    font-size:95px
  }
  .price>span{
    font-size:17px
  }
  .affiliate-band{
    grid-template-columns:1.2fr .6fr;
    gap:25px
  }
  .affiliate-copy{
    grid-column:1/-1;
    display:flex;
    gap:25px;
    align-items:center
  }
  .affiliate-copy p{
    max-width:320px;
    margin:0
  }
  .affiliate-copy small{
    display:none
  }
  .affiliate-rate{
    font-size:85px
  }
  .faq-section{
    grid-template-columns:1fr;
    gap:40px
  }
  .faq-section h2{
    font-size:43px
  }
  .footer-top{
    gap:20px
  }
  .footer-top>p{
    display:none
  }
  .footer-top nav{
    gap:20px
  }
  .account-layout{
    grid-template-columns:1fr;
    max-width:530px
  }
  .account-story{
    padding:0
  }
  .account-story h1{
    font-size:51px
  }
  .account-art{
    display:none
  }
  .account-story>.trial-note{
    margin-top:15px
  }
  .form-shell{
    padding:30px 0 0;
    border-left:0;
    border-top:1px solid var(--line)
  }
  .affiliate-hero{
    gap:30px
  }
  .affiliate-hero h1{
    font-size:52px
  }
  .affiliate-hero .affiliate-rate{
    font-size:130px
  }
  .affiliate-hero .affiliate-rate span{
    font-size:70px
  }
  .affiliate-program{
    gap:40px
  }
  .affiliate-program .form-shell{
    padding-left:0;
    border:0;
    padding-top:0
  }
  .affiliate-program h2{
    font-size:32px
  }
}
@media(max-width:600px){
  html{
    scroll-padding-top:85px
  }
  .container{
    width:calc(100% - 40px)
  }
  .header-inner{
    width:calc(100% - 32px)
  }
  .site-header{
    height:70px
  }
  .brand img{
    width:117px;
    height:32px
  }
  .header-actions{
    gap:10px
  }
  .header-actions .button-small{
    font-size:10px;
    min-height:37px;
    gap:9px;
    padding:8px 11px
  }
  .menu-toggle{
    display:block
  }
  .nav-links{
    display:none;
    position:absolute;
    top:69px;
    left:0;
    right:0;
    padding:22px 24px;
    background:#0c100e;
    border-bottom:1px solid var(--line);
    flex-wrap:wrap;
    gap:22px
  }
  .nav-links.open{
    display:flex
  }
  .nav-links a{
    font-size:13px
  }
  .hero{
    padding-top:41px
  }
  .hero h1{
    font-size:clamp(43px,11.4vw,66px);
    line-height:1.03;
    letter-spacing:-.045em
  }
  .hero-copy>p{
    font-size:12px;
    line-height:1.8;
    margin-top:20px;
    max-width:365px
  }
  .desktop-break{
    display:none
  }
  .hero-actions{
    gap:20px;
    margin-top:23px
  }
  .button{
    min-height:49px;
    padding:12px 21px;
    gap:19px;
    font-size:12px
  }
  .text-action{
    gap:9px;
    font-size:11px
  }
  .play-icon{
    width:29px;
    height:29px;
    font-size:19px
  }
  .trial-note{
    font-size:9px;
    gap:8px;
    margin-top:16px
  }
  .clip-gallery{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    gap:13px;
    width:100%;
    padding:12px 25px 16px;
    margin-top:28px
  }
  .clip-gallery::-webkit-scrollbar{
    display:none
  }
  .clip-card{
    min-width:200px;
    flex:0 0 55vw;
    max-width:285px;
    aspect-ratio:3/4;
    scroll-snap-align:center;
    transform:rotate(-2deg)
  }
  .clip-card p{
    font-size:18px
  }
  .clip-card figcaption{
    padding:16px
  }
  .clip-category{
    font-size:7px
  }
  .sample-note{
    font-size:8px;
    margin:6px 20px 0
  }
  .capability-strip{
    margin-top:23px;
    grid-template-columns:1fr 1fr;
    padding:0
  }
  .capability-strip span{
    font-size:10px;
    padding:15px 8px;
    border-bottom:1px solid var(--line)
  }
  .capability-strip span:nth-child(2){
    border-right:0
  }
  .capability-strip span:nth-child(3),.capability-strip span:nth-child(4){
    border-bottom:0
  }
  .section-space{
    padding-block:67px
  }
  .section-heading{
    display:block;
    margin-bottom:24px
  }
  .section-heading h2{
    font-size:37px
  }
  .section-heading>p{
    font-size:12px;
    max-width:none;
    margin-top:20px
  }
  .section-heading>p br{
    display:none
  }
  .eyebrow{
    font-size:8px;
    margin-bottom:15px
  }
  .feature-tabs{
    gap:18px;
    overflow-x:auto;
    scrollbar-width:none;
    margin-bottom:25px
  }
  .feature-tabs button{
    font-size:11px;
    padding:12px 1px
  }
  .feature-copy{
    display:block
  }
  .feature-copy h3{
    font-size:31px;
    margin:12px 0 15px
  }
  .feature-copy>p{
    font-size:12px;
    max-width:350px
  }
  .feature-points{
    margin:14px 0 20px
  }
  .feature-points li{
    padding:9px 0;
    font-size:11px
  }
  .feature-number{
    font-size:8px
  }
  .product-figure figcaption{
    font-size:8px;
    text-align:left
  }
  .screenshot-button{
    border-radius:7px
  }
  .expand-label{
    opacity:1;
    font-size:8px;
    bottom:8px;
    right:8px;
    padding:5px 8px
  }
  .workflow-rail{
    gap:25px 15px;
    padding-top:25px
  }
  .workflow-rail>div{
    padding-left:25px
  }
  .workflow-rail strong{
    font-size:11px
  }
  .workflow-rail p{
    font-size:10px
  }
  .tool-list{
    grid-template-columns:1fr
  }
  .tool-list details{
    padding:20px 0
  }
  .tool-list strong{
    font-size:16px
  }
  .tool-list summary{
    gap:17px
  }
  .tool-list details>p{
    padding-left:29px
  }
  .tools-section{
    padding-bottom:0
  }
  .tools-section>.fine-print{
    font-size:9px!important
  }
  .local-section{
    padding-bottom:0
  }
  .local-cinema{
    min-height:600px;
    align-items:flex-start
  }
  .local-poster,.local-film{
    object-position:67% center;
    opacity:.55
  }
  .local-film.playing{
    opacity:.8
  }
  .cinema-shade{
    background:linear-gradient(180deg,#060808 0%,#060808a3 42%,#0608082e 66%,#060808),linear-gradient(90deg,#06080880,transparent)
  }
  .local-copy{
    padding-top:45px;
    padding-bottom:0
  }
  .local-copy h2{
    font-size:40px;
    max-width:365px
  }
  .local-copy h2 span{
    margin-top:4px
  }
  .local-copy>p{
    font-size:12px;
    max-width:295px;
    margin:23px 0
  }
  .film-credit{
    left:20px;
    bottom:24px;
    font-size:7px;
    max-width:135px
  }
  .film-toggle{
    right:20px;
    bottom:18px;
    padding:9px 12px;
    font-size:9px
  }
  .privacy-columns{
    grid-template-columns:1fr;
    gap:30px;
    padding-top:20px;
    padding-bottom:30px
  }
  .privacy-columns article+article{
    border-left:0;
    border-top:1px solid var(--line);
    padding-left:0;
    padding-top:28px
  }
  .privacy-columns h3{
    font-size:30px
  }
  .privacy-columns p:not(.eyebrow){
    font-size:12px
  }
  .privacy-columns .fine-print{
    font-size:10px!important
  }
  .local-proof{
    grid-template-columns:1fr;
    padding:0
  }
  .local-proof span{
    border:0;
    border-bottom:1px solid var(--line);
    padding:14px 0;
    font-size:11px
  }
  .local-proof span:last-child{
    border-bottom:0
  }
  .local-proof i{
    margin-right:22px
  }
  .pricing-section{
    grid-template-columns:1fr;
    gap:30px
  }
  .pricing-copy h2{
    font-size:46px
  }
  .pricing-copy h2 br:nth-child(2){
    display:none
  }
  .pricing-copy>p:not(.eyebrow):not(.fine-print){
    font-size:13px;
    margin-top:20px
  }
  .price-trial{
    margin-top:25px;
    flex-direction:row;
    align-items:baseline;
    gap:12px
  }
  .price-trial strong{
    font-size:23px
  }
  .price-trial span{
    font-size:11px
  }
  .pricing-copy>.fine-print{
    margin-top:13px;
    font-size:10px!important
  }
  .price-panel{
    padding:28px
  }
  .price strong{
    font-size:110px
  }
  .check-list li{
    font-size:12px
  }
  .affiliate-band{
    grid-template-columns:1fr .5fr;
    gap:26px 15px;
    padding-block:32px
  }
  .affiliate-band h2{
    font-size:29px
  }
  .affiliate-band .eyebrow{
    font-size:7px;
    max-width:165px;
    line-height:1.8
  }
  .affiliate-rate{
    font-size:65px
  }
  .affiliate-rate span{
    font-size:40px
  }
  .affiliate-copy{
    display:block
  }
  .affiliate-copy p{
    font-size:12px;
    margin-bottom:18px
  }
  .affiliate-copy small{
    display:block
  }
  .faq-section{
    gap:29px
  }
  .faq-section h2{
    font-size:36px
  }
  .faq-list summary{
    font-size:12px;
    gap:18px
  }
  .faq-list details>p{
    font-size:12px;
    padding-right:15px
  }
  .faq-section .underlined-link{
    margin-top:20px
  }
  .closing{
    padding:58px 0 65px
  }
  .closing h2{
    font-size:47px
  }
  .closing>p:not(.trial-note){
    font-size:12px
  }
  .closing .hero-actions{
    gap:12px
  }
  .closing .button{
    padding:12px 17px;
    gap:12px
  }
  .closing-mark{
    right:-5px;
    top:60px;
    font-size:170px
  }
  .footer-top{
    flex-wrap:wrap;
    gap:22px
  }
  .footer-top .brand img{
    width:116px;
    height:31px
  }
  .footer-top nav{
    width:100%;
    margin:0;
    justify-content:space-between;
    font-size:10px
  }
  .footer-bottom{
    font-size:8px;
    display:block;
    margin-top:22px
  }
  .footer-bottom span{
    display:block;
    margin-top:6px
  }
  .site-footer{
    padding-top:27px
  }
  .subpage-main{
    padding-block:40px 60px
  }
  .account-layout{
    gap:32px
  }
  .account-story h1{
    font-size:46px
  }
  .account-story>p{
    font-size:13px;
    margin-top:18px
  }
  .form-shell{
    padding-top:27px
  }
  .form-shell h2{
    font-size:29px
  }
  .account-story>.trial-note{
    font-size:10px
  }
  .affiliate-hero{
    grid-template-columns:1fr;
    gap:27px
  }
  .affiliate-hero h1{
    font-size:49px
  }
  .affiliate-hero>div>p:not(.eyebrow){
    font-size:14px
  }
  .affiliate-hero .affiliate-rate{
    font-size:110px;
    text-align:left
  }
  .affiliate-hero .affiliate-rate span{
    font-size:65px
  }
  .rate-description{
    text-align:left!important;
    font-size:12px!important
  }
  .affiliate-program{
    grid-template-columns:1fr;
    gap:40px;
    padding-top:40px;
    margin-top:40px
  }
  .affiliate-program .form-shell{
    padding-top:30px;
    border-top:1px solid var(--line)
  }
  .prose h1{
    font-size:47px
  }
  .prose>.lead{
    font-size:17px
  }
  .prose h2{
    font-size:27px
  }
  .prose p,.prose li{
    font-size:13px
  }
  .download-panel{
    margin:10px auto
  }
  .download-panel h1{
    font-size:44px
  }
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *,*::before,*::after{
    animation:none!important;
    transition:none!important
  }
  .clip-card:hover{
    transform:none
  }
}
/* Preserve screenshot proportions instead of the source image's height attribute. */
.screenshot-button img,.tool-list details>img{
  height:auto
}
@media(min-width:801px){
  .hero{
    padding-top:24px
  }
  .hero h1{
    font-size:clamp(62px,7.4vw,100px)
  }
  .hero-copy>p{
    font-size:18px;
    max-width:1000px;
    line-height:1.55;
    margin-top:20px
  }
  .hero .clip-gallery{
    margin-top:22px
  }
  .hero .trial-note{
    margin-top:13px
  }
  .hero .capability-strip{
    margin-top:24px
  }
}
@media(max-width:600px){
  .pricing-section{
    grid-template-columns:minmax(0,1fr)
  }
  .pricing-copy,.price-panel{
    min-width:0
  }
  .pricing-copy h2{
    font-size:clamp(36px,10.7vw,46px)
  }
  .hero h1{
    font-size:clamp(34px,11.4vw,66px)
  }
  .closing .hero-actions{
    flex-wrap:wrap
  }
}
@media(max-width:360px){
  .header-inner{
    gap:10px
  }
  .brand img{
    width:100px
  }
  .header-actions{
    gap:5px
  }
  .hero-actions{
    gap:13px
  }
  .text-action{
    white-space:nowrap;
    gap:6px;
    font-size:10px
  }
  .hero-actions .button{
    padding-inline:17px;
    gap:12px
  }
  .price-panel{
    padding:23px
  }
  .account-story h1,.affiliate-hero h1{
    font-size:39px
  }
}
/* Account handoff controls share the existing site's typography and spacing. */
button.underlined-link { display: inline-block; padding: 10px 0; margin: 6px 0 12px; background: none; color: inherit; border: 0; border-bottom: 1px solid currentColor; font: inherit; cursor: pointer; }
#signed-in-email { overflow-wrap: anywhere; margin: 12px 0; }
#desktop-status { margin: 14px 0 20px; }
#local-mailbox { margin-top: 28px; padding-top: 24px; border-top: 1px solid #30352d; }
#local-mailbox h3 { font-size: 18px; margin-bottom: 12px; }
#local-mailbox p { font-size: 13px; }
#refresh-mailbox { padding: 10px 14px; border: 1px solid #47513e; border-radius: 6px; background: #1c2118; color: inherit; font: inherit; cursor: pointer; margin: 12px 0; }
#mailbox-messages { padding-left: 18px; font-size: 13px; overflow-wrap: anywhere; }
#mailbox-messages li { padding: 6px 0; }

.newsletter-preferences { margin-top: 28px; padding-top: 24px; border-top: 1px solid #30352d; }
.newsletter-preferences h3 { font-size: 18px; margin-bottom: 14px; }
.newsletter-choice { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.5; }
.newsletter-choice input { width: 18px; height: 18px; accent-color: #b9ef76; flex-shrink: 0; }
#newsletter-status { font-size: 13px; line-height: 1.6; }
