/* 수지 AI·데이터 아카데미 design overrides (keep this loaded AFTER css/style.css) */ :root{ --ncue-bg: #0b1220; --ncue-surface: #0f1b33; --ncue-text: #0f172a; --ncue-muted: #64748b; --ncue-border: rgba(15, 23, 42, 0.10); --ncue-primary: #2563eb; /* modern blue */ --ncue-primary-2: #06b6d4; /* cyan accent */ --ncue-primary-dark: #1d4ed8; --ncue-radius: 14px; --ncue-shadow: 0 14px 40px rgba(2, 6, 23, 0.12); --ncue-shadow-sm: 0 8px 18px rgba(2, 6, 23, 0.10); } html, body{ font-family: ui-sans-serif, system-ui, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", Segoe UI, Roboto, Helvetica, Arial, sans-serif; color: var(--ncue-text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body{ background: radial-gradient(1100px 500px at 15% -10%, rgba(37,99,235,0.12), transparent 60%), radial-gradient(900px 460px at 90% 0%, rgba(6,182,212,0.12), transparent 55%), #f7f8fb; } /* Stronger global text contrast (template defaults are too light) */ p{ color: rgba(15, 23, 42, 0.88); font-weight: 600; } li{ color: rgba(15, 23, 42, 0.88); font-weight: 650; } label, input, textarea{ color: rgba(15, 23, 42, 0.92); } small, .muted, .text-muted{ color: rgba(15, 23, 42, 0.68) !important; } a{ color: var(--ncue-primary); } a:hover, a:focus{ color: var(--ncue-primary-dark); } /* Navbar */ .navbar-default{ background: rgba(255,255,255,0.92); border-color: rgba(15, 23, 42, 0.06); backdrop-filter: blur(8px); } .navbar-brand{ font-weight: 800; letter-spacing: -0.3px; text-transform: none; /* override template's uppercase for mixed KR/EN brand */ white-space: nowrap; /* prevent awkward line breaks */ } .navbar-brand span{ color: var(--ncue-primary) !important; } @media (max-width: 767px){ .navbar-brand{ font-size: 18px; } } .navbar .nav>li>a{ font-weight: 700; letter-spacing: -0.2px; } .navbar-default .navbar-nav>li>a, .navbar .nav>li>a{ /* Ensure readable nav text on the template's white navbar + mobile collapse */ color: rgba(15, 23, 42, 0.92) !important; } .navbar .nav>li>a:hover, .navbar .nav>li>a:focus{ color: var(--ncue-primary); } /* Active nav item: overwrite.css makes this white, which becomes invisible on white backgrounds */ .navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus, .navbar .nav>.active>a, .navbar .nav>.active>a:hover, .navbar .nav>.active>a:focus{ color: rgba(15, 23, 42, 0.96) !important; background: rgba(37, 99, 235, 0.10) !important; } @media (max-width: 767px){ /* Mobile collapse menu readability */ .navbar-default .navbar-collapse{ background: #ffffff; border-top: 1px solid rgba(15, 23, 42, 0.08); } .navbar-default .navbar-nav>li>a{ padding: 12px 16px; border-bottom: 1px solid rgba(15, 23, 42, 0.08); } .navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus{ background: rgba(37, 99, 235, 0.08); } } /* Buttons */ .btn, .btn:focus{ border-radius: 999px; box-shadow: none; } .btn-theme{ background: linear-gradient(135deg, var(--ncue-primary), var(--ncue-primary-2)); border: 0; font-weight: 800; letter-spacing: -0.2px; padding: 12px 18px; } .btn-theme:hover, .btn-theme:focus{ background: linear-gradient(135deg, var(--ncue-primary-dark), #0891b2); } .btn-default{ border-color: rgba(15, 23, 42, 0.12); font-weight: 800; color: #0f172a; } .btn-default:hover{ border-color: rgba(15, 23, 42, 0.18); background: #ffffff; } /* Headings */ h1,h2,h3,h4{ letter-spacing: -0.6px; color: #0b1220; } /* Mobile typography defaults: avoid awkward KR line breaks and restore breathing room */ @media (max-width: 767px){ h1,h2,h3,h4,h5,h6{ word-break: keep-all; overflow-wrap: normal; hyphens: none; } p, li{ /* Desktop can be bolder; mobile needs slightly lighter weight for readability */ font-weight: 600; } .container{ padding-left: 16px; padding-right: 16px; } .row,.row-fluid, .row .row,.row-fluid .row-fluid{ margin-bottom: 18px !important; } } /* Featured / slider: add cinematic overlay for better text contrast */ #featured{ position: relative; } /* Reduce excessive hero height + remove white gutters by cropping like a real hero banner */ #featured .flexslider{ margin: 24px 0 18px !important; } #featured #main-slider .slides img{ width: 100%; height: 440px; object-fit: cover; object-position: center; } @media (max-width: 991px){ #featured #main-slider .slides img{ height: 360px; } } @media (max-width: 767px){ /* Give a bit more vertical room for the caption card */ #featured #main-slider .slides img{ height: 320px; } } @media (max-width: 480px){ #featured #main-slider .slides img{ height: 300px; } } #featured:before{ content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(15,23,42,0.55), rgba(15,23,42,0.20)); pointer-events: none; /* Keep overlay BEHIND slider contents; otherwise caption text looks washed out */ z-index: 0; } #featured .flexslider{ position: relative; z-index: 1; } #featured .flex-caption{ z-index: 3 !important; background: rgba(2, 6, 23, 0.65) !important; border: 1px solid rgba(255,255,255,0.18) !important; backdrop-filter: blur(8px); border-radius: var(--ncue-radius); box-shadow: var(--ncue-shadow); } #featured .flex-caption h3{ color: #ffffff !important; text-shadow: 0 2px 10px rgba(0,0,0,0.45); } #featured .flex-caption p{ color: rgba(255,255,255,0.92) !important; text-shadow: 0 2px 10px rgba(0,0,0,0.35); } #featured img{ /* Keep subtle enhancement, but do not reduce clarity */ filter: saturate(1.02) contrast(1.02); } /* Slider polish on mobile: keep caption (template hides it), improve layout + navigation */ @media (max-width: 767px){ /* Hide direction arrows (hover-based) and rely on swipe + dots */ #featured .flex-direction-nav{ display: none; } /* Make caption a clean bottom card */ #featured .flexslider .flex-caption{ display: block !important; /* override template's small-screen 'display:none' */ left: 12px !important; right: 12px !important; bottom: 34px !important; /* reserve space for dots */ width: auto !important; padding: 14px 14px 12px !important; margin: 0 !important; text-align: left; } #featured .flex-caption h3{ text-transform: none !important; letter-spacing: -0.6px !important; font-size: 18px; line-height: 1.25; margin: 0 0 8px; word-break: keep-all; } #featured .flex-caption p{ font-size: 13px !important; line-height: 1.6; margin: 0 0 10px; word-break: keep-all; } #featured .flex-caption .btn{ display: inline-block; width: 100%; padding: 12px 14px; font-weight: 900; } /* Dots: keep visible and avoid overlapping the caption */ #featured .flex-control-nav{ bottom: 10px; z-index: 4; } #featured .flex-control-paging li a{ width: 9px; height: 9px; background: rgba(255,255,255,0.45); box-shadow: none; } #featured .flex-control-paging li a.flex-active{ background: rgba(255,255,255,0.92); } } @media (max-width: 480px){ #featured .flexslider .flex-caption{ left: 10px !important; right: 10px !important; bottom: 32px !important; padding: 12px 12px 10px !important; } #featured .flex-caption h3{ font-size: 17px; } } /* CTA block (override template's `section.callaction { padding:50px 0 0 0; }`) */ section.callaction{ padding-top: 22px; padding-bottom: 14px; } .big-cta{ position: relative; /* anchor :before background to this card */ border-radius: var(--ncue-radius); box-shadow: var(--ncue-shadow); border: 1px solid rgba(15,23,42,0.06); overflow: hidden; } .big-cta .cta-text{ padding: 22px 22px 18px; } .big-cta:before{ content:""; position:absolute; inset:0; background: radial-gradient(700px 320px at 20% 0%, rgba(37,99,235,0.16), transparent 55%), radial-gradient(700px 320px at 85% 20%, rgba(6,182,212,0.14), transparent 55%), #ffffff; z-index: 0; } .big-cta .cta-text{ position: relative; z-index: 1; } /* Home-only: extend the BLUE/WHITE card background below the buttons (not the gray section background) */ section.callaction.callaction-home{ /* Reduce the gray area under the CTA (half-ish) */ padding-bottom: 12px; } section.callaction.callaction-home .big-cta{ padding-bottom: 20px; } /* The template adds `.row { margin-bottom: 30px; }` globally, which inflates the gray band. Remove it only for the home CTA section. */ section.callaction.callaction-home .row{ margin-bottom: 0 !important; } /* Home CTA: mobile-friendly spacing, typography, and button layout */ @media (max-width: 767px){ section.callaction.callaction-home{ padding-top: 16px; padding-bottom: 10px; } section.callaction.callaction-home .big-cta{ margin-top: 8px; padding-bottom: 14px; } section.callaction.callaction-home .big-cta .cta-text{ padding: 18px 16px 14px; } section.callaction.callaction-home .big-cta .cta-text h2{ margin: 0 0 10px; font-size: 28px; line-height: 1.18; letter-spacing: -0.8px; text-align: center; } section.callaction.callaction-home .big-cta .cta-text p{ margin: 10px 0 0; line-height: 1.7; text-align: left; color: rgba(15, 23, 42, 0.86); } section.callaction.callaction-home .big-cta .cta-text p:last-of-type{ margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; } section.callaction.callaction-home .big-cta .cta-text p:last-of-type .btn{ flex: 1 1 140px; max-width: 220px; padding: 12px 14px; font-weight: 900; } } /* Cards / boxes */ .box{ border-radius: var(--ncue-radius); overflow: hidden; box-shadow: var(--ncue-shadow-sm); border: 1px solid rgba(15,23,42,0.06); background: #ffffff; } .box .box-gray p, .box p{ color: rgba(15, 23, 42, 0.88) !important; font-weight: 650; } .box .box-gray{ background: linear-gradient(180deg, #ffffff, #fbfcff) !important; } .box .box-gray h4{ margin-top: 0; } .box .icon i{ color: var(--ncue-primary); } .box-bottom{ background: #ffffff !important; border-top: 1px solid rgba(15,23,42,0.06); } .box:hover{ transform: translateY(-3px); transition: transform 160ms ease, box-shadow 160ms ease; box-shadow: var(--ncue-shadow); } @media (max-width: 767px){ /* Mobile cards: a bit more padding + clearer tap targets */ #content{ padding: 28px 0 24px; } .box .box-gray{ padding: 18px 16px 16px !important; } .box .box-gray h4{ margin-bottom: 12px; line-height: 1.25; text-align: center; } .box .icon{ margin-bottom: 10px; } .box-bottom{ padding: 14px 0 !important; } .box-bottom a{ display: inline-block; padding: 6px 10px; } } /* Pricing cards */ .pricing-box-alt{ border-radius: var(--ncue-radius); border: 1px solid rgba(15,23,42,0.06); box-shadow: var(--ncue-shadow-sm); overflow: hidden; } .pricing-box-alt.special{ border: 1px solid rgba(37,99,235,0.22); box-shadow: 0 18px 60px rgba(37,99,235,0.14); } .pricing-heading{ background: linear-gradient(135deg, rgba(37,99,235,0.10), rgba(6,182,212,0.10)); } .pricing-box-alt .pricing-heading h3{ color: #0b1220 !important; font-weight: 900 !important; } .pricing-box-alt .pricing-heading h3 strong{ font-weight: 900 !important; } .pricing-box-alt.special .pricing-heading, .pricing-box-alt.special .pricing-heading h3{ color: #0b1220 !important; /* override template's white text */ } .pricing-box-alt .pricing-terms h6{ font-style: normal !important; font-family: inherit !important; font-weight: 900 !important; letter-spacing: -0.2px; } .pricing-content{ color: rgba(15, 23, 42, 0.90) !important; } .pricing-content ul li{ color: rgba(15, 23, 42, 0.88) !important; font-weight: 700; } .pricing-terms h6{ font-weight: 900; letter-spacing: -0.3px; } /* Inner headline */ #inner-headline{ background: linear-gradient(135deg, rgba(37,99,235,0.10), rgba(6,182,212,0.10)); border-bottom: 1px solid rgba(15,23,42,0.06); } #inner-headline .breadcrumb li, #inner-headline .breadcrumb li a{ color: rgba(15,23,42,0.92) !important; font-weight: 750; } /* Meta post (blog) */ ul.meta-post li, ul.meta-post li a{ color: rgba(15, 23, 42, 0.86) !important; font-weight: 650; } ul.meta-post li i{ color: rgba(15, 23, 42, 0.70) !important; } /* Footer */ footer{ background: #0b1220 !important; color: rgba(255,255,255,0.82) !important; } footer p, footer li{ color: rgba(255,255,255,0.86) !important; font-weight: 600; } footer a{ color: rgba(255,255,255,0.92) !important; } footer a:hover{ color: #ffffff !important; } footer .widgetheading{ color: #ffffff !important; letter-spacing: -0.2px; } #sub-footer{ background: #07101f !important; border-top: 1px solid rgba(255,255,255,0.08); } /* Reduce over-busy template decorations if any */ .solidline{ border-top: 1px solid rgba(15,23,42,0.08) !important; }