/* Native rendering: no animation library, raster artwork, or downloaded font. */
.frontier-site.enhanced { background:var(--bg); }
.frontier-site.enhanced::before { display:none; }
.frontier-site .experience-orbit { display:none; }
.frontier-site .hero { padding-bottom:clamp(5rem,7vw,7rem); }
.frontier-site .hero-deck { max-width:620px; }
.frontier-site .hero-visual { will-change:auto; }
.frontier { padding-block:clamp(5rem,9vw,9rem) 2rem; scroll-margin-top:95px; }
.frontier-heading { margin-bottom:3rem; }
.frontier-heading h2 { margin:0; font:400 clamp(2.7rem,6.6vw,6.8rem)/.98 var(--display); letter-spacing:-.055em; }
.frontier-heading h2 em { font-weight:400; color:var(--solar); }
.frontier-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(2rem,5vw,6rem); align-items:center; }
.lens-study { --lens-edge:#a6bbff; --lens-warm:#ffae74; position:relative; margin:0; min-width:0; aspect-ratio:1; isolation:isolate; border:1px solid var(--line); background:#0b101c; color:#d3def5; overflow:hidden; }
.lens-coordinate { position:absolute; inset:1.3rem 1.3rem auto; z-index:3; display:flex; justify-content:space-between; gap:1rem; font:500 .57rem/1.5 monospace; letter-spacing:.12em; color:#a5b3ce; }
.lens-stage { position:absolute; inset:8%; perspective:900px; }
.lens-halo { position:absolute; inset:3%; border-radius:50%; background:radial-gradient(ellipse,#ff79221f 0%,#b7492820 24%,#4f61ab14 43%,transparent 69%); }
.lens-object { position:absolute; inset:0; transform-style:preserve-3d; transform:rotateX(22deg) rotateZ(-26deg); animation:lens-precess 38s linear infinite; }
.lens-ribbon { position:absolute; inset:9%; border:1px solid var(--lens-edge); border-top:2px solid var(--lens-warm); border-bottom-color:#626fe98c; border-radius:48% 48% 46% 46%; transform:rotateZ(calc(var(--r)*7.5deg)) rotateY(58deg); animation:lens-fold 18s ease-in-out calc(var(--r)*-.24s) infinite; }
.lens-ribbon::before { content:""; position:absolute; inset:5%; border:1px solid #adc3ff24; border-radius:inherit; }
.lens-horizon { position:absolute; z-index:-1; left:-30%; right:-30%; bottom:-34%; height:60%; background:repeating-linear-gradient(90deg,#8eb0f020 0 1px,transparent 1px 42px),repeating-linear-gradient(0deg,#8eb0f020 0 1px,transparent 1px 42px); transform:rotateX(66deg); }
.lens-study figcaption { position:absolute; inset:auto 1.3rem 1.3rem; display:flex; justify-content:space-between; gap:1rem; font-size:.65rem; line-height:1.5; color:#a5b3ce; }
.lens-study figcaption span:last-child { color:#e4b296; }
@keyframes lens-precess { to { transform:rotateX(22deg) rotateZ(334deg); } }
@keyframes lens-fold { 0%,100% { transform:rotateZ(calc(var(--r)*7.5deg)) rotateY(58deg); } 50% { transform:rotateZ(calc(var(--r)*7.5deg + 30deg)) rotateY(122deg); } }
.lens-study[data-motion-visible="false"] *, .lens-study[data-motion-visible="false"] *::before { animation-play-state:paused; }
.frontier-copy { min-width:0; }
.frontier-copy > p { color:var(--muted); line-height:1.75; font-size:1rem; }
.frontier-copy .frontier-lede { font:400 clamp(1.6rem,2.4vw,2.4rem)/1.18 var(--display); letter-spacing:-.022em; color:var(--text); }
.frontier-steps { margin-block:2rem; }
.frontier-steps > div { display:grid; grid-template-columns:2rem 1fr; column-gap:1rem; padding-block:1.1rem; border-top:1px solid var(--line); }
.frontier-steps > div > span { grid-row:1/3; padding-top:.25rem; color:var(--solar); font:.6rem/1.5 monospace; }
.frontier-steps h3 { margin:0 0 .45rem; font-size:1.1rem; font-weight:550; letter-spacing:-.02em; }
.frontier-steps p { grid-column:2; margin:0; font-size:.9rem; line-height:1.65; color:var(--muted); }
.frontier-copy .text-link { display:inline-flex; gap:1.5rem; padding-block:.5rem; min-height:44px; align-items:center; }
.frontier-delivery { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem 3rem; margin-top:2rem; padding-block:1.4rem; border-bottom:1px solid var(--line); font-size:.75rem; line-height:1.65; color:var(--muted); }
.frontier-delivery p { margin:0; }
.frontier-delivery a { color:var(--text); text-decoration:underline; text-underline-offset:4px; }
html[data-theme="light"] .lens-study { --lens-edge:#355776; --lens-warm:#b74720; background:#e7dfd0; color:#203e4c; }
html[data-theme="light"] .lens-coordinate,html[data-theme="light"] .lens-study figcaption { color:#465d6b; }
html[data-theme="light"] .lens-study figcaption span:last-child { color:#934027; }
html[data-theme="light"] .lens-ribbon { border-bottom-color:#6c70a47a; }
html[data-theme="light"] .lens-ribbon::before { border-color:#46658a40; }
html[data-theme="light"] .lens-halo { background:radial-gradient(ellipse,#eead6e52,transparent 67%); }
@media(max-width:850px) {
 .frontier-grid { grid-template-columns:1fr; gap:2rem; }
 .lens-study { max-width:620px; width:100%; justify-self:center; }
 .frontier-copy { max-width:680px; }
 .frontier-heading h2 { font-size:clamp(2.7rem,8vw,4.5rem); }
 .frontier-site .hero-index { display:none; }
 .lens-ribbon:nth-child(even) { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .lens-object,.lens-ribbon { animation:none!important; }
}
@media(forced-colors:active) {
 .lens-study { border:1px solid CanvasText; }
 .lens-ribbon { border-color:CanvasText; }
}
