/* Ourbit FA 18.0 — Full-HD desktop + fluid mobile correction
   Loaded after app.css and mobile.css. This file intentionally contains only
   viewport-specific overrides so the core visual language stays unchanged. */

/* ---------- Full HD desktop target: 1920×1080 ---------- */
@media (min-width:1700px) and (min-height:900px){
  body.is-desktop-layout{
    --container:min(1600px,calc(100vw - 128px));
    --header-h:82px;
  }
  body.is-desktop-layout .site-header{
    height:82px;
    padding-inline:max(54px,calc((100vw - 1600px)/2));
    gap:42px;
  }
  body.is-desktop-layout .site-header.is-scrolled{height:68px}
  body.is-desktop-layout .independent-strip{top:82px;min-height:30px;font-size:10.5px}
  body.is-desktop-layout:has(.site-header.is-scrolled) .independent-strip{top:68px}
  body.is-desktop-layout #app{padding-top:82px}
  body.is-desktop-layout .desktop-nav{gap:7px}
  body.is-desktop-layout .desktop-nav a{padding:10px 13px;font-size:13.5px}
  body.is-desktop-layout .brand__mark{width:37px;height:37px}
  body.is-desktop-layout .brand__en{font-size:22px}
  body.is-desktop-layout .brand__fa{font-size:17px}

  body.is-desktop-layout .hero{min-height:calc(100svh - 82px);padding-top:30px}
  body.is-desktop-layout .hero__inner{
    width:var(--container);
    grid-template-columns:minmax(0,780px) minmax(480px,1fr);
    gap:86px;
    padding:64px 0 50px;
  }
  body.is-desktop-layout .hero__copy{max-width:780px}
  body.is-desktop-layout .hero__tag{font-size:11px;padding:8px 13px}
  body.is-desktop-layout .hero h1{font-size:clamp(78px,5.65vw,110px);line-height:.96;margin:24px 0 20px}
  body.is-desktop-layout .hero__desc{max-width:720px;font-size:18px;line-height:2}
  body.is-desktop-layout .independent-note{max-width:700px;margin-top:14px;padding:11px 14px}
  body.is-desktop-layout .hero__actions{margin-top:26px}
  body.is-desktop-layout .hero__proof{max-width:700px;margin-top:28px;padding-top:18px;gap:34px}
  body.is-desktop-layout .hero__proof b{font-size:17px}
  body.is-desktop-layout .hero__instrument{width:min(100%,510px)}
  body.is-desktop-layout .instrument{padding:20px;border-radius:32px}
  body.is-desktop-layout .instrument__price{padding:22px}
  body.is-desktop-layout .instrument__price h3{font-size:48px}
  body.is-desktop-layout .mini-chart{height:132px}
  body.is-desktop-layout .instrument__metric{padding:13px}

  body.is-desktop-layout .section{padding:112px 0}
  body.is-desktop-layout .section--tight{padding:78px 0}
  body.is-desktop-layout .section-head{grid-template-columns:minmax(0,1fr) minmax(380px,560px);gap:58px;margin-bottom:52px}
  body.is-desktop-layout .section-title{font-size:clamp(42px,3vw,60px)}
  body.is-desktop-layout .lead{font-size:18px;line-height:2}
  body.is-desktop-layout .knowledge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  body.is-desktop-layout .knowledge-card{min-height:345px;padding:29px}
  body.is-desktop-layout .story-grid{gap:22px}
  body.is-desktop-layout .product-stage{grid-template-columns:320px minmax(0,1fr);gap:54px}
  body.is-desktop-layout .market-layout{grid-template-columns:minmax(0,1.52fr) minmax(340px,.48fr);gap:20px}
  body.is-desktop-layout .big-chart{height:500px}
  body.is-desktop-layout .news-layout{grid-template-columns:290px minmax(0,1fr);gap:34px}
  body.is-desktop-layout .assistant-page{grid-template-columns:360px minmax(0,1fr);min-height:740px}
  body.is-desktop-layout .assistant-main .chat-messages{max-height:650px}
  body.is-desktop-layout .page-hero{padding:92px 0 52px}
  body.is-desktop-layout .page-hero__grid{grid-template-columns:minmax(0,1fr) minmax(340px,500px);gap:72px}
  body.is-desktop-layout .page-hero h1{font-size:clamp(64px,5.1vw,98px)}
}

