/* The public landing page has its own layout; application screens keep their theme. */
.fh-home{--fh-green:#bdbdbd;--fh-muted:#b2b2b2;--wave-fill:#090909;font-size:17px;background:#090909;color:#f6f6f6}
.fh-home *, .fh-home *::before,.fh-home *::after{box-sizing:border-box}
.fh-home h1,.fh-home h2,.fh-home h3,.fh-home p{margin:0}
.fh-home em{font-style:normal;color:var(--fh-green)}
.fh-wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.fh-hero{position:relative;isolation:isolate;margin-top:-100px;padding:185px 24px 96px;text-align:center;overflow:hidden;background:#121212}
.fh-scenery{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#111111}
.fh-scenery img{width:100%;height:100%;object-fit:cover;object-position:center 56%;opacity:.76}
.fh-scenery::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b0b0b80 0%,#0b0b0b4d 25%,#0f0f0f59 58%,#090909f5 100%),radial-gradient(ellipse at 50% 46%,#11111177 0%,#0e0e0e18 55%,#09090988 100%)}
.fh-hero-inner{max-width:1050px;margin:auto}
.fh-badge{display:inline-flex;gap:10px;align-items:center;padding:9px 17px;border:1px solid #bdbdbd52;border-radius:30px;background:#141414b8;color:#d9d9d9;font-size:11px;font-weight:600;letter-spacing:1.8px;backdrop-filter:blur(12px)}
.fh-badge i{width:6px;height:6px;border-radius:50%;background:var(--fh-green);box-shadow:0 0 12px #bdbdbd60}
.fh-hero h1{font-size:clamp(64px,6.8vw,100px);line-height:.99;letter-spacing:-2.5px;margin:27px 0 26px;font-weight:700;text-shadow:0 3px 35px #00000066}
.fh-hero h1 em{color:#d4d4d4}
.fh-hero p{font-size:21px;line-height:1.65;color:#dadada;font-weight:500}
.fh-hero p strong{font-weight:600;color:#fbfbfb}
.fh-actions{display:flex;justify-content:center;align-items:center;gap:13px;flex-wrap:wrap;margin-top:30px}
.fh-home .fh-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid #ffffff26;border-radius:12px;padding:17px 25px;min-height:57px;font-family:inherit;font-size:18px;font-weight:700;line-height:1.25;cursor:pointer;transition:background .18s,border-color .18s,transform .18s;text-decoration:none}
.fh-home .fh-primary{background:var(--fh-green);border-color:var(--fh-green);color:#1a1a1a;box-shadow:0 8px 32px #00000022}
.fh-home .fh-primary:hover{background:#d5d5d5;border-color:#d5d5d5;transform:translateY(-2px)}
.fh-home .fh-secondary{background:#121212c9;color:#ededed;border-color:#ffffff30}
.fh-home .fh-secondary:hover{background:#282828;border-color:#bdbdbd76}
.fh-home .fh-button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.fh-home :is(button,a,summary):focus-visible{outline:2px solid #d9d9d9;outline-offset:5px}
.fh-play{font-size:25px;line-height:16px;color:#d0d0d0}
.fh-assurances{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:22px;font-size:13px;color:#cdcdcd}
.fh-specs{display:grid;grid-template-columns:repeat(4,1fr);max-width:650px;margin:47px auto 0;border:1px solid #bdbdbd25;background:#111111b8;border-radius:17px;padding:21px 8px;backdrop-filter:blur(16px)}
.fh-specs>div{display:grid;gap:5px;border-right:1px solid #ffffff15}.fh-specs>div:last-child{border:0}
.fh-specs strong{font-size:35px;line-height:1.2;letter-spacing:-.8px}.fh-specs strong small{font-size:21px;font-weight:500;letter-spacing:0}.fh-specs>div>span{font-size:9px;letter-spacing:1.5px;color:#afafaf}
.fh-hero>.photo-wave{height:60px;fill:#090909}
.fh-hero .fh-availability{font-size:14px;margin-top:18px;color:#d9d9d9}
.fh-welcome{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #ffffff12;color:#a6a6a6;font-size:14px}.fh-welcome a{color:#d3d3d3}
.fh-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;padding:46px 0 72px;border-bottom:1px solid #ffffff12}
.fh-feature-icon{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:18px;color:#c5c5c5;background:#bdbdbd11;border:1px solid #bdbdbd21;border-radius:12px}.fh-feature-icon svg{width:22px;height:22px}
.fh-benefits h2{font-size:25px;letter-spacing:-.4px;margin-bottom:10px}.fh-benefits p{font-size:16px;color:var(--fh-muted);line-height:1.75}
.fh-heading{text-align:center;margin-bottom:38px}.fh-eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:2px;color:#ababab;margin-bottom:16px}
.fh-home h2{font-size:45px;line-height:1.12;letter-spacing:-.9px}.fh-heading p{font-size:17px;color:var(--fh-muted);margin-top:16px}.fh-plans{padding:83px 0 65px}
.fh-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.fh-plan{min-width:0;display:flex;flex-direction:column;padding:25px 23px;background:#141414;border:1px solid #ffffff13;border-radius:17px}
.fh-plan-free{border-color:#bdbdbd82;background:linear-gradient(160deg,#2f2f2f,#181818 70%);box-shadow:0 0 40px #bdbdbd06}
.fh-plan-label{font-size:9px;letter-spacing:1.2px;color:#9a9a9a;min-height:27px}.fh-plan-free .fh-plan-label{color:#d7d7d7}
.fh-plan h3{font-size:27px;margin:0 0 9px}.fh-plan>p{font-size:14px;line-height:1.65;color:#ababab;min-height:70px}
.fh-price{display:flex;flex-direction:column;gap:4px;padding:16px 0 23px;border-bottom:1px solid #ffffff10}.fh-price strong{font-size:42px;line-height:1.2;letter-spacing:-1px}.fh-plan-free .fh-price strong{color:#d2d2d2}.fh-price span{font-size:12px;color:#9d9d9d}
.fh-plan ul{display:grid;gap:12px;list-style:none;padding:24px 0;margin:0 0 6px;font-size:14px;color:#b4b4b4}.fh-plan li b{color:#eaeaea;font-weight:600}.fh-plan .fh-button{width:100%;font-size:16px;gap:12px;padding:13px 15px;min-height:48px;margin-top:auto;border-radius:9px}.fh-fineprint{font-size:12px;text-align:center;color:#8f8f8f;line-height:1.7;margin:20px auto 0!important}.fh-unavailable{font-size:12px;color:#c1c1c1;margin-top:12px}
.fh-guide{scroll-margin-top:120px;border-top:1px solid #ffffff12}.fh-home .panel-tour{padding:75px 0 90px;gap:80px;grid-template-columns:1fr 1.1fr}.fh-home .tour-intro h2{font-size:49px}.fh-home .tour-intro>p{color:var(--fh-muted);font-size:16px}.fh-home .host-underline::after{display:none}.fh-home .host-underline{color:#bdbdbd}.fh-home .host-kicker{font-size:10px;letter-spacing:1.6px}.fh-home .tour-step-list{gap:2px}.fh-home .tour-step-list button{border-radius:10px;padding:14px}.fh-home .tour-player{border-radius:16px;border-color:#4c4c4c;box-shadow:0 30px 80px #00000044,0 0 60px #bdbdbd08;background:linear-gradient(145deg,#1f1f1f,#121212)}
.fh-world-section{position:relative;isolation:isolate;overflow:hidden;padding:100px 0 112px;--wave-fill:#090909;background:#131313}
.fh-world-art{position:absolute;inset:0;z-index:-1}.fh-world-art img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.fh-world-art::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0e0e0efa 5%,#0e0e0eec 30%,#0e0e0e80 63%,#0e0e0e30),linear-gradient(0deg,#090909 0%,transparent 30%,transparent 80%,#090909)}
.fh-world-copy h2{font-size:55px;max-width:600px}.fh-world-copy>p{max-width:480px;font-size:18px;line-height:1.8;color:#cbcbcb;margin-top:23px}.fh-world-notes{display:flex;gap:24px;margin:25px 0;color:#c5c5c5;font-size:14px}.fh-world-copy>small{display:block;max-width:420px;font-size:12px;color:#a4a4a4;margin-top:18px;line-height:1.7}.fh-world-section>.photo-wave{height:50px}
.fh-projects{padding:75px 0 80px}.fh-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.fh-project{border:1px solid #ffffff12;border-radius:16px;background:#151515;overflow:hidden;color:#f0f0f0;transition:border-color .2s,transform .2s}.fh-project:hover{border-color:#bdbdbd5c;transform:translateY(-4px)}.fh-project-art{position:relative;--wave-fill:#151515}.fh-project-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.fh-project-art .photo-wave{height:25px}.fh-project-copy{padding:7px 20px 24px}.fh-project-copy>span{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:600}.fh-project-copy svg{width:20px;height:20px;color:#bdbdbd}.fh-project-copy b{margin-left:auto;font-weight:400;color:#bdbdbd}.fh-project-copy p{font-size:13px;margin-top:10px;color:#ababab;line-height:1.7}
.fh-faq{display:grid;grid-template-columns:1fr 1.45fr;gap:70px;padding:40px 0 90px}.fh-faq>div>p{font-size:16px;color:var(--fh-muted);margin-top:20px}.fh-faq details{border-bottom:1px solid #ffffff17}.fh-faq details:first-child{border-top:1px solid #ffffff17}.fh-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18px;font-weight:600;cursor:pointer;list-style:none}.fh-faq summary::-webkit-details-marker{display:none}.fh-faq summary span{color:#bdbdbd;font-size:23px}.fh-faq details[open] summary span{transform:rotate(45deg)}.fh-faq details>p{font-size:15px;line-height:1.9;color:#b2b2b2;padding:0 24px 22px 0}
.fh-finish{text-align:center;border-top:1px solid #bdbdbd27;padding:67px 30px 80px;background:radial-gradient(ellipse at 50% 0,#bdbdbd12,transparent 72%)}.fh-finish h2{max-width:700px;margin:auto}.fh-finish p{color:var(--fh-muted);font-size:17px;margin-top:18px}
.fh-home .fh-benefits h2{font-size:25px;letter-spacing:-.4px}
@media(min-width:1700px){.fh-hero{padding-top:205px;padding-bottom:115px}.fh-scenery img{object-fit:contain;object-position:65% 50%;transform:scale(1.1)}}
@media(max-width:1100px){.fh-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-plan>p{min-height:45px}.fh-home .panel-tour{gap:35px}.fh-benefits{gap:30px}.fh-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-faq{gap:35px}.fh-hero{padding-top:180px}}
@media(max-width:800px){.fh-hero{padding-top:170px;padding-bottom:75px}.fh-hero h1{font-size:72px}.fh-hero p{font-size:18px}.fh-scenery img{object-position:65% center}.fh-wrap{width:calc(100% - 40px)}.fh-benefits{gap:23px;padding:35px 0 50px}.fh-benefits p{font-size:14px}.fh-home .fh-benefits h2{font-size:23px}.fh-home h2{font-size:37px}.fh-plans{padding-top:60px}.fh-home .panel-tour{grid-template-columns:1fr;padding:55px 0 65px}.fh-home .tour-intro h2{font-size:41px}.fh-home .tour-intro>p{max-width:none}.fh-home .tour-step-list button{padding:13px}.fh-home .tour-player{max-width:none}.fh-world-section{padding:70px 0 90px}.fh-world-art::after{background:linear-gradient(90deg,#0e0e0eed,#0e0e0eb0),linear-gradient(0deg,#090909,transparent 50%,#09090944)}.fh-world-copy h2{font-size:47px}.fh-faq{grid-template-columns:1fr;gap:25px;padding-bottom:65px}.fh-faq h2 br{display:none}.fh-projects{padding:60px 0}.fh-finish{padding:50px 15px 65px}}
@media(max-width:540px){.fh-hero{margin-top:-140px;padding:190px 18px 70px}.fh-hero h1{font-size:60px;letter-spacing:-1.8px;line-height:1.02;margin:24px 0}.fh-hero p{font-size:17px;max-width:340px;margin:auto}.fh-hero p br{display:none}.fh-badge{font-size:9px;letter-spacing:1.2px}.fh-actions{gap:10px;margin-top:24px}.fh-home .fh-button{font-size:16px;padding:15px 18px;min-height:52px;gap:15px}.fh-hero .fh-actions{flex-direction:column}.fh-hero .fh-button{width:100%;max-width:310px}.fh-assurances{font-size:10px;gap:12px}.fh-specs{margin-top:30px;padding:18px 4px;border-radius:12px}.fh-specs strong{font-size:27px}.fh-specs strong small{font-size:15px}.fh-specs>div>span{font-size:7px;letter-spacing:.5px}.fh-hero>.photo-wave{height:35px}.fh-wrap{width:calc(100% - 36px)}.fh-benefits{grid-template-columns:1fr;gap:26px;padding:20px 0 43px}.fh-benefits article{display:grid;grid-template-columns:40px 1fr;column-gap:16px}.fh-feature-icon{grid-row:1/3;margin:2px 0 0}.fh-benefits p{font-size:15px}.fh-home .fh-benefits h2{font-size:25px;margin-bottom:7px}.fh-home h2{font-size:34px}.fh-heading p{font-size:15px}.fh-heading{margin-bottom:28px}.fh-eyebrow{font-size:9px;letter-spacing:1.5px}.fh-plan-grid{grid-template-columns:1fr;gap:17px}.fh-plan{padding:25px}.fh-plan>p{min-height:0}.fh-plan ul{grid-template-columns:1fr 1fr;column-gap:12px;font-size:13px}.fh-price{padding-top:22px}.fh-plan .fh-button{min-height:48px}.fh-fineprint{font-size:11px}.fh-home .tour-intro h2{font-size:37px}.fh-home .tour-step-list{grid-template-columns:1fr}.fh-home .tour-intro .host-kicker{font-size:9px}.fh-world-copy h2{font-size:42px}.fh-world-copy>p{font-size:16px}.fh-world-notes{gap:14px;font-size:11px;flex-wrap:wrap}.fh-project-grid{gap:13px}.fh-project-copy{padding:4px 13px 19px}.fh-project-copy>span{font-size:18px;gap:5px}.fh-project-copy svg{width:16px;height:16px}.fh-project-copy p{font-size:12px}.fh-project-art .photo-wave{height:20px}.fh-faq summary{font-size:17px}.fh-finish .fh-actions{flex-direction:column}.fh-finish .fh-button{width:100%;max-width:320px}.fh-welcome{font-size:12px;gap:12px}.fh-welcome strong{overflow-wrap:anywhere}}
@media(max-width:360px){.fh-hero h1{font-size:53px}.fh-plan ul{grid-template-columns:1fr}.fh-project-grid{grid-template-columns:1fr}.fh-assurances{gap:8px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.fh-home *{scroll-behavior:auto!important;transition:none!important}}
/* A single Linux-first landing hero keeps the store and home hierarchy aligned. */
.fh-home .fh-hero{background:#0d1110;padding-bottom:82px}
.fh-home .fh-linux-scenery{background:radial-gradient(ellipse at 50% 55%,#28483b 0%,#172721 30%,#0b100e 70%)}
.fh-home .fh-linux-scenery::after{background:linear-gradient(180deg,#080c0a99,#080c0a55 42%,#090909 100%)}
.fh-linux-orb{position:absolute;left:50%;top:7%;width:min(75vw,850px);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#77c39b38 0%,#245c4055 35%,transparent 69%);filter:blur(22px)}
.fh-linux-terminal{position:absolute;top:20%;left:50%;width:min(540px,80vw);height:300px;transform:translateX(-50%) rotate(-6deg);padding:18px 24px;text-align:left;background:#08100ded;border:1px solid #b5ecc057;border-radius:16px;box-shadow:0 25px 100px #000b;opacity:.38;font-family:ui-monospace,SFMono-Regular,monospace}
.fh-linux-terminal span{color:#bde3c9;font-size:12px}.fh-linux-terminal code{display:block;color:#a0ddb3;font-size:16px;line-height:2;margin-top:35px}
.fh-home .fh-hero-inner{position:relative;z-index:1}
.fh-home .fh-badge{border-color:#94d5a266;color:#d8f3df}.fh-home .fh-badge i{background:#a0e7b0}
.fh-home .fh-hero h1 em{color:#b9edc8}
.fh-home .fh-specs{border-color:#a1d7ae49;background:#0a1712c9}
@media(max-width:540px){.fh-linux-terminal{top:30%;height:250px;opacity:.26}.fh-home .fh-hero{padding-bottom:67px}}
.fh-linux-terminal{opacity:.13}
@media(max-width:540px){.fh-linux-terminal{opacity:.08}}
