@@ -693,6 +693,24 @@ body::before {
693693 to { stroke-dashoffset : 0 ; }
694694}
695695
696+ /* Mobile Menu */
697+ .mobile-menu-btn {
698+ display : none ;
699+ }
700+
701+ .mobile-menu-overlay {
702+ display : none ;
703+ }
704+
705+ .mobile-menu {
706+ display : none ;
707+ }
708+
709+ .desktop-only {
710+ display : flex ;
711+ }
712+
713+ /* Tablet and below */
696714@media (max-width : 1024px ) {
697715 .hero {
698716 grid-template-columns : 1fr ;
@@ -709,6 +727,281 @@ body::before {
709727 .graph-column { width : 140px ; }
710728 .footer-content { flex-direction : column ; gap : 24px ; text-align : center ; }
711729 .footer-links { flex-wrap : wrap ; justify-content : center ; }
730+ .contact-content { grid-template-columns : 1fr ; }
731+ .contact-container { padding : 60px 24px ; }
732+ }
733+
734+ /* Tablet - show mobile menu button when nav is hidden */
735+ @media (max-width : 1024px ) {
736+ .mobile-menu-btn {
737+ display : flex ;
738+ }
739+
740+ .desktop-only {
741+ display : none !important ;
742+ }
743+
744+ .mobile-menu-overlay {
745+ display : block ;
746+ position : fixed ;
747+ top : 64px ;
748+ left : 0 ;
749+ right : 0 ;
750+ bottom : 0 ;
751+ background : rgba (0 , 0 , 0 , 0.5 );
752+ z-index : 200 ;
753+ backdrop-filter : blur (4px );
754+ }
755+
756+ .mobile-menu {
757+ display : flex ;
758+ flex-direction : column ;
759+ position : fixed ;
760+ top : 64px ;
761+ right : 0 ;
762+ width : 280px ;
763+ max-width : 85vw ;
764+ height : calc (100vh - 64px );
765+ background : var (--bg-primary );
766+ border-left : 1px solid var (--border );
767+ z-index : 201 ;
768+ padding : 24px ;
769+ gap : 8px ;
770+ animation : slideIn 0.2s ease ;
771+ }
772+
773+ @keyframes slideIn {
774+ from { transform : translateX (100% ); opacity : 0 ; }
775+ to { transform : translateX (0 ); opacity : 1 ; }
776+ }
777+
778+ .mobile-nav-link {
779+ display : flex ;
780+ align-items : center ;
781+ gap : 12px ;
782+ padding : 16px ;
783+ font-size : 15px ;
784+ color : var (--text-secondary );
785+ text-decoration : none ;
786+ border-radius : var (--radius );
787+ transition : all var (--transition );
788+ }
789+
790+ .mobile-nav-link :hover {
791+ background : var (--bg-hover );
792+ color : var (--text-primary );
793+ }
794+
795+ .mobile-menu-cta {
796+ margin-top : auto ;
797+ padding-top : 24px ;
798+ border-top : 1px solid var (--border );
799+ }
800+
801+ .mobile-menu-cta .btn {
802+ width : 100% ;
803+ justify-content : center ;
804+ }
805+ }
806+
807+ /* Mobile specific - smaller screens */
808+ @media (max-width : 768px ) {
809+ /* Hero adjustments */
810+ .hero {
811+ padding : 40px 16px ;
812+ gap : 32px ;
813+ }
814+
815+ .hero-title {
816+ font-size : 32px ;
817+ line-height : 1.2 ;
818+ }
819+
820+ .hero-subtitle {
821+ font-size : 15px ;
822+ }
823+
824+ .hero-form {
825+ gap : 12px ;
826+ }
827+
828+ .hero-form .input {
829+ min-width : unset ;
830+ width : 100% ;
831+ }
832+
833+ .hero-form .btn {
834+ width : 100% ;
835+ justify-content : center ;
836+ }
837+
838+ .hero-actions {
839+ flex-direction : column ;
840+ gap : 12px ;
841+ }
842+
843+ .hero-actions .btn {
844+ width : 100% ;
845+ justify-content : center ;
846+ }
847+
848+ .hero-stats {
849+ flex-direction : column ;
850+ gap : 16px ;
851+ }
852+
853+ .stat {
854+ padding : 16px 0 ;
855+ border-right : none ;
856+ border-bottom : 1px solid var (--border );
857+ }
858+
859+ .stat :last-child {
860+ border-bottom : none ;
861+ }
862+
863+ /* Code window */
864+ .code-window {
865+ font-size : 12px ;
866+ }
867+
868+ .code-content {
869+ padding : 16px ;
870+ overflow-x : auto ;
871+ }
872+
873+ /* Graph section - vertical layout on mobile */
874+ .graph-section {
875+ padding : 40px 16px ;
876+ }
877+
878+ .section-title {
879+ font-size : 28px ;
880+ }
881+
882+ .section-subtitle {
883+ font-size : 14px ;
884+ margin-bottom : 32px ;
885+ }
886+
887+ .graph-container {
888+ padding : 20px ;
889+ min-height : auto ;
890+ }
891+
892+ .graph-labels {
893+ flex-direction : column ;
894+ gap : 0 ;
895+ padding : 0 ;
896+ margin-bottom : 16px ;
897+ }
898+
899+ .graph-label {
900+ display : none ;
901+ }
902+
903+ .graph-content {
904+ flex-direction : column ;
905+ gap : 24px ;
906+ }
907+
908+ .graph-column {
909+ width : 100% ;
910+ }
911+
912+ .graph-column ::before {
913+ content : attr (data-label );
914+ display : block ;
915+ font-size : 11px ;
916+ font-weight : 600 ;
917+ color : var (--text-muted );
918+ text-transform : uppercase ;
919+ letter-spacing : 0.1em ;
920+ margin-bottom : 12px ;
921+ padding-left : 4px ;
922+ }
923+
924+ .graph-column.sources ::before { content : ' Raw Sources' ; }
925+ .graph-column.processors ::before { content : ' Processing' ; }
926+ .graph-column.tools ::before { content : ' MCP Tools' ; }
927+
928+ .graph-node {
929+ padding : 14px 16px ;
930+ font-size : 14px ;
931+ }
932+
933+ .graph-canvas {
934+ display : none ;
935+ }
936+
937+ .graph-footer {
938+ flex-direction : column ;
939+ gap : 12px ;
940+ margin-top : 20px ;
941+ padding-top : 16px ;
942+ }
943+
944+ .graph-progress {
945+ width : 100% ;
946+ }
947+
948+ /* Features */
949+ .features-section {
950+ padding : 40px 16px ;
951+ }
952+
953+ .feature-card {
954+ padding : 24px ;
955+ }
956+
957+ .feature-title {
958+ font-size : 16px ;
959+ }
960+
961+ .feature-desc {
962+ font-size : 13px ;
963+ }
964+
965+ /* Demo section */
966+ .demo-section {
967+ padding : 40px 16px ;
968+ }
969+
970+ .demo-form {
971+ gap : 12px ;
972+ }
973+
974+ .demo-form .input {
975+ min-width : unset ;
976+ }
977+
978+ .demo-form .btn {
979+ width : 100% ;
980+ justify-content : center ;
981+ }
982+
983+ /* Footer */
984+ .footer {
985+ padding : 32px 16px ;
986+ }
987+
988+ .footer-links {
989+ gap : 16px ;
990+ }
991+
992+ .footer-link {
993+ font-size : 13px ;
994+ }
995+
996+ /* Contact page */
997+ .contact-container {
998+ padding : 40px 16px ;
999+ }
1000+
1001+ .contact-info ,
1002+ .contact-form {
1003+ padding : 20px ;
1004+ }
7121005}
7131006
7141007/* Glass morphism utility classes (kept for contact page compatibility) */
@@ -853,12 +1146,3 @@ body::before {
8531146 min-height : 120px ;
8541147 resize : vertical ;
8551148}
856-
857- @media (max-width : 1024px ) {
858- .contact-content {
859- grid-template-columns : 1fr ;
860- }
861- .contact-container {
862- padding : 60px 24px ;
863- }
864- }
0 commit comments