   <style>
        /* Custom Font Simulation: Clear, professional Japanese/English hybrid */
        :root {
            --color-primary: #003e92; /* Deep Blue (Brand Primary) */
            --color-accent: #13a7f5;  /* Bright Sky Blue */
            --color-secondary: #05c465; /* Vivid Green */
            --color-light: #f7f9fc; /* Soft Pale Background */
            --font-jp: 'Noto Sans JP', sans-serif;
            --font-en: 'Barlow', sans-serif;
        }

        body {
            font-family: var(--font-jp);
            background-color: var(--color-light);
            color: #1a1a1a;
            line-height: 1.8;
        }

        .section-padding {
            padding: 80px 16px;
        }

        .text-shadow-custom {
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        /* Keyframe for subtle wave effect on hover */
        @keyframes subtle-wave {
            0% { transform: translateY(0); }
            50% { transform: translateY(-3px); }
            100% { transform: translateY(0); }
        }
        .animate-subtle-wave:hover {
            animation: subtle-wave 0.5s ease-in-out infinite;
        }

        /* Disciplines Card Colors */
        .md-card-color { border-left-color: #13a7f5; background-color: #eaf8ff; } /* Blue - md */
        .gd-card-color { border-left-color: #CC00CC; background-color: #fff0ff; } /* Purple - gd */
        .wd-card-color { border-left-color: #05c465; background-color: #e8fbed; } /* Green - Web/Tech */

        /* Project Timeline Styling */
        .timeline-item {
            position: relative;
            padding-left: 3rem;
            border-left: 2px solid var(--color-accent);
        }
        .timeline-dot {
            position: absolute;
            left: -0.5rem;
            top: 0.5rem;
            width: 1rem;
            height: 1rem;
            background-color: var(--color-accent);
            border-radius: 50%;
            border: 3px solid white;
            box-shadow: 0 0 0 2px var(--color-accent);
        }

        /* Scroll Reveal Effect (Opacity + Slide Up) */
        .scroll-reveal {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        .scroll-reveal.is-visible {
            opacity: 1;
            transform: translateY(0);
        }
    </style>