/* Desktop/laptop widths stay in desktop mode. Improve density without changing identity. */
@media (min-width:1121px) and (max-width:1699px){
  body.is-desktop-layout{--container:min(1440px,calc(100vw - 64px))}
}

/* ---------- Touch tablet / very large phone ---------- */
@media (min-width:768px) and (max-width:1024px) and (hover:none) and (pointer:coarse){
  body.is-mobile-layout{--container:calc(100% - 48px);--mobile-dock-h:78px}
  body.is-mobile-layout .site-header{padding-inline:22px}
  body.is-mobile-layout .hero__inner{gap:30px;padding:34px 0 52px}
  body.is-mobile-layout .hero h1{font-size:clamp(50px,7.2vw,68px);max-width:760px}
  body.is-mobile-layout .hero__desc{font-size:15px;max-width:690px}
  body.is-mobile-layout .hero__actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}
  body.is-mobile-layout .hero__proof{max-width:620px}
  body.is-mobile-layout .hero__instrument{max-width:680px;margin-inline:auto}
  body.is-mobile-layout .knowledge-grid,
  body.is-mobile-layout .knowledge-new-grid,
  body.is-mobile-layout .academy-grid,
  body.is-mobile-layout .cards-2,
  body.is-mobile-layout .cards-3,
  body.is-mobile-layout .tools-grid,
  body.is-mobile-layout .about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.is-mobile-layout .story-card,body.is-mobile-layout .story-card--tall{min-height:350px}
  body.is-mobile-layout .product-card{min-height:330px}
  body.is-mobile-layout .market-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.is-mobile-layout .page-hero h1{font-size:clamp(48px,7vw,65px)}
  body.is-mobile-layout .article-hero h1{font-size:clamp(48px,7vw,64px)}
  body.is-mobile-layout .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.is-mobile-layout .footer-brand,body.is-mobile-layout .footer-legal{grid-column:1/-1}
}

/* ---------- Large phones: 480–767 ---------- */
@media (min-width:480px) and (max-width:767px){
  body.is-mobile-layout{--container:calc(100% - 36px)}
  body.is-mobile-layout .site-header{padding-inline:18px}
  body.is-mobile-layout .hero__inner{padding:30px 0 46px;gap:28px}
  body.is-mobile-layout .hero h1{font-size:clamp(44px,9.4vw,56px);line-height:1.2}
  body.is-mobile-layout .hero__desc{font-size:14.5px;line-height:2.05}
  body.is-mobile-layout .hero__actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.is-mobile-layout .hero__proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  body.is-mobile-layout .instrument{padding:15px}
  body.is-mobile-layout .instrument__price{padding:19px}
  body.is-mobile-layout .mini-chart{height:108px}
  body.is-mobile-layout .section{padding:64px 0}
  body.is-mobile-layout .section-title{font-size:clamp(34px,7.7vw,44px)}
  body.is-mobile-layout .knowledge-card{padding:24px}
  body.is-mobile-layout .knowledge-card h3{font-size:22px}
  body.is-mobile-layout .story-card h3{font-size:32px}
  body.is-mobile-layout .page-hero h1{font-size:clamp(41px,9vw,54px)}
  body.is-mobile-layout .modal__body{padding-inline:22px}
}

