.ai-lp{--bg:#07080a;--bg2:#0f1114;--fg:#f6f5f0;--mut:#9ca1a8;--ac:#ff4d2e;--ac2:#ffb340;--ln:rgba(255,255,255,.13);background:var(--bg);color:var(--fg);font-family:'DM Sans','Noto Sans JP',sans-serif;overflow:hidden;position:relative}
.ai-lp *{box-sizing:border-box}.ai-lp a{color:inherit;text-decoration:none}
.ai-lp .w{max-width:1200px;margin:0 auto;padding:0 6%;position:relative}
.ai-lp section{position:relative;padding:150px 0}
.ai-lp .tag{display:inline-flex;gap:12px;align-items:center;font-size:12px;letter-spacing:.22em;font-weight:700;color:var(--ac2);text-transform:uppercase}
.ai-lp .tag:before{content:"";width:36px;height:2px;background:linear-gradient(90deg,var(--ac),var(--ac2))}
.ai-lp h1,.ai-lp h2{margin:0;font-weight:900;letter-spacing:-.05em;line-height:1.15;text-wrap:balance}
.ai-lp h2{font-size:clamp(34px,6vw,84px);margin-top:22px}
.ai-lp .lead{color:var(--mut);font-size:17px;line-height:2.1;max-width:680px;margin:28px 0 0}
.ai-lp .grad{background:linear-gradient(100deg,var(--ac),var(--ac2));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.ai-lp .btn{position:relative;display:inline-flex;align-items:center;gap:14px;padding:24px 44px;border-radius:999px;background:linear-gradient(100deg,var(--ac),var(--ac2));color:#fff;font-weight:800;font-size:18px;box-shadow:0 18px 60px -10px rgba(255,77,46,.7);transition:transform .25s,box-shadow .25s;overflow:hidden}
.ai-lp .btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);animation:shine 3.4s infinite}
@keyframes shine{60%,100%{transform:translateX(120%)}}
.ai-lp .btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 26px 70px -10px rgba(255,77,46,.9)}
.ai-lp .btn i{font-style:normal;transition:transform .25s}.ai-lp .btn:hover i{transform:translateX(6px)}
.ai-lp .ghost{display:inline-block;padding:22px 30px;border:1px solid var(--ln);border-radius:999px;font-size:15px;background:rgba(255,255,255,.03)}
.ai-lp .bar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--ac),var(--ac2));z-index:99}
/* hero */
.ai-lp .hero{padding:90px 0 0;min-height:92vh;display:flex;flex-direction:column;justify-content:space-between}
.ai-lp .orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;pointer-events:none;animation:float 14s ease-in-out infinite}
.ai-lp .o1{width:620px;height:620px;background:var(--ac);right:-160px;top:-160px}
.ai-lp .o2{width:480px;height:480px;background:#7a2cff;left:-180px;top:30%;opacity:.35;animation-delay:-5s}
.ai-lp .o3{width:380px;height:380px;background:var(--ac2);right:20%;bottom:-120px;opacity:.28;animation-delay:-9s}
@keyframes float{50%{transform:translate(50px,-40px) scale(1.1)}}
.ai-lp .hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--ln) 1px,transparent 1px),linear-gradient(90deg,var(--ln) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(70% 70% at 50% 30%,#000,transparent);-webkit-mask-image:radial-gradient(70% 70% at 50% 30%,#000,transparent);opacity:.4;pointer-events:none}
.ai-lp .hero .w{z-index:2;width:100%}
.ai-lp .hero h1{font-size:clamp(40px,8.4vw,128px);margin:28px 0 34px;line-height:1.08}
.ai-lp .hero h1 span.l{display:block}
.ai-lp .hero .sub{font-size:clamp(16px,1.6vw,20px);line-height:2;color:#d6d9dd;max-width:640px}
.ai-lp .cta-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:46px;align-items:center}
.ai-lp .hero-stats{position:relative;z-index:2;margin-top:70px;border-top:1px solid var(--ln);background:rgba(7,8,10,.55);backdrop-filter:blur(16px)}
.ai-lp .hero-stats .w{display:grid;grid-template-columns:repeat(4,1fr)}
.ai-lp .st{padding:34px 24px 34px 0;border-right:1px solid var(--ln)}.ai-lp .st+.st{padding-left:28px}.ai-lp .st:last-child{border:0}
.ai-lp .st b{display:block;font-size:clamp(34px,4.2vw,60px);font-weight:900;letter-spacing:-.05em;line-height:1}.ai-lp .st span{display:block;margin-top:10px;font-size:13px;color:var(--mut);line-height:1.6}
/* marquee */
.ai-lp .mq{padding:26px 0;border-block:1px solid var(--ln);background:var(--bg2);overflow:hidden;white-space:nowrap}
.ai-lp .mq div{display:inline-flex;gap:0;animation:mq 38s linear infinite}.ai-lp .mq span{font-size:clamp(22px,3vw,40px);font-weight:900;letter-spacing:-.03em;padding:0 28px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}.ai-lp .mq span:nth-child(even){color:var(--fg);-webkit-text-stroke:0}.ai-lp .mq span:after{content:"✦";margin-left:56px;color:var(--ac);-webkit-text-stroke:0}
@keyframes mq{to{transform:translateX(-50%)}}
/* pains */
.ai-lp .pain-l{margin-top:70px;border-top:1px solid var(--ln)}
.ai-lp .pain{display:grid;grid-template-columns:90px 1fr;gap:20px;align-items:baseline;padding:34px 0;border-bottom:1px solid var(--ln);font-size:clamp(20px,3vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.5;transition:padding .3s,color .3s}
.ai-lp .pain:hover{padding-left:24px;color:var(--ac2)}.ai-lp .pain b{font-size:15px;color:var(--ac);letter-spacing:.1em}
.ai-lp .twist{margin-top:70px;padding:44px;border-radius:28px;background:linear-gradient(120deg,rgba(255,77,46,.2),rgba(122,44,255,.16));border:1px solid var(--ln);font-size:clamp(18px,2vw,24px);line-height:2;font-weight:700}
/* flow */
.ai-lp .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:70px}
.ai-lp .step{position:relative;border:1px solid var(--ln);border-radius:28px;padding:34px 28px;background:linear-gradient(170deg,rgba(255,255,255,.07),rgba(255,255,255,.01));overflow:hidden;transition:transform .3s,border-color .3s}
.ai-lp .step:hover{transform:translateY(-10px);border-color:var(--ac)}
.ai-lp .step .n{font-size:110px;font-weight:900;line-height:.9;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px var(--ac);opacity:.9}
.ai-lp .step h3{margin:22px 0 12px;font-size:23px;letter-spacing:-.02em}.ai-lp .step p{margin:0;color:var(--mut);font-size:14px;line-height:1.95}
.ai-lp .step dl{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--ln);font-size:12px;line-height:1.9;color:var(--mut)}.ai-lp .step dt{display:inline;color:var(--fg);font-weight:700}.ai-lp .step dd{display:inline;margin:0}.ai-lp .step dd:after{content:"";display:block}
/* bento */
.ai-lp .rep{background:var(--bg2)}
.ai-lp .bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:70px}
.ai-lp .bc{grid-column:span 2;padding:30px;border:1px solid var(--ln);border-radius:26px;background:var(--bg);min-height:190px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s,border-color .3s}
.ai-lp .bc:hover{transform:translateY(-6px);border-color:var(--ac2)}
.ai-lp .bc span{font-size:13px;font-weight:800;color:var(--ac2);letter-spacing:.12em}.ai-lp .bc h3{margin:30px 0 0;font-size:19px;line-height:1.6}
.ai-lp .bc.big{grid-column:span 4;background:linear-gradient(130deg,#ff4d2e,#a3210f 70%);border:0}.ai-lp .bc.big span{color:#ffe1d6}.ai-lp .bc.big h3{font-size:clamp(24px,3vw,40px);line-height:1.4}
.ai-lp .tbl{margin-top:30px;border:1px solid var(--ln);border-radius:24px;overflow:auto;background:var(--bg)}.ai-lp table{width:100%;min-width:600px;border-collapse:collapse;font-size:15px}.ai-lp th,.ai-lp td{padding:20px 22px;text-align:left;border-bottom:1px solid var(--ln)}.ai-lp th{font-size:11px;letter-spacing:.12em;color:var(--mut)}.ai-lp tr:last-child td{border:0}.ai-lp td:last-child{color:var(--ac2);font-weight:800}
.ai-lp .note{margin-top:22px;font-size:12px;line-height:1.9;color:var(--mut)}
/* roi */
.ai-lp .roi-big{margin-top:60px;text-align:center}
.ai-lp .roi-big small{font-size:13px;letter-spacing:.2em;color:var(--mut)}
.ai-lp .roi-big strong{display:block;font-size:clamp(64px,15vw,220px);font-weight:900;letter-spacing:-.07em;line-height:1;margin:14px 0}
.ai-lp .roi-big strong em{font-style:normal;font-size:.28em;letter-spacing:0;margin-left:8px;color:var(--fg);-webkit-text-fill-color:var(--fg)}
.ai-lp .roi-big p{margin:0;color:var(--mut);font-size:15px}
.ai-lp .sim{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.ai-lp .sim label{padding:26px;border:1px solid var(--ln);border-radius:22px;background:var(--bg2);font-size:13px;color:var(--mut)}.ai-lp .sim label b{display:block;color:var(--fg);font-size:30px;margin-top:8px;letter-spacing:-.03em}
.ai-lp input[type=range]{width:100%;margin-top:18px;accent-color:var(--ac)}
.ai-lp .formula{margin-top:34px;text-align:center;font-size:14px;color:var(--mut)}
/* price */
.ai-lp .price{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.ai-lp .pc{position:relative;border-radius:36px;padding:56px;background:linear-gradient(150deg,var(--ac),#b62a12 55%,#5a1409);box-shadow:0 60px 140px -40px rgba(255,77,46,.65);overflow:hidden}
.ai-lp .pc:after{content:"";position:absolute;width:340px;height:340px;right:-90px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 70%)}
.ai-lp .pc small{letter-spacing:.16em;font-size:12px;opacity:.9}.ai-lp .pc strong{display:block;font-size:clamp(72px,10vw,140px);font-weight:900;letter-spacing:-.07em;line-height:1;margin:16px 0 8px}.ai-lp .pc p{margin:0 0 32px;opacity:.92;font-size:14px;line-height:1.9}
.ai-lp .pc .btn{background:#fff;color:#1c0a06;box-shadow:none}.ai-lp .pc .btn:before{display:none}
.ai-lp .opt{margin:30px 0 0;padding:0;list-style:none;counter-reset:o}.ai-lp .opt li{counter-increment:o;padding:22px 0 22px 56px;border-bottom:1px solid var(--ln);font-size:16px;line-height:1.8;color:#d6d9dd;position:relative}.ai-lp .opt li:before{content:"0" counter(o);position:absolute;left:0;top:22px;font-weight:900;color:var(--ac);font-size:18px}
/* faq */
.ai-lp .faq{margin-top:60px;max-width:880px}.ai-lp details{border-bottom:1px solid var(--ln)}.ai-lp summary{cursor:pointer;list-style:none;padding:30px 50px 30px 0;font-size:clamp(17px,2vw,22px);font-weight:800;position:relative}
.ai-lp summary::-webkit-details-marker{display:none}.ai-lp summary:after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:34px;color:var(--ac2);transition:transform .25s}
.ai-lp details[open] summary:after{transform:translateY(-50%) rotate(45deg)}.ai-lp details p{margin:0 0 30px;color:var(--mut);line-height:2.05;font-size:15px}.ai-lp details a{text-decoration:underline}
/* closing */
.ai-lp .end{text-align:center;padding:190px 0;overflow:hidden}
.ai-lp .end .orb{left:50%;bottom:-300px;width:900px;height:900px;margin-left:-450px;background:var(--ac);opacity:.5}
.ai-lp .end h2{font-size:clamp(44px,9.5vw,150px);line-height:1.05}.ai-lp .end p{color:#d6d9dd;line-height:2.1;margin:34px auto 52px;max-width:600px;font-size:17px}
.ai-lp .sticky{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:22px;padding:10px 10px 10px 26px;border-radius:999px;background:rgba(15,17,20,.9);backdrop-filter:blur(16px);border:1px solid var(--ln);color:var(--fg);box-shadow:0 24px 60px -10px rgba(0,0,0,.7)}
.ai-lp .sticky[hidden]{display:none}.ai-lp .sticky span{font-size:13px;font-weight:700}.ai-lp .sticky small{display:block;font-weight:400;color:var(--mut);font-size:11px}.ai-lp .sticky a{padding:14px 24px;border-radius:999px;background:linear-gradient(100deg,var(--ac),var(--ac2));font-size:14px;font-weight:800;white-space:nowrap}
.ai-lp .rv{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.ai-lp .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.ai-lp .rv{opacity:1;transform:none;transition:none}.ai-lp .orb,.ai-lp .mq div,.ai-lp .btn:before{animation:none}.ai-lp .step,.ai-lp .btn,.ai-lp .bc{transition:none}}
@media(max-width:900px){.ai-lp section{padding:96px 0}.ai-lp .hero{min-height:0;padding-top:60px}.ai-lp .hero-stats .w{grid-template-columns:1fr 1fr}.ai-lp .st:nth-child(2){border:0}.ai-lp .st{padding:24px 16px 24px 0}.ai-lp .st+.st{padding-left:0}.ai-lp .st:nth-child(odd){padding-left:0}.ai-lp .st:nth-child(even){padding-left:20px}.ai-lp .flow{grid-template-columns:1fr 1fr}.ai-lp .bento{grid-template-columns:1fr 1fr}.ai-lp .bc,.ai-lp .bc.big{grid-column:span 2}.ai-lp .price{grid-template-columns:minmax(0,1fr)}.ai-lp .sim{grid-template-columns:1fr}.ai-lp .end{padding:120px 0}}
@media(max-width:560px){.ai-lp .flow{grid-template-columns:1fr}.ai-lp .bc{grid-column:span 2}.ai-lp .btn{width:100%;justify-content:center;padding:22px}.ai-lp .pc{padding:34px}.ai-lp .pain{grid-template-columns:44px 1fr}.ai-lp .twist{padding:28px}.ai-lp .sticky{left:12px;right:12px;transform:none;justify-content:space-between}.ai-lp .step .n{font-size:84px}}
.ai-lp .st b span{display:inline;margin:0;font-size:inherit;color:inherit;line-height:inherit}
.ai-lp .figs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:70px}
.ai-lp .fig{margin:0;padding:28px;border:1px solid var(--ln);border-radius:28px;background:var(--bg)}
.ai-lp .fig figcaption{font-size:13px;color:var(--mut);line-height:1.8;margin-bottom:18px}.ai-lp .fig figcaption b{display:block;color:var(--fg);font-size:18px;margin-bottom:4px}
.ai-lp .fig svg{width:100%;height:auto;display:block}.ai-lp .fig text{font-family:inherit;fill:var(--fg)}.ai-lp .fig .m{fill:var(--mut)}
@media(max-width:900px){.ai-lp .figs{grid-template-columns:minmax(0,1fr)}}
.ai-lp .hero h1{font-size:clamp(34px,6.4vw,88px)}.ai-lp .hero h1 span.l{white-space:nowrap}@media(max-width:560px){.ai-lp .hero h1{font-size:clamp(28px,8.4vw,40px)}.ai-lp .hero h1 span.l{white-space:normal}}
.ai-lp .flow-img{margin:60px 0 0;border-radius:28px;overflow:hidden;border:1px solid var(--ln);box-shadow:0 40px 100px -40px rgba(255,77,46,.5)}.ai-lp .flow-img img{display:block;width:100%;height:auto}
.ai-lp .figs .fig:last-child{grid-column:1/-1}.ai-lp .figs .fig:last-child svg{max-width:760px;margin:0 auto}

/* animation-only visuals (no images) */
.ai-lp .hero{background:radial-gradient(55% 70% at 76% 42%,rgba(255,77,46,.22),transparent 72%),radial-gradient(40% 50% at 8% 80%,rgba(122,44,255,.16),transparent 70%),var(--bg)}
.ai-lp .hero .orb{display:none}
.ai-lp .hero-cv{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.ai-lp .hero:after{opacity:.22}
.ai-lp .flow-anim{margin:60px 0 0;padding:26px 10px 10px;border:1px solid var(--ln);border-radius:28px;background:radial-gradient(60% 90% at 50% 0,rgba(255,77,46,.14),transparent 70%),var(--bg2)}
.ai-lp .flow-anim svg{display:block;width:100%;height:auto}
.ai-lp .fa-line{stroke-dasharray:6 94;stroke-dashoffset:0;animation:fadash 3s linear infinite}
@keyframes fadash{to{stroke-dashoffset:-100}}
.ai-lp .fa-n circle:first-child{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.22);stroke-width:2;animation:fanode 6s ease-in-out infinite}
.ai-lp .fa-n path,.ai-lp .fa-n circle+circle{stroke:#ffb340;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}
.ai-lp .fa-n.n2 circle:first-child{animation-delay:1.5s}.ai-lp .fa-n.n3 circle:first-child{animation-delay:3s}.ai-lp .fa-n.n4 circle:first-child{animation-delay:4.5s}
@keyframes fanode{0%,22%,100%{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.22);filter:none}8%{fill:rgba(255,120,40,.35);stroke:#ffb340;filter:drop-shadow(0 0 14px rgba(255,140,40,.9))}}
.ai-lp .fa-t text{fill:var(--fg)}.ai-lp .fa-s text{fill:var(--mut)}
.ai-lp .mx2{position:relative;padding:54px 11% 54px;background:radial-gradient(50% 60% at 30% 30%,rgba(255,77,46,.25),transparent 70%),#050607;overflow:hidden}
.ai-lp .mgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin:0 auto}
.ai-lp .gt{position:relative;min-height:170px;border-radius:22px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));padding:26px;display:flex;flex-direction:column;justify-content:center;gap:6px;overflow:hidden;line-height:1.5}
.ai-lp .gt:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.10) 50%,transparent 65%);transform:translateX(-120%);animation:mqshine 7s ease-in-out infinite}
.ai-lp .gt2:before{animation-delay:1.2s}.ai-lp .gt3:before{animation-delay:2.4s}.ai-lp .gt4:before{animation-delay:3.6s}
@keyframes mqshine{35%,100%{transform:translateX(120%)}}
.ai-lp .gt b{font-size:clamp(16px,2vw,24px);font-weight:900;letter-spacing:-.02em}.ai-lp .gt small{font-size:12px;font-weight:700;color:var(--ac2)}.ai-lp .gt em{font-style:normal;font-size:13px;color:#ffe9d6;padding-left:14px;position:relative}.ai-lp .gt em:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 10px #ffb340}
.ai-lp .gt1{border-color:transparent;background:linear-gradient(125deg,#ff4d2e,#ffb340 50%,#ff4d2e);background-size:220% 220%;animation:mqglow 6s ease-in-out infinite;box-shadow:0 0 60px -6px rgba(255,100,40,.7)}
.ai-lp .gt1 small{color:#fff}.ai-lp .gt1 b,.ai-lp .gt1 small,.ai-lp .gt1 em{color:#1a0803;text-shadow:none}.ai-lp .gt1 em:before{background:#1a0803;box-shadow:none}
@keyframes mqglow{50%{background-position:100% 100%;box-shadow:0 0 90px 0 rgba(255,120,40,.9)}}
.ai-lp .spark{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff;animation:spark 4s ease-in-out infinite;opacity:0}
.ai-lp .s1{left:18%;bottom:14%}.ai-lp .s2{left:62%;bottom:10%;animation-delay:1.3s}.ai-lp .s3{left:84%;bottom:22%;animation-delay:2.6s}
@keyframes spark{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-120px);opacity:0}}
.ai-lp .ma{position:absolute;font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--ac2)}
.ai-lp .ma.t{left:50%;top:18px;transform:translateX(-50%)}.ai-lp .ma.b{left:50%;bottom:18px;transform:translateX(-50%)}.ai-lp .ma.l{left:3%;top:50%;transform:translateY(-50%)}.ai-lp .ma.r{right:3%;top:50%;transform:translateY(-50%)}
@media(max-width:700px){.ai-lp .mx2{padding:44px 6%}.ai-lp .ma.l,.ai-lp .ma.r{display:none}.ai-lp .gt{min-height:130px;padding:18px}.ai-lp .fa-s{display:none}}
@media(prefers-reduced-motion:reduce){.ai-lp .fa-line,.ai-lp .fa-n circle:first-child,.ai-lp .gt:before,.ai-lp .gt1,.ai-lp .spark{animation:none}.ai-lp .spark{display:none}}
.ai-lp .pc strong{white-space:nowrap}.ai-lp .pc strong .u{font-size:.32em;letter-spacing:0;margin-left:.15em;font-weight:800}

/* matrix: full-bleed */
.ai-lp .fig-wide{grid-column:1/-1;padding:0;border:0;border-radius:0;background:#050607;position:relative;left:50%;width:100vw;margin-left:-50vw;margin-top:10px}
.ai-lp .fig-wide figcaption{max-width:1200px;margin:0 auto;padding:44px 6% 8px}
.ai-lp .mx2{padding:70px 10% 80px;min-height:min(78vh,760px);display:flex;align-items:center}
.ai-lp .mgrid{width:100%;max-width:1100px;gap:20px}
.ai-lp .gt{min-height:clamp(150px,22vh,230px);padding:30px 34px;border-radius:26px}
.ai-lp .gt b{font-size:clamp(18px,2.4vw,32px)}.ai-lp .gt small{font-size:14px}.ai-lp .gt em{font-size:15px}
.ai-lp .ma{font-size:clamp(12px,1.3vw,17px)}
@media(max-width:700px){.ai-lp .mx2{padding:56px 5%;min-height:0}.ai-lp .gt{min-height:120px;padding:18px}}
/* race LP */
.ai-lp.race .race-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
.ai-lp.race .hero h1{font-size:clamp(30px,4.6vw,66px)}.ai-lp.race .hero h1 span.l{white-space:normal}
.ai-lp .gapchart{margin:0;padding:22px;border:1px solid var(--ln);border-radius:26px;background:rgba(10,12,14,.72);backdrop-filter:blur(14px)}
.ai-lp .gapchart svg{display:block;width:100%;height:auto}.ai-lp .gapchart figcaption{margin-top:10px;font-size:11px;color:var(--mut);line-height:1.7}
.ai-lp .gc-up{stroke-dasharray:700;stroke-dashoffset:700;animation:gcdraw 3s .3s cubic-bezier(.3,.7,.2,1) forwards}.ai-lp .gc-flat{stroke-dasharray:520;stroke-dashoffset:520;animation:gcdraw 2.4s .2s ease forwards}
.ai-lp .gc-gap{opacity:0;animation:gcfade .8s 3s forwards}
@keyframes gcdraw{to{stroke-dashoffset:0}}@keyframes gcfade{to{opacity:1}}
@media(max-width:900px){.ai-lp.race .race-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.ai-lp .gc-up,.ai-lp .gc-flat{animation:none;stroke-dashoffset:0}.ai-lp .gc-gap{animation:none;opacity:1}}
.ai-lp.race .race-grid{grid-template-columns:1.4fr 1fr}.ai-lp.race .hero h1{font-size:clamp(28px,3.6vw,52px)}.ai-lp.race .hero h1 span.l{white-space:nowrap}
@media(max-width:900px){.ai-lp.race .race-grid{grid-template-columns:minmax(0,1fr)}.ai-lp.race .hero h1{font-size:clamp(26px,7vw,40px)}.ai-lp.race .hero h1 span.l{white-space:normal}}
/* full-width content: no max-width cap, only side padding */
.ai-lp .w{max-width:none;padding-left:clamp(24px,5.5vw,120px);padding-right:clamp(24px,5.5vw,120px)}
.ai-lp .fig-wide figcaption{max-width:none;padding-left:clamp(24px,5.5vw,120px);padding-right:clamp(24px,5.5vw,120px)}
.ai-lp .lead{max-width:880px}.ai-lp .faq{max-width:1100px}
.ai-lp .mgrid{max-width:1400px}
.ai-lp .figs .fig:last-child svg{max-width:980px}
/* content width: between the original 1200px and full width */
.ai-lp .w{max-width:1520px;margin-left:auto;margin-right:auto;padding-left:clamp(24px,5vw,72px);padding-right:clamp(24px,5vw,72px)}
.ai-lp .fig-wide figcaption{max-width:1520px;margin-left:auto;margin-right:auto;padding-left:clamp(24px,5vw,72px);padding-right:clamp(24px,5vw,72px)}
.ai-lp .mgrid{max-width:1180px}
.ai-lp .lead{max-width:760px}
/* race LP hero: larger type */
.ai-lp.race .race-grid{grid-template-columns:1.55fr 1fr;gap:40px}
.ai-lp.race .hero h1{font-size:clamp(34px,4.7vw,78px);line-height:1.18}
.ai-lp.race .hero .sub{font-size:clamp(16px,1.35vw,21px)}
@media(max-width:900px){.ai-lp.race .race-grid{grid-template-columns:minmax(0,1fr)}.ai-lp.race .hero h1{font-size:clamp(30px,8.4vw,48px)}.ai-lp.race .hero h1 span.l{white-space:normal}}
/* in-page reservation form */
.ai-lp .reserve{background:radial-gradient(60% 80% at 85% 20%,rgba(255,77,46,.18),transparent 70%),var(--bg2)}
.ai-lp .rs-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.ai-lp .rs-points{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:14px}.ai-lp .rs-points li{padding:18px 22px;border:1px solid var(--ln);border-radius:16px;background:rgba(255,255,255,.03);color:#d6d9dd;font-size:15px}.ai-lp .rs-points b{display:block;font-size:22px;color:var(--fg);margin-bottom:4px}
.ai-lp .rs-card{border:1px solid var(--ln);border-radius:28px;padding:36px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));backdrop-filter:blur(14px);box-shadow:0 40px 100px -40px rgba(0,0,0,.8)}
.ai-lp #aa-form{display:grid;gap:18px}.ai-lp .rs-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ai-lp #aa-form label{display:grid;gap:8px;font-size:13px;font-weight:700;color:#d6d9dd}.ai-lp #aa-form label span{color:var(--ac);margin-left:4px}.ai-lp #aa-form label small{margin-left:8px;font-weight:400;color:var(--mut)}
.ai-lp #aa-form input:not([type=checkbox]),.ai-lp #aa-form textarea{width:100%;padding:15px 16px;border:1px solid var(--ln);border-radius:12px;background:rgba(0,0,0,.35);color:var(--fg);font:inherit;font-size:15px;font-weight:400;outline:0;transition:border-color .2s,box-shadow .2s}
.ai-lp #aa-form input:focus,.ai-lp #aa-form textarea:focus{border-color:var(--ac2);box-shadow:0 0 0 3px rgba(255,179,64,.2)}
.ai-lp #aa-form ::placeholder{color:#6f757c}
.ai-lp .rs-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ai-lp #aa-form .rs-consent{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:13px;line-height:1.7;color:var(--mut)}.ai-lp .rs-consent input{margin-top:4px;accent-color:var(--ac);width:18px;height:18px}.ai-lp .rs-consent a{text-decoration:underline;color:var(--fg)}
.ai-lp .rs-error{margin:0;min-height:1.2em;font-size:13px;color:#ff8a6b}
.ai-lp #aa-submit{justify-content:center;width:100%;border:0;cursor:pointer;font-family:inherit}.ai-lp #aa-submit:disabled{opacity:.6;cursor:wait}.ai-lp .rs-retry{background:none;border:1px solid var(--ln);color:var(--fg);padding:12px;border-radius:12px;cursor:pointer}
.ai-lp .rs-done{text-align:center;padding:30px 10px}.ai-lp .rs-mark{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(100deg,var(--ac),var(--ac2));font-size:30px;font-weight:900;margin-bottom:18px}.ai-lp .rs-done h3{font-size:24px;margin:0 0 10px}.ai-lp .rs-done p{color:#d6d9dd;line-height:1.9}.ai-lp .rs-ref b{font-size:20px;letter-spacing:.06em;color:var(--ac2)}
@media(max-width:900px){.ai-lp .rs-grid{grid-template-columns:minmax(0,1fr);gap:36px}.ai-lp .rs-row{grid-template-columns:minmax(0,1fr)}.ai-lp .rs-card{padding:24px}}
