/* ORBA v0.4 | one-screen landing page. Legal and support pages remain scrollable. */
.site-nav,.mobile-toggle{display:none!important}
/* Homepage intentionally never scrolls: page content is composed as an adaptive viewport layout. */
html:has(body.homepage){height:100%;overflow:hidden}
body.homepage{height:100vh;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;isolation:isolate;line-height:1.4}
body.homepage .site-header{flex:0 0 auto;min-height:0;height:clamp(44px,7.5dvh,74px);width:min(1040px,calc(100% - 40px));display:flex;align-items:center;justify-content:center;padding:0;margin:auto;border:0}
body.homepage .brand{min-width:0;justify-content:center;align-items:center}
body.homepage .brand img{width:clamp(115px,17dvh,175px);max-height:55px;mix-blend-mode:normal;object-fit:contain}
body.homepage main{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
body.homepage .hero{display:flex;flex:1 1 auto;min-height:0;overflow:hidden;padding:0!important;isolation:isolate}
body.homepage .hero>.wrap{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:min(1060px,calc(100% - 28px))}
body.homepage .hero h1{flex:0 0 auto;font-size:clamp(25px,min(5.4vw,6.8dvh),57px);line-height:1.35;letter-spacing:.095em;margin:clamp(2px,1.25dvh,13px) 0 0;font-weight:400}
body.homepage .subcopy{flex:0 0 auto;font-size:clamp(12px,min(2.5vw,2.6dvh),22px);line-height:1.4;margin:clamp(1px,.7dvh,8px) 0 0;letter-spacing:.09em}
body.homepage .tiny-rule{flex:0 0 auto;width:30px;margin:clamp(4px,.9dvh,9px) auto;border-color:rgba(221,223,235,.52)}
body.homepage .lead{flex:0 0 auto;font-size:clamp(11px,min(2vw,1.9dvh),16px);line-height:1.55;letter-spacing:.04em;margin:0 0 clamp(5px,1.1dvh,14px)}
body.homepage .cta{flex:0 0 auto;min-width:0;width:min(280px,80%);min-height:0;height:clamp(35px,5.3dvh,55px);padding:0 19px;border-radius:12px;font-size:clamp(13px,min(2vw,2.15dvh),17px);gap:20px;box-shadow:0 0 24px rgba(178,88,201,.2)}
body.homepage .cta-preview{cursor:default}
body.homepage .cta span{font-size:20px}
body.homepage .launch-note{flex:0 0 auto;font-size:clamp(10px,1.4dvh,12px);line-height:1.4;margin:clamp(3px,.6dvh,7px) 0 clamp(3px,.65dvh,7px);letter-spacing:.07em}
body.homepage .phone-art{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;margin:0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
body.homepage .phone-art:before{inset:0 10%;filter:blur(21px);opacity:.43}
body.homepage .phone-art img{display:block;height:100%;width:100%;object-fit:contain;object-position:center bottom;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 5%,black 96%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 5%,black 96%,transparent 100%)}
body.homepage .section{position:relative;flex:0 0 auto;padding:clamp(3px,.65dvh,9px) 0 clamp(5px,.9dvh,13px);overflow:hidden}
body.homepage .feature-grid{width:min(1000px,calc(100% - 34px));grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,1vw,16px)}
body.homepage .feature,body.homepage .feature:last-child{display:flex;flex-direction:row;min-height:0;height:clamp(57px,9.5dvh,98px);align-items:center;justify-content:center;text-align:left;gap:clamp(5px,.8vw,16px);padding:clamp(5px,1dvh,13px);border:1px solid rgba(172,178,215,.15);background:rgba(8,19,40,.52);border-radius:12px;box-shadow:none}
body.homepage .feature-icon,body.homepage .feature:last-child .feature-icon,body.homepage .feature:nth-child(2) .feature-icon{flex:0 0 auto;width:clamp(25px,4vw,44px);height:clamp(25px,4vw,44px);margin:0}
body.homepage .feature-icon svg,body.homepage .feature:last-child .feature-icon svg,body.homepage .feature:nth-child(2) .feature-icon svg{width:100%;height:100%}
body.homepage .feature h2,body.homepage .feature:last-child h2{font-size:clamp(11px,min(1.4vw,2dvh),15px);line-height:1.32;margin:0 0 3px;font-weight:500;letter-spacing:.015em}
body.homepage .feature p{font-size:clamp(9px,min(1vw,1.55dvh),11px);line-height:1.35;color:#b5bed0;margin:0}
body.homepage .feature p br{display:none}
body.homepage .site-footer{flex:0 0 auto;padding:clamp(5px,.75dvh,9px) 0 calc(clamp(4px,.8dvh,9px) + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(165,176,211,.18);background:rgba(4,10,24,.67)}
body.homepage .home-footer-inner{width:min(1040px,calc(100% - 24px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
body.homepage .home-footer-links{display:flex;flex-wrap:wrap;gap:6px clamp(12px,1.8vw,30px)}
body.homepage .home-footer-links a{font-size:clamp(10px,1.4dvh,12px);color:#b9c3d5;line-height:1.3;white-space:nowrap}
body.homepage .home-footer-links a:hover{color:#fff;text-decoration:underline}
body.homepage .home-copyright{flex:0 0 auto;font-size:clamp(9px,1.2dvh,11px);color:#8090ab;white-space:nowrap;margin:0}
body.homepage .site-bg{background:radial-gradient(ellipse 65% 29% at 75% 43%,rgba(233,112,78,.24),transparent 73%),radial-gradient(ellipse 62% 37% at 21% 56%,rgba(100,63,149,.17),transparent 76%),linear-gradient(180deg,#08122b 0%,#0a1831 32%,#13152e 51%,#091530 73%,#050c1f 100%);filter:none;opacity:1}
body.homepage .site-wash{background:linear-gradient(180deg,transparent 0%,rgba(4,9,20,.05) 43%,rgba(4,9,20,.35) 90%)}
body.homepage .hero:before{inset:35% -10% auto;height:36%;background:radial-gradient(ellipse,rgba(234,104,77,.15),transparent 65%);filter:blur(24px);opacity:.6}
/* Subpages: navbar is replaced by brand -> home, and legal docs remain scrollable. */
body:not(.homepage) .site-header{justify-content:center}
body:not(.homepage) .site-header .brand{justify-content:center}
@media(max-width:730px){
 body.homepage .site-header{width:calc(100% - 28px);height:clamp(43px,6.8dvh,64px);padding:0;align-items:center}
 body.homepage .brand img{width:clamp(119px,19dvh,152px);max-height:44px}
 body.homepage .hero>.wrap{width:calc(100% - 16px)}
 body.homepage .hero h1{font-size:clamp(25px, min(8vw,4.5dvh),38px);line-height:1.31;letter-spacing:.075em;margin-top:clamp(0px,.5dvh,6px)}
 body.homepage .subcopy{font-size:clamp(12px,min(3.8vw,2.2dvh),17px);margin-top:clamp(3px,.7dvh,7px)}
 body.homepage .lead{font-size:clamp(10px,1.7dvh,13px);line-height:1.5;margin-bottom:clamp(6px,1dvh,11px)}
 body.homepage .tiny-rule{margin:clamp(3px,.5dvh,6px) auto}
 body.homepage .cta{height:clamp(34px,5.4dvh,49px);width:min(280px,80%);font-size:clamp(13px,1.9dvh,16px)}
 body.homepage .launch-note{margin:5px 0 5px;font-size:clamp(10px,1.5dvh,12px)}
 body.homepage .phone-art{max-width:none;width:100%;margin:0;flex:1 1 auto;overflow:hidden}
 body.homepage .phone-art img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
 body.homepage .section{padding:clamp(3px,.7dvh,6px) 0 clamp(4px,.8dvh,7px)}
 body.homepage .feature-grid{width:calc(100% - 30px);display:grid;grid-template-columns:1fr;gap:0}
 body.homepage .feature,body.homepage .feature:last-child{display:grid;grid-template-columns:31px minmax(0,1fr);gap:10px;min-height:0;height:clamp(29px,4.6dvh,41px);padding:2px 9px;border-radius:0;border:0;border-bottom:1px solid rgba(157,171,207,.17);background:rgba(8,17,37,.24)}
 body.homepage .feature:first-child{border-top:1px solid rgba(157,171,207,.17)}
 body.homepage .feature-icon,body.homepage .feature:last-child .feature-icon,body.homepage .feature:nth-child(2) .feature-icon{width:24px;height:24px}
 body.homepage .feature h2,body.homepage .feature:last-child h2{font-size:clamp(11px,1.65dvh,13px);margin:0;line-height:1.28}
 body.homepage .feature p{font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body.homepage .feature-copy{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;width:100%}
 body.homepage .feature-copy h2{flex:0 0 auto}
 body.homepage .feature-copy p{flex:1 1 auto;text-align:right;color:#a3b0c5}
 body.homepage .site-footer{padding:clamp(5px,.8dvh,9px) 0 calc(5px + env(safe-area-inset-bottom,0px))}
 body.homepage .home-footer-inner{width:calc(100% - 26px);flex-direction:column;gap:4px}
 body.homepage .home-footer-links{display:flex;justify-content:center;gap:4px 13px}
 body.homepage .home-footer-links a{font-size:clamp(10px,1.4dvh,11px)}
 body.homepage .home-copyright{font-size:9px}
}
@media(max-width:360px){
 body.homepage .hero h1{font-size:clamp(23px,7.8vw,29px)}
 body.homepage .feature-copy p{display:none}
 body.homepage .home-footer-links{gap:4px 11px}
 body.homepage .home-footer-links a{font-size:10px}
}
@media(max-height:680px){
 body.homepage .site-header{height:42px}
 body.homepage .brand img{width:113px;max-height:40px}
 body.homepage .hero h1{font-size:clamp(23px,min(7.8vw,4.35dvh),33px);line-height:1.22}
 body.homepage .subcopy{font-size:clamp(11px,2.15dvh,14px)}
 body.homepage .lead{font-size:11px;line-height:1.35;margin-bottom:5px}
 body.homepage .tiny-rule{margin:4px auto}
 body.homepage .cta{height:35px}
 body.homepage .launch-note{margin:3px 0}
 body.homepage .feature,body.homepage .feature:last-child{height:29px}
 body.homepage .site-footer{padding-top:4px}
}
@media(max-height:520px){
 body.homepage .feature-copy p{display:none}
 body.homepage .hero h1{font-size:23px}
 body.homepage .lead{display:none}
 body.homepage .feature,body.homepage .feature:last-child{height:26px}
}
/* On standard-height smartphones, stack each feature's explanation under its title.
   On short screens, keep titles only to preserve the one-screen composition. */
@media (min-height:740px) and (max-width:730px) {
 body.homepage .feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
 body.homepage .feature-copy p{flex:0 0 auto;align-self:stretch;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;line-height:1.15}
}
@media (max-height:739px) and (max-width:730px) {
 body.homepage .feature-copy p{display:none}
}
