/* Layout contract: desktop >1024, tablet 641–1024, mobile <=640. */
.hero-copy,.hero-visual,.section-heading>div,.connection-copy,.feature-copy,.faq-layout>div { min-width:0; }
.button { max-width:100%; }
.mobile-nav[hidden] { display:none; }
.mobile-nav { max-height:calc(100dvh - 78px); overflow-y:auto; overscroll-behavior:contain; }
.menu-toggle { min-width:44px; min-height:44px; }
.menu-toggle[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }
.menu-toggle span { transition:transform .2s; }
.table-scroll { max-width:100%; overscroll-behavior-x:contain; }
.footer-info a { overflow-wrap:anywhere; }
@media(min-width:1600px) {
  .container { max-width:1456px; padding-left:64px; padding-right:64px; }
  .hero-inner { min-height:800px; gap:55px; }
  .hero h1 { font-size:72px; }
  .hero-copy>p { font-size:22px; }
  .hero-visual { transform:translateX(0); }
}
@media(max-width:1200px) {
  .container { padding-left:40px; padding-right:40px; }
  .nav-wrap { padding-left:32px; padding-right:32px; gap:20px; }
  .desktop-nav { gap:18px; font-size:15px; }
  .business-link { display:none; }
  .hero-inner { gap:25px; }
  .hero-visual { transform:none; }
  .feature-panel { padding:38px; gap:32px; }
  .feature-tabs { gap:17px; }
  .connection-layout { gap:52px; }
  .market-grid { gap:12px; }
  .market-grid>div { height:118px; }
  .plan { padding:35px; }
}
@media(max-width:1024px) {
  html { scroll-padding-top:96px; }
  .desktop-nav { display:none; }
  .menu-toggle { display:block; }
  .nav-wrap { height:78px; }
  .nav-actions { gap:12px; }
  .mobile-nav { padding:12px 32px 25px; background:#0c172be8; }
  .mobile-nav a { padding:14px 0; border-bottom:1px solid #ffffff12; }
  .hero-inner { grid-template-columns:1fr; text-align:center; padding-top:64px; padding-bottom:64px; gap:44px; min-height:0; }
  .hero-copy { max-width:760px; margin:auto; }
  .hero-copy .eyebrow,.hero-actions,.hero-tags { justify-content:center; }
  .hero h1 { font-size:clamp(48px,6.8vw,64px); }
  .hero-copy>p { font-size:20px; }
  .hero-tags { margin-left:auto; margin-right:auto; }
  .hero-visual { width:min(620px,100%); margin:0 auto; text-align:left; padding-bottom:48px; }
  .hero-motion video { object-position:50% 25%; }
  .hero-motion { opacity:.24; }
  .dashboard { transform:perspective(1500px) rotateY(-4deg) rotateZ(1deg); }
  .section { padding-top:88px; padding-bottom:88px; }
  .section-heading { gap:28px; margin-bottom:42px; }
  .section-heading>p { max-width:285px; font-size:18px; }
  .feature-tabs { gap:15px; }
  .feature-tabs button>span { font-size:16px; }
  .feature-tabs button { gap:8px; padding-bottom:18px; }
  .feature-panel { grid-template-columns:1fr; padding:42px; gap:36px; }
  .feature-copy { max-width:680px; }
  .feature-demo { max-width:620px; width:100%; justify-self:center; }
  .workflow-section { padding-top:85px; }
  .workflow-section h2 { font-size:40px; }
  .flow-number { font-size:78px; }
  .workflow h3 { font-size:20px; }
  .workflow li:after { right:18px; }
  .workflow-note { flex-wrap:wrap; gap:20px; }
  .connection-layout { grid-template-columns:.9fr 1.1fr; gap:35px; }
  .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .market-grid>div { height:110px; }
  .plans { gap:22px; }
  .plan { padding:30px; }
  .plan h3 { font-size:32px; }
  .faq-layout { grid-template-columns:1fr; gap:40px; }
  .faq-layout h2 br { display:none; }
  .contact-section .container { padding-top:76px; padding-bottom:76px; }
  .contact-copy h2 { font-size:46px; }
  .contact-art { right:-80px; opacity:.25; }
  .footer-top { flex-wrap:wrap; gap:30px; }
  .footer-links { flex-wrap:wrap; row-gap:20px; }
}
@media(max-width:760px) {
  .container { padding-left:28px; padding-right:28px; }
  .section-heading { display:block; }
  .section-heading>p { max-width:none; margin-top:24px; }
  .section-heading>button { margin-top:25px; }
  .workflow-section .section-heading { display:flex; align-items:flex-start; }
  .workflow-section h2 { font-size:34px; }
  .workflow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow li:after { right:35px; }
  .workflow p { max-width:none; }
  .connection-layout { grid-template-columns:1fr; gap:30px; }
  .connection-switch { flex-direction:row; gap:20px; }
  .connection-switch button { flex:1; font-size:18px; }
  .market-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .plans { grid-template-columns:1fr; gap:22px; }
  .plan { padding:36px; }
  .plan h3 { font-size:36px; }
  .plan>p { font-size:18px; }
  .plan ul { font-size:17px; }
  .service-strip .container { flex-wrap:wrap; gap:8px 20px; }
  .service-strip .container>span { flex-basis:100%; }
}
@media(max-width:640px) {
  html { scroll-padding-top:88px; }
  .container { padding-left:22px; padding-right:22px; }
  .preview-banner { font-size:9px; gap:6px; }
  .nav-wrap { height:70px; padding:0 18px; gap:10px; }
  .brand { font-size:20px; gap:6px; }
  .brand small { font-size:6px; letter-spacing:2.8px; }
  .nav-actions { gap:4px; }
  .nav-actions .button { min-height:40px; font-size:13px; padding:0 14px; gap:9px; }
  .menu-toggle { padding:7px 3px; }
  .mobile-nav { padding:8px 22px 22px; }
  .mobile-nav a { font-size:18px; }
  .hero-inner { padding-top:48px; padding-bottom:54px; gap:36px; }
  .hero h1 { font-size:clamp(32px,9.6vw,46px); line-height:1.25; }
  .hero-copy .eyebrow { margin-bottom:26px; font-size:10px; }
  .hero-copy>p { font-size:16px; margin-top:25px; line-height:1.8; }
  .hero-actions { gap:18px; margin-top:27px; }
  .hero-actions .button { min-height:52px; font-size:15px; padding:0 19px; }
  .hero-actions .text-button { font-size:13px; }
  .hero-tags { gap:8px 12px; font-size:11px; margin-top:26px; padding-top:21px; }
  .hero-visual { padding-top:25px; padding-bottom:38px; width:100%; }
  .dashboard { transform:rotate(1deg); border-width:3px; border-radius:11px; }
  .dash-top { height:38px; }
  .dash-content { padding:12px; }
  .dash-chart { padding:9px 9px 6px; }
  .floating-note { padding:12px 14px; bottom:5px; left:-2px; border-radius:9px; }
  .floating-note b { font-size:12px; }
  .floating-note div>span { font-size:9px; }
  .visual-caption { bottom:-13px; font-size:8px; }
  .hero-bottom { height:54px; font-size:7px; padding-top:0; padding-bottom:0; }
  .hero-bottom a { font-size:7px; gap:8px; }
  .service-strip .container { min-height:100px; gap:7px 16px; padding-top:20px; padding-bottom:20px; }
  .service-strip .container>span { font-size:14px; }
  .service-strip strong { font-size:24px; }
  .service-strip a { font-size:12px; gap:10px; }
  .section { padding-top:72px; padding-bottom:72px; }
  .section-heading { margin-bottom:32px; }
  h2,.faq-layout h2 { font-size:34px; line-height:1.25; }
  .eyebrow { font-size:10px; letter-spacing:1.5px; }
  .section-heading>p { font-size:16px; margin-top:21px; }
  .feature-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 16px; margin-bottom:27px; }
  .feature-tabs button { padding:14px 0; gap:8px; font-size:10px; }
  .feature-tabs button>span { font-size:15px; }
  .feature-panel { padding:27px 20px; border-radius:14px; gap:30px; }
  .feature-copy h3 { font-size:29px; }
  .feature-copy>p { font-size:16px; }
  .feature-copy ul { font-size:14px; }
  .demo-toolbar { padding:15px; }
  .demo-rows>div { padding-top:13px; padding-bottom:13px; }
  .workflow-section { padding-top:72px; }
  .workflow-section .section-heading { display:block; }
  .workflow-section h2 { font-size:31px; }
  .flow-number { font-size:38px; }
  .workflow { margin-top:35px; }
  .workflow li { padding-top:22px; padding-bottom:26px; }
  .workflow li>span { width:28px; height:28px; font-size:11px; }
  .workflow h3 { margin-top:16px; font-size:20px; }
  .workflow p { font-size:13px; }
  .workflow li:after { top:24px; right:23px; }
  .workflow-note { padding-top:28px; padding-bottom:30px; gap:17px; }
  .workflow-note p,.workflow-note>a { font-size:13px; }
  .connection-switch { gap:12px; }
  .connection-switch button { font-size:15px; padding:13px 0; }
  .connection-switch button.active span { width:auto; height:auto; background:none; font-size:17px; }
  .connection-description { font-size:16px; }
  .market-grid { gap:9px; }
  .market-grid>div { height:88px; border-radius:9px; }
  .market-grid>div>span { font-size:10px; }
  .plan { padding:29px 26px 26px; border-radius:15px; }
  .plan-top { padding-bottom:22px; margin-bottom:24px; }
  .plan h3 { font-size:32px; }
  .plan>p { font-size:16px; }
  .plan ul { font-size:15px; }
  .plan-art { font-size:235px; right:-14px; top:155px; }
  .plan .button { font-size:16px; min-height:54px; padding:0 21px; }
  .faq-layout { gap:29px; }
  .faq-layout h2 br { display:initial; }
  .faq-list details { padding-top:22px; padding-bottom:22px; }
  .faq-list summary { font-size:16px; gap:12px; }
  .faq-list p { font-size:15px; }
  .contact-section .container { padding-top:64px; padding-bottom:64px; }
  .contact-copy h2 { font-size:36px; }
  .contact-copy>p:not(.eyebrow) { font-size:16px; }
  .contact-copy>div { flex-wrap:wrap; gap:24px; }
  .contact-copy .button { font-size:15px; padding:0 21px; }
  .contact-art { transform:rotate(-24deg) scale(.9); opacity:.17; right:-115px; top:76px; }
  .footer-top { padding-top:38px; padding-bottom:28px; gap:25px; }
  .footer-info { padding:27px 0; }
  .footer-bottom { flex-wrap:wrap; gap:8px; padding:20px 0; }
  dialog { width:calc(100% - 28px); padding:23px 18px; max-height:calc(100dvh - 30px); border-radius:14px; }
  .table-scroll table { min-width:0; table-layout:fixed; font-size:13px; }
  .table-scroll th:first-child { width:50%; }
  .table-scroll th,.table-scroll td { padding:12px 7px; overflow-wrap:anywhere; }
}
@media(max-width:360px) {
  .nav-wrap { padding-left:13px; padding-right:10px; gap:7px; }
  .brand { font-size:18px; }
  .brand small { font-size:5px; letter-spacing:2.6px; }
  .nav-actions .button { font-size:12px; padding:0 11px; gap:6px; }
  .hero-actions { flex-direction:column; gap:19px; }
  .hero-actions .button { min-width:190px; }
  .hero-tags { gap:7px 11px; max-width:250px; }
  .feature-tabs button>span { font-size:14px; }
  .feature-panel { padding:25px 16px; }
  .feature-copy h3 { font-size:27px; }
  .connection-switch button { font-size:14px; }
  .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .plan { padding:26px 22px; }
  .plan h3 { font-size:29px; }
  .plan-note { font-size:11px; }
  .contact-copy h2 { font-size:32px; }
}
@media(hover:none) { .button:hover,.market-grid>div:hover { transform:none; } }
