﻿* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Pretendard', sans-serif;
        }

        body {
            line-height: 1.6;
            color: #333;
            word-break: keep-all;
            overflow-wrap: break-word;
        }

        :root {
            --nav-height-expanded: 64px;
            --nav-height-compact: 56px;
            --desktop-section-min-height: calc(100vh - var(--nav-height-compact));
            --motion-fast: 0.2s;
            --motion-base: 0.28s;
            --motion-nav: 0.34s;
            --motion-nav-size: 0.38s;
            --motion-feedback: 0.42s;
            --ease-smooth: cubic-bezier(0.22, 1, 0.36, 1);
        }

        section {
            padding: 80px 0;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .text-center {
            text-align: center;
        }

        .btn {
            display: inline-block;
            background-color: #0066cc;
            color: white;
            padding: 12px 30px;
            border-radius: 30px;
            text-decoration: none;
            font-weight: 600;
            transition: background-color var(--motion-base) var(--ease-smooth), transform var(--motion-base) var(--ease-smooth), box-shadow var(--motion-base) var(--ease-smooth);
            border: none;
            cursor: pointer;
        }

        .btn:hover {
            background-color: #0052a3;
            transform: translateY(-3px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        }

        .btn:disabled {
            background-color: #ccc;
            cursor: not-allowed;
            transform: none;
            box-shadow: none;
        }

        /* Header */
        header {
            background-color: #111;
            background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('bg_main_saramtax.jpg');
            background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
                -webkit-image-set(
                    url('bg_main_saramtax.avif') type('image/avif') 1x,
                    url('bg_main_saramtax.webp') type('image/webp') 1x,
                    url('bg_main_saramtax.jpg') type('image/jpeg') 1x
                );
            background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
                image-set(
                    url('bg_main_saramtax.avif') type('image/avif') 1x,
                    url('bg_main_saramtax.webp') type('image/webp') 1x,
                    url('bg_main_saramtax.jpg') type('image/jpeg') 1x
                );
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            color: white;
            height: 100vh;
            min-height: 100vh;
            min-height: calc(var(--hero-vh, 1vh) * 100);
            height: calc(var(--hero-vh, 1vh) * 100);
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
        }

        .header-content {
            max-width: 800px;
        }

        .header-content h1 {
            font-size: 3.5rem;
            margin-bottom: 20px;
            font-weight: 700;
        }

        .header-content p {
            font-size: 1.2rem;
            margin-bottom: 30px;
            font-weight: 300;
        }

        /* Navigation */
        nav {
            --nav-glass-bg: rgba(255, 255, 255, 0.9);
            --nav-glass-bg-scrolled: rgba(255, 255, 255, 0.9);
            --nav-glass-bg-current: var(--nav-glass-bg);
            --nav-glass-filter: blur(14px) saturate(150%);
            --nav-glass-border: rgba(0, 0, 0, 0.08);
            background-color: var(--nav-glass-bg-current);
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
            border-bottom: 1px solid var(--nav-glass-border);
            backdrop-filter: var(--nav-glass-filter);
            -webkit-backdrop-filter: var(--nav-glass-filter);
            transition: background-color var(--motion-nav) var(--ease-smooth), box-shadow var(--motion-nav) var(--ease-smooth), border-color var(--motion-nav) var(--ease-smooth);
        }

        .nav-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 20px;
            max-width: 1200px;
            margin: 0 auto;
            transition: padding var(--motion-nav-size) var(--ease-smooth);
        }

        .logo {
            display: flex;
            align-items: center;
            text-decoration: none;
            padding: 3px 0;
            position: relative;
            transition: transform var(--motion-fast) var(--ease-smooth);
        }

        .logo.is-pressed {
            transform: translateY(1px) scale(0.985);
        }

        .logo::after {
            content: '맨 위로';
            position: absolute;
            left: 50%;
            bottom: -30px;
            transform: translate(-50%, -4px);
            background: rgba(17, 24, 39, 0.86);
            color: #fff;
            font-size: 0.72rem;
            font-weight: 600;
            letter-spacing: 0.01em;
            padding: 4px 8px;
            border-radius: 999px;
            white-space: nowrap;
            opacity: 0;
            pointer-events: none;
            transition: opacity var(--motion-fast) var(--ease-smooth), transform var(--motion-fast) var(--ease-smooth);
        }

        .logo img {
            max-height: 38px;
            transition: max-height var(--motion-nav-size) var(--ease-smooth);
        }

        @media (hover: hover) and (pointer: fine) {
            .logo:hover::after,
            .logo:focus-visible::after {
                opacity: 1;
                transform: translate(-50%, 0);
            }
        }

        @keyframes navTopFeedbackPulse {
            0% {
                box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
                border-bottom-color: rgba(0, 0, 0, 0.08);
            }
            50% {
                box-shadow: 0 14px 30px rgba(0, 102, 204, 0.2);
                border-bottom-color: rgba(0, 102, 204, 0.24);
            }
            100% {
                box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
                border-bottom-color: rgba(0, 0, 0, 0.08);
            }
        }

        nav.top-return-feedback {
            animation: navTopFeedbackPulse var(--motion-feedback) var(--ease-smooth);
        }

        .nav-links {
            display: flex;
            list-style: none;
            position: relative;
        }

        .nav-links li {
            margin-left: 30px;
        }

        .nav-links a {
            text-decoration: none;
            color: #333;
            font-weight: 500;
            position: relative;
            display: inline-block;
            transition: color var(--motion-fast) var(--ease-smooth);
        }

        .nav-links a:hover {
            color: #0066cc;
        }

        nav.scrolled {
            --nav-glass-bg-current: var(--nav-glass-bg-scrolled);
            background-color: var(--nav-glass-bg-current);
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
            border-bottom-color: rgba(0, 0, 0, 0.08);
        }

        nav.scrolled .nav-container {
            padding: 8px 20px;
        }

        nav.scrolled .logo img {
            max-height: 32px;
        }

        nav.measuring,
        nav.measuring .nav-container,
        nav.measuring .logo img {
            transition: none !important;
        }
        nav.nav-bootstrap,
        nav.nav-bootstrap .nav-container,
        nav.nav-bootstrap .logo img,
        nav.nav-bootstrap .mobile-menu-btn,
        nav.nav-bootstrap .mobile-menu-btn i,
        nav.nav-bootstrap .nav-links,
        nav.nav-bootstrap .nav-links a {
            transition: none !important;
        }

        .mobile-menu-btn {
            display: none;
            background: none;
            border: none;
            font-size: 1.5rem;
            cursor: pointer;
            color: #333;
            padding: 6px 9px;
            border-radius: 10px;
            touch-action: manipulation;
            -webkit-tap-highlight-color: transparent;
            transition: color var(--motion-fast) var(--ease-smooth), background-color var(--motion-fast) var(--ease-smooth), transform var(--motion-fast) var(--ease-smooth);
        }

        .mobile-menu-btn i {
            transition: transform var(--motion-base) var(--ease-smooth);
        }

        .mobile-menu-btn:hover {
            color: #0066cc;
            background-color: #eef5ff;
        }

        .mobile-menu-btn.is-open {
            color: #0066cc;
            background-color: #eef5ff;
        }

        .mobile-menu-btn.is-open i {
            transform: rotate(90deg);
        }

        @media (hover: none), (pointer: coarse) {
            .mobile-menu-btn:hover {
                color: #333;
                background-color: transparent;
            }

            .mobile-menu-btn:active {
                color: #0066cc;
                background-color: #eef5ff;
            }
        }

        /* Why Choose Us */
        .why-us {
            background-color: #f9f9f9;
        }

        .section-title {
            font-size: 2.5rem;
            margin-bottom: 50px;
            position: relative;
            display: inline-block;
        }

        .section-title:after {
            content: '';
            position: absolute;
            width: 60px;
            height: 4px;
            background-color: #0066cc;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
        }

        .features {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
            margin-top: 30px;
        }

        .feature {
            flex: 1 1 300px;
            background-color: white;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            transition: transform var(--motion-base) var(--ease-smooth), box-shadow var(--motion-base) var(--ease-smooth);
            padding: 30px;
            text-align: center;
        }

        .feature:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
        }

        .feature i {
            font-size: 3rem;
            color: #0066cc;
            margin-bottom: 20px;
        }

        .feature h3 {
            margin-bottom: 15px;
            font-size: 1.5rem;
        }

        /* Services */
        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 30px;
            margin-top: 30px;
        }

        .service-card {
            background-color: white;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            transition: transform var(--motion-base) var(--ease-smooth), box-shadow var(--motion-base) var(--ease-smooth);
        }

        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
        }

        .service-content {
            padding: 25px;
        }

        .service-card h3 {
            font-size: 1.4rem;
            margin-bottom: 15px;
            color: #0066cc;
        }

        .service-icon {
            font-size: 3rem;
            color: #0066cc;
            margin-bottom: 15px;
        }

        /* Expert */
        .expert {
            background-color: #f9f9f9;
        }

        .expert-profile {
            display: flex;
            flex-direction: row;
            align-items: stretch;
            gap: 34px;
            margin: 30px auto 0;
            max-width: 800px;
            background-color: white;
            border-radius: 10px;
            padding: 34px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
        }

        .expert-image {
            flex: 0 0 240px;
            display: flex;
            justify-content: center;
        }

        .expert-image picture {
            display: block;
            width: 100%;
            max-width: 240px;
        }

        .expert-image img {
            width: 100%;
            max-width: 240px;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            
            /* [수정 2] 이미지 비율 강제 고정 (레이아웃 시프트 방지) */
            aspect-ratio: 300 / 400;
            object-fit: cover;
            height: auto;
        }

        .expert-info {
            flex: 1;
            text-align: left;
        }

        .expert-info h3 {
            font-size: 1.8rem;
            margin-bottom: 6px;
            color: #0066cc;
        }

        .expert-info .position {
            font-size: 1.05rem;
            margin-bottom: 16px;
            color: #666;
        }

        .expert-details {
            margin-top: 0;
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px 22px;
        }

        .expert-detail-item {
            margin-bottom: 0;
            text-align: left;
        }

        .expert-detail-item label {
            font-weight: 600;
            display: block;
            margin-bottom: 4px;
            color: #333;
            font-size: 0.92rem;
        }

        .expert-detail-item p {
            color: #666;
            font-size: 0.93rem;
            line-height: 1.45;
            margin-bottom: 4px;
        }

        .expert-detail-item p:last-child {
            margin-bottom: 0;
        }


        /* Location Section */
        .location-section {
            background-color: #f9f9f9;
            padding: 70px 0;
        }

        .map-container {
            background-color: white;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            padding: 0 0 16px 0;
            height: 100%;
            display: flex;
            flex-direction: column;
            max-width: 800px;
            margin: 0 auto;
        }

        #map {
            width: 100%;
            height: 300px; /* 지도 높이 고정 */
            border-radius: 10px 10px 0 0;
            overflow: hidden;
            position: relative;
        }

        #map iframe {
            width: 100%;
            height: 100%;
            border: none;
        }

        #map .map-fallback {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 8px;
            color: #444;
            background: linear-gradient(180deg, #f7f9fc 0%, #f2f5f9 100%);
            text-align: center;
            padding: 18px;
            font-size: 0.92rem;
        }

        #map .map-fallback strong {
            color: #03C75A;
            font-size: 1rem;
        }

        .map-marker-pin-red-basic {
            width: 30px;
            height: 42px;
            cursor: pointer;
            transition: transform var(--motion-fast) var(--ease-smooth), filter var(--motion-fast) var(--ease-smooth);
        }

        .map-marker-pin-red-basic:hover {
            transform: translateY(-2px);
            filter: saturate(1.08);
        }

        .map-marker-pin-red-basic svg {
            display: block;
            width: 30px;
            height: 42px;
        }


        .visit-notice {
            background-color: #f8f9fa;
            padding: 10px 12px;
            margin: 10px 12px;
            color: #555;
            font-size: 0.9rem;
            border-radius: 5px;
        }

        .visit-notice i {
            color: #0066cc;
            margin-right: 8px;
        }

        .address {
            padding: 0 18px 10px 18px;
        }

        .address p {
            margin-bottom: 7px;
            display: flex;
            align-items: flex-start;
            font-size: 0.92rem;
            text-align: left;
        }

        .address i {
            color: #0066cc;
            width: 22px;
            min-width: 22px;
            text-align: center;
            margin-right: 10px;
            font-size: 1.05rem;
            line-height: 1.6;
        }

        .address p a:not(.naver-btn) {
            color: #1f2937;
            text-decoration: none;
            font-weight: 400;
            border-bottom: 1px solid transparent;
            transition: color var(--motion-fast) var(--ease-smooth), border-color var(--motion-fast) var(--ease-smooth);
        }

        .address p a:not(.naver-btn):hover {
            color: #005fb8;
            border-bottom-color: rgba(0, 95, 184, 0.28);
        }

        .address .phone-link {
            pointer-events: none;
            cursor: default;
        }

        .naver-btn {
            display: inline-block;
            background-color: #03C75A;
            color: white;
            padding: 10px 20px;
            border-radius: 30px;
            text-decoration: none;
            font-weight: 600;
            transition: background-color var(--motion-base) var(--ease-smooth), transform var(--motion-base) var(--ease-smooth), box-shadow var(--motion-base) var(--ease-smooth);
            margin-top: 10px;
            border: none;
            cursor: pointer;
        }

        .naver-btn i {
            color: white;
            margin-right: 8px;
            width: auto;
        }

        .naver-btn:hover {
            background-color: #02a64b;
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(3, 199, 90, 0.3);
        }

        /* Blog Section */
        .blog-section {
            background-color: white;
        }

        .blog-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 20px;
            max-width: 800px;
            margin: 30px auto 0;
        }

        .blog-card {
            display: block;
            background-color: white;
            color: #333;
            border-radius: 10px;
            padding: 18px;
            text-decoration: none;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            transition: background-color var(--motion-base) var(--ease-smooth), transform var(--motion-base) var(--ease-smooth), box-shadow var(--motion-base) var(--ease-smooth);
        }

        .blog-card:hover {
            background-color: #fbfffd;
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(3, 199, 90, 0.18);
        }

        .blog-card.is-skeleton {
            pointer-events: none;
            background-color: #fbfbfc;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
        }

        .blog-card.is-skeleton .blog-card-thumb {
            background: #edf0f3;
        }

        .blog-skeleton-line {
            display: block;
            width: 100%;
            height: 0.92em;
            border-radius: 999px;
            background: linear-gradient(90deg, #e9edf2 0%, #f5f7fa 50%, #e9edf2 100%);
            background-size: 220% 100%;
            animation: blogSkeletonPulse 1.3s ease-in-out infinite;
        }

        .blog-skeleton-line + .blog-skeleton-line {
            margin-top: 7px;
        }

        .blog-skeleton-line.short {
            width: 72%;
        }

        .blog-skeleton-line.tiny {
            width: 46%;
        }

        .blog-skeleton-thumb {
            background: linear-gradient(90deg, #e9edf2 0%, #f5f7fa 50%, #e9edf2 100%);
            background-size: 220% 100%;
            animation: blogSkeletonPulse 1.3s ease-in-out infinite;
        }

        @keyframes blogSkeletonPulse {
            0% {
                background-position: 0% 0%;
            }
            100% {
                background-position: 220% 0%;
            }
        }

        .blog-card-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
        }

        .blog-card-title {
            font-size: 1.18rem;
            font-weight: 800;
            line-height: 1.4;
            flex: 1;
            min-height: calc(1.4em * 2);
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .blog-card-thumb {
            width: 88px;
            height: 88px;
            border-radius: 8px;
            object-fit: cover;
            flex: 0 0 88px;
            background-color: #f1f1f1;
        }

        .blog-card-excerpt {
            margin-top: 10px;
            color: #666;
            font-size: 0.92rem;
            line-height: 1.5;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .blog-card-date {
            margin-top: 8px;
            color: #888;
            font-size: 0.85rem;
        }

        .blog-empty {
            grid-column: 1 / -1;
            background-color: white;
            border-radius: 10px;
            padding: 18px;
            color: #666;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
        }

        .blog-more-btn {
            margin-top: 24px;
        }

        /* Contact Form Section */
        .contact-section {
            background-color: white;
            padding: 70px 0;
        }

        .contact-form {
            background-color: white;
            padding: 32px;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            max-width: 800px;
            margin: 0 auto;
            position: relative;
        }

        #contactForm {
            display: block;
        }

        .form-group {
            margin-bottom: 16px;
            position: relative;
        }

        /* [접근성] 스크린 리더용 숨김 처리 */
        .form-group > label {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            border: 0;
        }

        .form-group input,
        .form-group textarea,
        .form-group select {
            width: 100%;
            padding: 13px;
            border: 1px solid #e0e0e0;
            border-radius: 5px;
            font-size: 0.96rem;
            background-color: #f9f9f9;
            transition: border-color var(--motion-base) var(--ease-smooth), box-shadow var(--motion-base) var(--ease-smooth), background-color var(--motion-base) var(--ease-smooth);
        }

        .form-group input:focus,
        .form-group textarea:focus,
        .form-group select:focus {
            outline: none;
            border-color: #0066cc;
            box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.1);
            background-color: white;
        }

        .form-group input::placeholder,
        .form-group textarea::placeholder,
        .form-group select::placeholder {
            color: #888;
        }

        .form-group textarea {
            height: 130px;
            resize: vertical;
        }

        .form-group.has-error input,
        .form-group.has-error textarea,
        .form-group.has-error select {
            border-color: #d93025;
            background-color: #fff8f8;
            box-shadow: 0 0 0 2px rgba(217, 48, 37, 0.1);
        }

        .form-group.has-error.privacy-check label {
            color: #b42318;
        }

        .field-message {
            margin-top: 7px;
            font-size: 0.82rem;
            color: #b42318;
            min-height: 1.25em;
            text-align: left;
            line-height: 1.4;
        }

        .form-status {
            margin: 6px auto 14px;
            max-width: 480px;
            padding: 10px 12px;
            border-radius: 8px;
            font-size: 0.9rem;
            text-align: center;
            line-height: 1.45;
            display: none;
            border: 1px solid transparent;
        }

        .form-status.is-visible {
            display: block;
        }

        .form-status.is-error {
            color: #912018;
            background-color: #fff4f2;
            border-color: #f4c7c3;
        }

        .form-status.is-success {
            color: #116329;
            background-color: #f1fbf3;
            border-color: #b7e4c1;
        }

        .form-status.is-info {
            color: #0b4a8b;
            background-color: #f1f7ff;
            border-color: #c2daf7;
        }

        .privacy-policy {
            background-color: #f8f9fa;
            padding: 12px;
            border-radius: 5px;
            margin-bottom: 12px;
            font-size: 0.82rem;
            color: #666;
            text-align: left;
        }

        .privacy-policy p {
            margin-bottom: 8px;
        }

        .privacy-policy ul {
            padding-left: 15px;
            list-style-type: none;
            text-align: left;
        }

        .privacy-policy li {
            margin-bottom: 5px;
            line-height: 1.4;
        }

        .form-group.privacy-check {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            margin-bottom: 18px;
        }
        
        .form-group.privacy-check label {
            position: static;
            width: auto;
            height: auto;
            margin: 0;
            overflow: visible;
            clip: auto;
            display: flex;
            align-items: center;
        }
        
        .form-group.privacy-check input[type="checkbox"] {
            width: auto;
            margin-right: 8px;
            padding: 0;
        }

        .contact-form .btn {
            width: 200px;
            padding: 13px;
            font-size: 0.96rem;
            background-color: #0066cc;
            transition: background-color var(--motion-base) var(--ease-smooth), transform var(--motion-base) var(--ease-smooth), box-shadow var(--motion-base) var(--ease-smooth);
            display: block;
            margin: 0 auto;
        }

        .contact-form .btn.is-loading {
            position: relative;
            padding-right: 42px;
            opacity: 0.92;
        }

        .contact-form .btn.is-loading::after {
            content: '';
            position: absolute;
            top: 50%;
            right: 16px;
            width: 14px;
            height: 14px;
            margin-top: -7px;
            border-radius: 50%;
            border: 2px solid rgba(255, 255, 255, 0.45);
            border-top-color: #fff;
            animation: btnSpin 0.72s linear infinite;
        }

        @keyframes btnSpin {
            to {
                transform: rotate(360deg);
            }
        }

        .contact-form .btn:hover {
            background-color: #0052a3;
        }

        @media (min-width: 992px) {
            #contactForm {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                column-gap: 16px;
                row-gap: 14px;
                align-items: start;
            }

            #contactForm > .form-group {
                margin-bottom: 0;
            }

            #contactForm > .form-group:nth-of-type(3),
            #contactForm > .form-group:nth-of-type(4),
            #contactForm > .privacy-policy,
            #contactForm > .form-group.privacy-check,
            #contactForm > #formStatus,
            #contactForm > button[type="submit"] {
                grid-column: 1 / -1;
            }

            #contactForm > .form-group textarea {
                height: 112px;
            }

            #contactForm > .privacy-policy {
                margin-bottom: 0;
            }

            #contactForm > .form-group.privacy-check {
                margin-bottom: 2px;
            }

            .contact-section {
                padding: 62px 0;
            }
        }

        /* Footer */
        footer {
            background-color: #222;
            color: white;
            padding: 30px 0;
            text-align: center;
        }

        .footer-content {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .footer-logo {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 20px;
            color: white;
        }

        .social-links {
            display: flex;
            list-style: none;
            margin-bottom: 20px;
        }

        .social-links li {
            margin: 0 10px;
        }

        .social-links a {
            color: white;
            font-size: 1.2rem;
            transition: color var(--motion-base) var(--ease-smooth);
        }

        .social-links a:hover {
            color: #0066cc;
        }

        .copyright {
            color: #aaa;
            font-size: 0.9rem;
        }

        /* 플로팅 버튼 */
        .floating-buttons {
            position: fixed;
            bottom: 20px;
            right: 20px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            z-index: 1000;
        }

        .floating-button {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 42px;
            height: 42px;
            border-radius: 50%;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            transition: transform var(--motion-fast) var(--ease-smooth), box-shadow var(--motion-fast) var(--ease-smooth), filter var(--motion-fast) var(--ease-smooth);
            text-decoration: none;
        }

        .floating-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
            filter: brightness(1.03);
        }

        .floating-button i {
            font-size: 1.2rem;
        }

        .floating-button.kakao {
            background-color: #FFE812;
            color: #3C1E1E;
        }

        .floating-button.call {
            background-color: #0066cc;
            color: white;
        }

        .floating-button.contact {
            background-color: #FF6B6B;
            color: white;
        }

        /* Responsive */
        @media (max-width: 992px) {
            .header-content h1 {
                font-size: 2.8rem;
            }

            .expert-profile {
                flex-direction: column;
                align-items: center;
            }

            .expert-image {
                flex: 0 0 100%;
                max-width: 240px;
                margin-bottom: 18px;
            }

            .expert-info,
            .expert-details,
            .expert-detail-item {
                text-align: left;
                width: 100%;
            }

            .expert-details {
                grid-template-columns: 1fr;
            }

        }

        @media (max-width: 768px) {
            body.mobile-menu-open {
                overscroll-behavior: none;
            }

            .floating-buttons {
                transition: opacity var(--motion-fast) var(--ease-smooth), transform var(--motion-fast) var(--ease-smooth);
            }

            .address .phone-link {
                pointer-events: auto;
                cursor: pointer;
            }

            .nav-container {
                padding: 12px 16px;
            }

            .logo img {
                max-height: 34px;
            }

            .logo::after {
                display: none;
            }

            nav {
                transition: background-color var(--motion-nav) var(--ease-smooth), box-shadow var(--motion-nav) var(--ease-smooth), border-color var(--motion-nav) var(--ease-smooth);
            }

            nav.scrolled .nav-container {
                padding: 9px 16px;
            }

            nav.scrolled .logo img {
                max-height: 30px;
            }

            nav.scrolled {
                box-shadow: 0 8px 20px rgba(0, 0, 0, 0.11);
            }

            .nav-container {
                transition: padding var(--motion-nav-size) var(--ease-smooth);
            }

            .logo img {
                transition: max-height var(--motion-nav-size) var(--ease-smooth);
            }

            section {
                padding-top: 46px;
            }

            .location-section,
            .contact-section {
                padding-top: 46px;
            }

            nav .nav-links {
                display: flex;
                position: absolute;
                top: 100%;
                left: 0;
                width: 100%;
                background-color: var(--nav-glass-bg-current);
                backdrop-filter: var(--nav-glass-filter);
                -webkit-backdrop-filter: var(--nav-glass-filter);
                flex-direction: column;
                padding: 10px 18px 14px;
                box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
                border-top: 1px solid rgba(0, 0, 0, 0.05);
                margin: 0;
                border-radius: 0 0 10px 10px;
                isolation: isolate;
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
                transform: translateY(-6px);
                overflow: hidden;
                will-change: opacity, transform;
                transition: opacity var(--motion-fast) var(--ease-smooth), transform var(--motion-base) var(--ease-smooth), visibility 0s linear var(--motion-base);
            }

            nav .nav-links.active {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                transform: translateY(0);
                transition: opacity var(--motion-fast) var(--ease-smooth), transform var(--motion-base) var(--ease-smooth), visibility 0s linear 0s;
            }

            nav .nav-links li {
                position: relative;
                z-index: 1;
                margin: 0;
                border-bottom: 1px solid rgba(0, 0, 0, 0.06);
            }

            nav .nav-links li:last-child {
                border-bottom: none;
            }

            nav .nav-links a {
                display: block;
                padding: 12px 4px;
            }

            .mobile-menu-btn {
                display: block;
            }

            .header-content h1 {
                font-size: 2.5rem;
            }

            .form-group {
                flex-direction: column;
                align-items: flex-start;
            }

            .form-group label {
                width: 100%;
                margin-bottom: 8px;
            }

            #map {
                height: 250px;
            }

            .privacy-policy {
                font-size: 0.8rem;
                padding: 12px;
            }

            .privacy-policy ul {
                padding-left: 10px;
            }

            .floating-buttons {
                bottom: 15px;
                right: 15px;
                gap: 12px;
            }

            .floating-button {
                width: 47px;
                height: 47px;
            }

            .floating-button i {
                font-size: 1.3rem;
            }

            .blog-grid {
                grid-template-columns: 1fr;
            }

            .blog-card-title {
                font-size: 1.12rem;
            }
        }

        @media (max-width: 576px) {
            section {
                padding: 42px 0 60px 0;
            }

            .location-section,
            .contact-section {
                padding-top: 42px;
            }

            .header-content h1 {
                font-size: 2rem;
            }

            .section-title {
                font-size: 2rem;
            }

            .feature,
            .service-card {
                flex-basis: 100%;
            }
        }

        @media (min-width: 1200px) {
            .why-us,
            #services,
            .expert,
            .blog-section,
            .location-section {
                min-height: var(--desktop-section-min-height);
            }

            .contact-section {
                min-height: auto;
            }
        }