/* ---------- Standard phones: 400–479 ---------- */
@media (min-width:400px) and (max-width:479px){
  body.is-mobile-layout{--container:calc(100% - 24px)}
  body.is-mobile-layout .hero__inner{padding:26px 0 42px;gap:24px}
  body.is-mobile-layout .hero h1{font-size:clamp(38px,10vw,46px);line-height:1.22}
  body.is-mobile-layout .hero__desc{font-size:13.5px}
  body.is-mobile-layout .hero__proof{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.is-mobile-layout .instrument__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.is-mobile-layout .section{padding:58px 0}
  body.is-mobile-layout .page-hero h1{font-size:clamp(37px,10vw,47px)}
  body.is-mobile-layout .article-hero h1{font-size:clamp(38px,10vw,48px)}
}

/* ---------- Compact phones: 360–399 ---------- */
@media (min-width:360px) and (max-width:399px){
  body.is-mobile-layout{--container:calc(100% - 20px)}
  body.is-mobile-layout .brand__independent{display:none}
  body.is-mobile-layout .hero__inner{padding:22px 0 38px;gap:21px}
  body.is-mobile-layout .hero h1{font-size:clamp(34px,9.6vw,39px);line-height:1.26;margin:16px 0 12px}
  body.is-mobile-layout .hero__tag{font-size:8px}
  body.is-mobile-layout .hero__desc{font-size:13px;line-height:2}
  body.is-mobile-layout .independent-note{font-size:9.5px}
  body.is-mobile-layout .hero__proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.is-mobile-layout .hero__proof div:last-child{grid-column:1/-1}
  body.is-mobile-layout .instrument__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.is-mobile-layout .instrument__metric:nth-child(3){grid-column:1/-1}
  body.is-mobile-layout .section-title{font-size:clamp(29px,8.5vw,36px)}
  body.is-mobile-layout .story-card h3{font-size:27px}
  body.is-mobile-layout .product-card h3{font-size:35px}
  body.is-mobile-layout .page-hero h1{font-size:clamp(34px,9.5vw,40px)}
  body.is-mobile-layout .article-hero h1{font-size:clamp(35px,9.5vw,42px)}
  body.is-mobile-layout .footer-grid{grid-template-columns:1fr}
  body.is-mobile-layout .footer-brand,body.is-mobile-layout .footer-legal{grid-column:auto}
}

/* ---------- Small phones: <=359 ---------- */
@media (max-width:359px){
  body.is-mobile-layout{--container:calc(100% - 16px);--mobile-dock-h:70px}
  body.is-mobile-layout #app{padding-top:90px}
  body.is-mobile-layout .site-header{height:60px;padding-inline:9px}
  body.is-mobile-layout .site-header.is-scrolled{height:56px}
  body.is-mobile-layout .brand__mark{width:28px;height:28px}
  body.is-mobile-layout .brand__en{font-size:16px}
  body.is-mobile-layout .brand__independent{display:none}
  body.is-mobile-layout .menu-btn{width:38px;height:38px}
  body.is-mobile-layout .independent-strip{top:60px;height:30px;min-height:30px;font-size:7.7px;padding-inline:8px}
  body.is-mobile-layout:has(.site-header.is-scrolled) .independent-strip{top:56px}
  body.is-mobile-layout .hero__inner{padding:20px 0 34px;gap:18px}
  body.is-mobile-layout .hero h1{font-size:31px;line-height:1.28;margin:15px 0 11px}
  body.is-mobile-layout .hero__tag{font-size:7.4px;padding:6px 8px}
  body.is-mobile-layout .hero__desc{font-size:12.3px;line-height:1.95}
  body.is-mobile-layout .independent-note{padding:10px;font-size:9px;line-height:1.85}
  body.is-mobile-layout .hero__actions{margin-top:17px}
  body.is-mobile-layout .hero__proof{grid-template-columns:1fr 1fr;margin-top:17px}
  body.is-mobile-layout .hero__proof div:last-child{grid-column:1/-1}
  body.is-mobile-layout .instrument{padding:10px;border-radius:18px}
  body.is-mobile-layout .instrument__price{padding:13px}
  body.is-mobile-layout .instrument__price h3{font-size:29px}
  body.is-mobile-layout .instrument__grid{grid-template-columns:1fr 1fr}
  body.is-mobile-layout .instrument__metric:nth-child(3){grid-column:1/-1}
  body.is-mobile-layout .mobile-dock{right:5px;left:5px;height:60px;border-radius:17px}
  body.is-mobile-layout .mobile-dock a{font-size:7px}
  body.is-mobile-layout .mobile-dock svg{width:17px;height:17px}
  body.is-mobile-layout .section{padding:50px 0}
  body.is-mobile-layout .section--tight{padding:36px 0}
  body.is-mobile-layout .section-title{font-size:28px}
  body.is-mobile-layout .lead{font-size:12.5px}
  body.is-mobile-layout .knowledge-card{padding:18px}
  body.is-mobile-layout .knowledge-card h3{font-size:18px;margin-left:32px}
  body.is-mobile-layout .story-card,body.is-mobile-layout .story-card--tall{padding:19px;min-height:360px}
  body.is-mobile-layout .story-card h3{font-size:25px}
  body.is-mobile-layout .product-card{padding:19px;min-height:340px}
  body.is-mobile-layout .product-card h3{font-size:32px}
  body.is-mobile-layout .page-hero h1{font-size:32px}
  body.is-mobile-layout .page-hero p{font-size:12.5px}
  body.is-mobile-layout .article-hero h1{font-size:33px}
  body.is-mobile-layout .article-section h2{font-size:24px}
  body.is-mobile-layout .article-section p{font-size:13px}
  body.is-mobile-layout .modal__body{padding-inline:12px}
  body.is-mobile-layout .footer-grid{grid-template-columns:1fr}
  body.is-mobile-layout .footer-brand,body.is-mobile-layout .footer-legal{grid-column:auto}
}

/* Mobile horizontal tables remain scroll containers rather than widening the page. */
@media (max-width:767px), (hover:none) and (pointer:coarse) and (max-width:1024px){
  body.is-mobile-layout .market-table-wrap,
  body.is-mobile-layout .coverage-ledger,
  body.is-mobile-layout .knowledge-filters,
  body.is-mobile-layout .news-filter-scroll,
  body.is-mobile-layout .product-nav{
    max-width:100%;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.is-mobile-layout .market-table-wrap{overflow-x:auto}
  body.is-mobile-layout img,body.is-mobile-layout canvas,body.is-mobile-layout svg{max-width:100%}
  body.is-mobile-layout input,body.is-mobile-layout select,body.is-mobile-layout textarea{max-width:100%}
}

/* Correct compact landscape on modern phones up to 1024 CSS pixels. */
@media (orientation:landscape) and (max-height:540px) and (hover:none) and (pointer:coarse) and (max-width:1024px){
  body.is-mobile-layout{--container:calc(100% - 28px)}
  body.is-mobile-layout #app{padding-left:60px}
  body.is-mobile-layout .hero__inner{padding:14px 0 48px;gap:16px}
  body.is-mobile-layout .hero h1{font-size:clamp(32px,5.4vw,46px);line-height:1.16}
  body.is-mobile-layout .hero__desc{font-size:11.5px;line-height:1.8}
  body.is-mobile-layout .hero .independent-note,body.is-mobile-layout .hero__proof{display:none}
  body.is-mobile-layout .hero__actions{grid-template-columns:1fr 1fr;margin-top:10px}
  body.is-mobile-layout .mobile-dock{top:82px;bottom:auto;left:6px;right:auto;width:48px;height:auto;transform:none;grid-template-columns:1fr;grid-template-rows:repeat(5,44px);padding:4px;border-radius:15px}
  body.is-mobile-layout .mobile-dock a span{display:none}
  body.is-mobile-layout .page{padding-bottom:54px}
  body.is-mobile-layout .page-hero{padding:20px 0 46px}
  body.is-mobile-layout .page-hero h1{font-size:clamp(30px,5.4vw,42px)}
}
