
        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap');
        html { scroll-behavior: smooth; }
        body { font-family: 'Inter', 'Noto Sans KR', sans-serif; overflow-x: hidden; }
        body.modal-open { overflow: hidden; }
        .hero-bg {
            background: linear-gradient(rgba(0,0,0,0.75), rgba(0,0,0,0.8)),
                        url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=2000') center/cover no-repeat;
        }
        .modal { display: none; }
        .modal.active { display: flex; }
     
        .service-btn.active {
            border-color: #10b981 !important;
            background-color: #052e16;
            color: white;
        }
     
        .modal-content {
            max-height: 92vh;
            overflow-y: auto;
        }
     
        .sticky-submit {
            position: sticky;
            bottom: 0;
            background-color: #18181b;
            z-index: 10;
        }
     
        .gallery-img {
            transition: transform 0.3s ease;
        }
        .gallery-img:hover {
            transform: scale(1.05);
        }

        :root {
            --junoko-emerald: #34d399;
            --junoko-emerald-deep: #064e3b;
            --junoko-ink: #09090b;
            --junoko-panel: #18181b;
            --junoko-line: rgba(52, 211, 153, .22);
        }

        ::selection { color: #04110d; background: #6ee7b7; }
        :focus-visible { outline: 2px solid #34d399; outline-offset: 4px; }

        .premium-nav { transition: background-color .3s ease, box-shadow .3s ease, border-color .3s ease; }
        .premium-nav.is-scrolled { background: rgba(9, 9, 11, .96); box-shadow: 0 14px 45px rgba(0,0,0,.3); }
        .brand-lockup { display: inline-flex; align-items: center; gap: 12px; }
        .brand-symbol { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(52,211,153,.55); border-radius: 50%; color: #6ee7b7; font-size: 14px; font-weight: 700; }
        .brand-copy small { display: block; margin-top: -2px; color: #34d399; font-size: 8px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
        .mobile-menu-button { display: none; width: 44px; height: 44px; place-items: center; border: 1px solid #3f3f46; border-radius: 50%; background: #18181b; }

        .hero-bg { position: relative; min-height: 780px; overflow: hidden; }
        .hero-bg::before { position: absolute; inset: 0; content: ""; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to right, #000, transparent 80%); }
        .hero-bg::after { position: absolute; right: -170px; bottom: -300px; width: 680px; height: 680px; border: 1px solid rgba(52,211,153,.18); border-radius: 50%; content: ""; box-shadow: 0 0 0 90px rgba(52,211,153,.035), 0 0 0 180px rgba(52,211,153,.025); }
        .hero-content { position: relative; z-index: 2; }
        .hero-eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 22px; color: #6ee7b7; font-size: 12px; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }
        .hero-eyebrow::before { width: 40px; height: 1px; content: ""; background: #34d399; }
        .hero-trust { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 34px; color: #d4d4d8; font-size: 13px; }
        .hero-trust span { display: inline-flex; align-items: center; gap: 8px; }
        .hero-trust i { color: #34d399; }

        .service-overview { position: relative; z-index: 5; margin-top: -58px; }
        .service-overview-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid #3f3f46; border-radius: 28px; background: rgba(24,24,27,.96); box-shadow: 0 28px 75px rgba(0,0,0,.34); backdrop-filter: blur(18px); }
        .service-overview-item { position: relative; min-height: 220px; padding: 30px; transition: background .3s ease; }
        .service-overview-item + .service-overview-item { border-left: 1px solid #3f3f46; }
        .service-overview-item:hover { background: rgba(6,78,59,.2); }
        .service-overview-icon { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 30px; border: 1px solid rgba(52,211,153,.35); border-radius: 16px; color: #34d399; background: rgba(6,78,59,.22); }
        .service-overview-item h3 { margin-bottom: 8px; font-size: 19px; font-weight: 600; }
        .service-overview-item p { margin: 0; color: #a1a1aa; font-size: 13px; line-height: 1.7; }
        .service-overview-item a { display: inline-block; margin-top: 16px; color: #6ee7b7; font-size: 12px; font-weight: 600; }

        .section-label { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 18px; color: #34d399; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
        .section-label::before, .section-label::after { width: 30px; height: 1px; content: ""; background: rgba(52,211,153,.45); }
        #about, #gallery, #tours, #immigration, #pilot, #process, #faq, #contact { position: relative; overflow: hidden; }
        #about::before, #pilot::before { position: absolute; top: 6%; left: -240px; width: 460px; height: 460px; border-radius: 50%; content: ""; background: radial-gradient(circle, rgba(16,185,129,.08), transparent 68%); pointer-events: none; }

        #about .prose > p { line-height: 2; }
        #about .bg-zinc-800\/50 { box-shadow: inset 0 1px rgba(255,255,255,.035), 0 24px 60px rgba(0,0,0,.15); }
        #gallery .grid { grid-auto-rows: 230px; }
        #gallery .gallery-img { width: 100%; height: 100%; object-fit: cover; }
        #gallery .gallery-img:first-child { grid-row: span 2; }
        #gallery .gallery-img:nth-child(5) { grid-column: span 2; }

        #tours .space-y-20 > div { position: relative; padding: 36px; border: 1px solid #3f3f46; border-radius: 28px; background: linear-gradient(145deg, rgba(39,39,42,.72), rgba(24,24,27,.82)); box-shadow: 0 22px 55px rgba(0,0,0,.16); }
        #tours .space-y-20 > div::after { position: absolute; top: 0; right: 34px; width: 72px; height: 2px; content: ""; background: #34d399; }
        #tours .space-y-20 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
        #tours .space-y-20 > div { margin: 0 !important; }
        #tours .space-y-20 > div .grid { grid-template-columns: 1fr; }

        #immigration > div > .space-y-12 { display: grid; max-width: none; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid #3f3f46; border-bottom: 1px solid #3f3f46; }
        #immigration > div > .space-y-12 > div { min-height: 250px; padding: 30px 24px; }
        #immigration > div > .space-y-12 > div + div { border-left: 1px solid #3f3f46; }
        #immigration > div > .space-y-12 > div h3 { min-height: 72px; font-size: 19px; line-height: 1.55; }
        #immigration > div > .space-y-12 > div p { color: #a1a1aa; font-size: 13px; }

        #pilot .bg-zinc-900, #immigration .bg-zinc-900 { box-shadow: inset 0 1px rgba(255,255,255,.025); }
        #pilot .hover\:border-emerald-600:hover, #immigration .hover\:border-emerald-600:hover { transform: translateY(-4px); box-shadow: 0 20px 45px rgba(0,0,0,.2); }

        .process-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
        .process-step { position: relative; padding: 32px 28px; border-top: 1px solid #3f3f46; }
        .process-step::before { position: absolute; top: -5px; left: 28px; width: 9px; height: 9px; border: 2px solid #09090b; border-radius: 50%; content: ""; background: #34d399; box-shadow: 0 0 0 1px #34d399; }
        .process-step span { color: #34d399; font-size: 11px; font-weight: 600; letter-spacing: .14em; }
        .process-step h3 { margin: 16px 0 10px; font-size: 19px; font-weight: 600; }
        .process-step p { margin: 0; color: #a1a1aa; font-size: 13px; line-height: 1.75; }

        .faq-list { max-width: 840px; margin: 0 auto; border-top: 1px solid #3f3f46; }
        .faq-item { border-bottom: 1px solid #3f3f46; }
        .faq-question { display: flex; width: 100%; min-height: 76px; align-items: center; justify-content: space-between; gap: 20px; border: 0; color: #f4f4f5; background: transparent; cursor: pointer; text-align: left; font-weight: 600; }
        .faq-question i { color: #34d399; transition: transform .25s ease; }
        .faq-question[aria-expanded="true"] i { transform: rotate(45deg); }
        .faq-answer { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
        .faq-answer p { padding: 0 44px 24px 0; margin: 0; color: #a1a1aa; font-size: 14px; line-height: 1.8; }

        .cta-band { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 28px; margin-top: 64px; padding: 30px 34px; border: 1px solid rgba(52,211,153,.24); border-radius: 24px; background: linear-gradient(120deg, rgba(6,78,59,.28), rgba(24,24,27,.7)); }
        .cta-band h3 { margin-bottom: 6px; font-size: 21px; font-weight: 600; }
        .cta-band p { margin: 0; color: #a1a1aa; font-size: 13px; }

        .reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
        .reveal.is-visible { opacity: 1; transform: none; }

        @media (max-width: 1024px) {
            #immigration > div > .space-y-12 { grid-template-columns: repeat(2, 1fr); }
            #immigration > div > .space-y-12 > div:nth-child(3) { border-top: 1px solid #3f3f46; border-left: 0; }
            #immigration > div > .space-y-12 > div:nth-child(4) { border-top: 1px solid #3f3f46; }
        }

        @media (max-width: 767px) {
            .mobile-menu-button { display: grid; }
            .desktop-consult { display: none; }
            #mainNavLinks { position: fixed; top: 74px; right: 14px; left: 14px; display: none; flex-direction: column; gap: 0; padding: 14px; border: 1px solid #3f3f46; border-radius: 20px; background: rgba(24,24,27,.98); box-shadow: 0 25px 60px rgba(0,0,0,.42); }
            #mainNavLinks.is-open { display: flex; }
            #mainNavLinks a { padding: 13px 10px; }
            .hero-bg { min-height: 740px; height: auto !important; }
            .hero-content { padding-top: 130px; padding-bottom: 100px; }
            .hero-trust { display: grid; gap: 8px; }
            .service-overview { margin-top: -34px; }
            .service-overview-grid { grid-template-columns: 1fr; }
            .service-overview-item { min-height: auto; padding: 25px; }
            .service-overview-item + .service-overview-item { border-top: 1px solid #3f3f46; border-left: 0; }
            .service-overview-icon { margin-bottom: 18px; }
            #gallery .grid { grid-auto-rows: 190px; }
            #gallery .gallery-img:first-child { grid-row: auto; }
            #gallery .gallery-img:nth-child(5) { grid-column: auto; }
            #tours .space-y-20 { grid-template-columns: 1fr; }
            #tours .space-y-20 > div { padding: 24px; }
            #immigration > div > .space-y-12 { grid-template-columns: 1fr; }
            #immigration > div > .space-y-12 > div { min-height: auto; }
            #immigration > div > .space-y-12 > div + div { border-top: 1px solid #3f3f46; border-left: 0; }
            .process-grid { grid-template-columns: 1fr; }
            .cta-band { grid-template-columns: 1fr; padding: 26px; }
            #inquiryModal .grid-cols-3 { grid-template-columns: 1fr; }
            #inquiryModal .service-btn { padding: 16px; text-align: center; }
            #inquiryModal .grid-cols-2 { grid-template-columns: 1fr; }
        }

        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
            .reveal { opacity: 1; transform: none; }
        }
    


        :root {
            --junoko-emerald: #168a63;
            --junoko-emerald-deep: #0f684b;
            --junoko-ink: #17211d;
            --junoko-panel: #ffffff;
            --junoko-line: rgba(22, 138, 99, .18);
            --junoko-paper: #f8fbf9;
            --junoko-paper-green: #f1f8f4;
            --junoko-muted: #65736c;
            --junoko-border: #dbe6df;
        }

        body {
            background: var(--junoko-paper) !important;
            color: var(--junoko-ink) !important;
        }

        /* Global Tailwind dark utilities -> light palette */
        .bg-black,
        .bg-zinc-950,
        .bg-zinc-900 { background-color: #f8fbf9 !important; }
        .bg-zinc-800 { background-color: #ffffff !important; }
        .bg-zinc-800\/50 { background-color: rgba(255,255,255,.86) !important; }
        .bg-zinc-950\/90 { background-color: rgba(255,255,255,.92) !important; }
        .bg-black\/80 { background-color: rgba(20, 31, 26, .42) !important; }

        .text-white { color: #17211d !important; }
        .text-zinc-300 { color: #44524b !important; }
        .text-zinc-400 { color: #65736c !important; }
        .text-zinc-500 { color: #7b8881 !important; }
        .text-emerald-400 { color: #168a63 !important; }

        .border-zinc-700,
        .border-zinc-800 { border-color: var(--junoko-border) !important; }

        /* Navigation */
        .premium-nav {
            background: rgba(255,255,255,.90) !important;
            border-color: rgba(23, 33, 29, .08) !important;
            color: #17211d;
            box-shadow: 0 1px 0 rgba(23,33,29,.04);
        }
        .premium-nav.is-scrolled {
            background: rgba(255,255,255,.97) !important;
            border-color: rgba(23,33,29,.10) !important;
            box-shadow: 0 14px 38px rgba(24, 61, 45, .10) !important;
        }
        .brand-symbol {
            border-color: rgba(22,138,99,.42) !important;
            color: #168a63 !important;
            background: #f0faf5;
        }
        .brand-copy small { color: #168a63 !important; }
        .mobile-menu-button {
            border-color: #d7e2db !important;
            background: #ffffff !important;
            color: #17211d !important;
            box-shadow: 0 8px 22px rgba(24,61,45,.08);
        }
        #mainNavLinks a:hover { color: #168a63 !important; }

        /* Hero: keep the image, brighten the treatment */
        .hero-bg {
            background:
                linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 45%, rgba(244,249,246,.58) 100%),
                url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=2000') center/cover no-repeat !important;
        }
        .hero-bg::before {
            opacity: .42 !important;
            background-image:
                linear-gradient(rgba(22,138,99,.075) 1px, transparent 1px),
                linear-gradient(90deg, rgba(22,138,99,.075) 1px, transparent 1px) !important;
        }
        .hero-bg::after {
            border-color: rgba(22,138,99,.16) !important;
            box-shadow: 0 0 0 90px rgba(22,138,99,.035), 0 0 0 180px rgba(22,138,99,.025) !important;
        }
        .hero-content { color: #132019 !important; }
        .hero-eyebrow { color: #168a63 !important; }
        .hero-eyebrow::before { background: #168a63 !important; }
        .hero-content .text-zinc-300 { color: #4f6158 !important; }
        .hero-trust { color: #52645b !important; }
        .hero-trust i { color: #168a63 !important; }
        #top > .hero-content > button {
            background: #168a63 !important;
            color: #ffffff !important;
            box-shadow: 0 14px 30px rgba(22,138,99,.20);
        }
        #top > .hero-content > button:hover { background: #117354 !important; }

        /* Service overview */
        .service-overview-grid {
            border-color: #dbe6df !important;
            background: rgba(255,255,255,.96) !important;
            box-shadow: 0 28px 70px rgba(33,77,58,.12) !important;
        }
        .service-overview-item + .service-overview-item { border-color: #e0e9e4 !important; }
        .service-overview-item:hover { background: #f1f8f4 !important; }
        .service-overview-icon {
            border-color: rgba(22,138,99,.24) !important;
            color: #168a63 !important;
            background: #edf8f2 !important;
        }
        .service-overview-item p { color: #66736d !important; }
        .service-overview-item a { color: #168a63 !important; }

        /* Section rhythm */
        #about, #tours, #pilot, #faq { background: #ffffff !important; }
        #gallery, #immigration, #process, #contact { background: #f3f8f5 !important; }
        footer { background: #eef5f1 !important; }
        #about::before, #pilot::before {
            background: radial-gradient(circle, rgba(22,138,99,.09), transparent 68%) !important;
        }
        .section-label { color: #168a63 !important; }
        .section-label::before, .section-label::after { background: rgba(22,138,99,.38) !important; }

        /* Cards and panels */
        #about .bg-zinc-800\/50,
        #tours .bg-zinc-800\/50,
        #immigration .bg-zinc-900,
        #pilot .bg-zinc-900,
        #contact .bg-zinc-900 {
            background: #ffffff !important;
            border-color: #dbe6df !important;
            box-shadow: 0 16px 44px rgba(33,77,58,.07) !important;
        }
        #about .bg-zinc-800\/50 { box-shadow: 0 18px 46px rgba(33,77,58,.08) !important; }
        #tours .space-y-20 > div {
            border-color: #dbe6df !important;
            background: linear-gradient(145deg, #ffffff, #f7fbf8) !important;
            box-shadow: 0 22px 52px rgba(33,77,58,.08) !important;
        }
        #tours .space-y-20 > div::after { background: #34a878 !important; }

        #immigration > div > .space-y-12 {
            border-color: #dbe6df !important;
            background: rgba(255,255,255,.62);
            border-radius: 24px;
            overflow: hidden;
        }
        #immigration > div > .space-y-12 > div + div { border-color: #dbe6df !important; }
        #immigration > div > .space-y-12 > div p { color: #65736c !important; }
        #pilot .hover\:border-emerald-600:hover,
        #immigration .hover\:border-emerald-600:hover {
            border-color: #77bea0 !important;
            box-shadow: 0 18px 40px rgba(33,77,58,.11) !important;
        }

        /* Process */
        .process-step { border-color: #cfded5 !important; }
        .process-step::before {
            border-color: #f3f8f5 !important;
            background: #34a878 !important;
            box-shadow: 0 0 0 1px #34a878 !important;
        }
        .process-step span { color: #168a63 !important; }
        .process-step p { color: #65736c !important; }

        /* FAQ */
        .faq-list, .faq-item { border-color: #d7e2db !important; }
        .faq-question { color: #17211d !important; }
        .faq-question i { color: #168a63 !important; }
        .faq-answer p { color: #65736c !important; }

        /* CTA bands */
        .cta-band {
            border-color: rgba(22,138,99,.20) !important;
            background: linear-gradient(120deg, #edf8f2, #ffffff) !important;
            box-shadow: 0 18px 42px rgba(33,77,58,.07);
        }
        .cta-band p { color: #65736c !important; }
        .cta-band button,
        #inquiryModal .bg-emerald-500 {
            background-color: #168a63 !important;
            color: #ffffff !important;
        }
        .cta-band button:hover,
        #inquiryModal .hover\:bg-emerald-600:hover { background-color: #117354 !important; }

        /* Contact + footer */
        #contact .inline-flex {
            border: 1px solid #dbe6df;
            box-shadow: 0 18px 44px rgba(33,77,58,.08);
        }
        #contact > div > button {
            background: #17211d !important;
            color: #ffffff !important;
        }
        #contact > div > button:hover { background: #26342d !important; }
        footer { color: #33453c !important; border-color: #d7e2db !important; }

        /* Modal and form fields */
        #inquiryModal > .bg-zinc-900,
        #inquiryModal .bg-zinc-900,
        .sticky-submit {
            background: #ffffff !important;
            color: #17211d !important;
        }
        #inquiryModal .border-zinc-700 { border-color: #dbe6df !important; }
        #inquiryModal .text-zinc-400 { color: #66736d !important; }
        #inquiryModal button.hover\:text-white:hover { color: #17211d !important; }
        #inquiryModal input,
        #inquiryModal textarea,
        #inquiryModal select,
        #inquiryModal label.bg-zinc-800 {
            background: #f8fbf9 !important;
            color: #17211d !important;
            border-color: #d7e2db !important;
        }
        #inquiryModal input:focus,
        #inquiryModal textarea:focus,
        #inquiryModal select:focus {
            outline: none;
            border-color: #4aaa80 !important;
            box-shadow: 0 0 0 3px rgba(22,138,99,.10);
        }
        #inquiryModal input::placeholder,
        #inquiryModal textarea::placeholder { color: #9aa59f !important; }
        .service-btn {
            background: #ffffff !important;
            color: #17211d !important;
            border-color: #d7e2db !important;
        }
        .service-btn:hover { background: #f3f8f5 !important; border-color: #75b99d !important; }
        .service-btn.active {
            border-color: #168a63 !important;
            background-color: #edf8f2 !important;
            color: #0f684b !important;
            box-shadow: inset 0 0 0 1px rgba(22,138,99,.06);
        }

        @media (max-width: 767px) {
            #mainNavLinks {
                border-color: #dbe6df !important;
                background: rgba(255,255,255,.98) !important;
                box-shadow: 0 25px 60px rgba(33,77,58,.15) !important;
            }
            .service-overview-item + .service-overview-item { border-color: #e0e9e4 !important; }
            #immigration > div > .space-y-12 > div + div { border-color: #dbe6df !important; }
        }
    


        .tour-catalog {
            position: relative;
            margin: 18px 0 84px;
            padding: 46px;
            overflow: hidden;
            border: 1px solid var(--junoko-border, #dbe6df);
            border-radius: 32px;
            background: linear-gradient(150deg, rgba(255,255,255,.98), rgba(241,248,244,.88));
            box-shadow: 0 24px 64px rgba(33,77,58,.09);
        }
        .tour-catalog::before {
            position: absolute;
            top: -120px;
            right: -90px;
            width: 320px;
            height: 320px;
            border-radius: 50%;
            content: "";
            background: radial-gradient(circle, rgba(22,138,99,.10), transparent 68%);
            pointer-events: none;
        }
        .tour-catalog-head { position: relative; z-index: 1; max-width: 790px; margin: 0 auto 38px; text-align: center; }
        .tour-catalog-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 14px;
            color: #168a63;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .17em;
            text-transform: uppercase;
        }
        .tour-catalog-kicker::before, .tour-catalog-kicker::after { width: 24px; height: 1px; content: ""; background: rgba(22,138,99,.35); }
        .tour-catalog-head h3 { margin: 0 0 14px; font-size: clamp(30px, 4vw, 42px); font-weight: 650; letter-spacing: -.035em; }
        .tour-catalog-head p { margin: 0; color: #65736c; font-size: 15px; line-height: 1.85; }
        .tour-catalog-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 22px; }
        .tour-catalog-tag {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 8px 12px;
            border: 1px solid #dbe6df;
            border-radius: 999px;
            color: #42534a;
            background: rgba(255,255,255,.86);
            font-size: 12px;
            font-weight: 600;
        }
        .tour-catalog-tag i { color: #168a63; font-size: 11px; }
        .tour-category + .tour-category { margin-top: 46px; padding-top: 42px; border-top: 1px solid #dbe6df; }
        .tour-category-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
        .tour-category-title { display: flex; align-items: center; gap: 12px; }
        .tour-category-icon {
            display: grid;
            width: 42px;
            height: 42px;
            place-items: center;
            flex: 0 0 auto;
            border: 1px solid rgba(22,138,99,.22);
            border-radius: 14px;
            color: #168a63;
            background: #edf8f2;
        }
        .tour-category-title h4 { margin: 0; font-size: 23px; font-weight: 650; letter-spacing: -.02em; }
        .tour-category-head > p { max-width: 440px; margin: 0; color: #78857e; font-size: 12px; line-height: 1.65; text-align: right; }
        .tour-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
        .tour-route-grid.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .tour-route-card {
            position: relative;
            min-height: 220px;
            padding: 23px;
            border: 1px solid #dbe6df;
            border-radius: 22px;
            background: rgba(255,255,255,.92);
            box-shadow: 0 10px 28px rgba(33,77,58,.045);
            transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
        }
        .tour-route-card:hover { transform: translateY(-4px); border-color: #91c8ae; box-shadow: 0 18px 38px rgba(33,77,58,.10); }
        .tour-route-card.featured { background: linear-gradient(145deg, #ffffff, #edf8f2); }
        .tour-route-card .route-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 16px;
            padding: 6px 9px;
            border-radius: 999px;
            color: #0f684b;
            background: #eaf6f0;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: .05em;
            text-transform: uppercase;
        }
        .tour-route-card h5 { margin: 0 0 12px; color: #17211d; font-size: 18px; font-weight: 650; line-height: 1.45; }
        .tour-route-card .route-path { margin: 0; color: #617068; font-size: 13px; line-height: 1.8; }
        .tour-route-card .route-path strong { color: #33453c; font-weight: 650; }
        .tour-route-card .route-note {
            display: flex;
            align-items: center;
            gap: 7px;
            margin-top: 17px;
            padding-top: 14px;
            border-top: 1px solid #edf1ef;
            color: #168a63;
            font-size: 11px;
            font-weight: 650;
        }
        .tour-route-card .route-options { display: grid; gap: 8px; margin-top: 15px; }
        .tour-route-card .route-option {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            padding: 10px 12px;
            border: 1px solid #e2ebe6;
            border-radius: 13px;
            color: #4f6158;
            background: #fbfdfc;
            font-size: 12px;
        }
        .tour-route-card .route-option span:last-child { color: #168a63; font-weight: 650; white-space: nowrap; }
        .tour-operation-note {
            display: grid;
            grid-template-columns: auto 1fr auto;
            align-items: center;
            gap: 16px;
            margin-top: 28px;
            padding: 18px 20px;
            border: 1px solid rgba(22,138,99,.18);
            border-radius: 18px;
            background: rgba(237,248,242,.75);
        }
        .tour-operation-note .note-icon {
            display: grid;
            width: 38px;
            height: 38px;
            place-items: center;
            border-radius: 12px;
            color: #168a63;
            background: #ffffff;
            box-shadow: 0 8px 20px rgba(33,77,58,.08);
        }
        .tour-operation-note p { margin: 0; color: #5e6d65; font-size: 12px; line-height: 1.7; }
        .tour-operation-note button {
            border: 0;
            padding: 10px 15px;
            border-radius: 12px;
            color: #ffffff;
            background: #168a63;
            font-size: 12px;
            font-weight: 650;
            cursor: pointer;
            white-space: nowrap;
            transition: background .2s ease;
        }
        .tour-operation-note button:hover { background: #117354; }
        @media (max-width: 1024px) {
            .tour-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        @media (max-width: 767px) {
            .tour-catalog { margin-bottom: 62px; padding: 28px 20px; border-radius: 24px; }
            .tour-category-head { align-items: flex-start; flex-direction: column; gap: 10px; }
            .tour-category-head > p { text-align: left; }
            .tour-route-grid, .tour-route-grid.two-col { grid-template-columns: 1fr; }
            .tour-route-card { min-height: auto; padding: 20px; }
            .tour-operation-note { grid-template-columns: auto 1fr; }
            .tour-operation-note button { grid-column: 1 / -1; width: 100%; }
        }
    


        /* Shared premium section language */
        .premium-section-shell { position: relative; }
        .premium-section-shell::before {
            position: absolute; inset: 0; content: ""; pointer-events: none;
            background:
                radial-gradient(circle at 12% 8%, rgba(22,138,99,.07), transparent 28%),
                radial-gradient(circle at 88% 86%, rgba(22,138,99,.055), transparent 26%);
        }
        .premium-section-shell > .premium-inner { position: relative; z-index: 1; }
        .premium-kicker {
            display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px;
            border: 1px solid rgba(22,138,99,.18); border-radius: 999px;
            background: rgba(255,255,255,.72); color: #168a63;
            font-size: 10px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase;
            box-shadow: 0 10px 30px rgba(33,77,58,.05);
        }
        .premium-kicker::before { width: 7px; height: 7px; border-radius: 50%; content: ""; background: #34a878; box-shadow: 0 0 0 5px rgba(52,168,120,.10); }
        .premium-display { color: #17211d !important; letter-spacing: -.045em; }
        .premium-lead { color: #5f6f67 !important; line-height: 1.9; }
        .premium-rule { height: 1px; background: linear-gradient(90deg, transparent, #cfe0d6 18%, #cfe0d6 82%, transparent); }

        /* TOUR — editorial luxury */
        #tours.lux-tour { background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 52%, #ffffff 100%) !important; }
        .tour-hero-panel {
            position: relative; overflow: hidden; margin: 42px auto 54px; padding: 42px;
            border: 1px solid #dce8e1; border-radius: 34px;
            background: linear-gradient(128deg, rgba(255,255,255,.98), rgba(239,248,243,.93));
            box-shadow: 0 30px 80px rgba(33,77,58,.09);
        }
        .tour-hero-panel::after {
            position: absolute; right: -130px; top: -170px; width: 390px; height: 390px;
            border: 1px solid rgba(22,138,99,.10); border-radius: 50%; content: "";
            box-shadow: 0 0 0 54px rgba(22,138,99,.026), 0 0 0 108px rgba(22,138,99,.018);
        }
        .tour-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr .75fr; gap: 42px; align-items: end; }
        .tour-hero-copy h3 { margin: 10px 0 13px; color: #17211d; font-size: clamp(28px, 4vw, 42px); font-weight: 650; letter-spacing: -.04em; }
        .tour-hero-copy p { max-width: 690px; margin: 0; color: #5f6f67; font-size: 15px; line-height: 1.9; }
        .tour-hero-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
        .tour-hero-stat { padding: 18px; border: 1px solid rgba(22,138,99,.14); border-radius: 18px; background: rgba(255,255,255,.82); }
        .tour-hero-stat i { display: block; margin-bottom: 13px; color: #168a63; font-size: 18px; }
        .tour-hero-stat strong { display: block; margin-bottom: 4px; color: #24342c; font-size: 13px; }
        .tour-hero-stat span { color: #7a8881; font-size: 11px; line-height: 1.55; }

        .tour-promise-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 62px; }
        .tour-promise-card {
            display: flex; gap: 17px; align-items: flex-start; padding: 22px;
            border: 1px solid #deebe3; border-radius: 22px; background: #fff;
            box-shadow: 0 14px 38px rgba(33,77,58,.055); transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
        }
        .tour-promise-card:hover { transform: translateY(-4px); border-color: #b9d8c8; box-shadow: 0 22px 48px rgba(33,77,58,.09); }
        .tour-promise-icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border-radius: 14px; color: #168a63; background: #edf8f2; }
        .tour-promise-card strong { display: block; margin-bottom: 5px; color: #24342c; font-size: 14px; }
        .tour-promise-card p { margin: 0; color: #708078; font-size: 12px; line-height: 1.7; }

        .tour-lux-heading { display: grid; grid-template-columns: .68fr 1.32fr; gap: 44px; align-items: end; margin: 0 0 30px; }
        .tour-lux-heading .eyebrow { color: #168a63; font-size: 10px; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
        .tour-lux-heading h3 { margin: 8px 0 0; color: #17211d; font-size: clamp(30px, 4vw, 42px); font-weight: 650; letter-spacing: -.045em; }
        .tour-lux-heading p { margin: 0; color: #65736c; font-size: 14px; line-height: 1.85; }

        .tour-lux-category { margin-top: 22px; padding: 28px; border: 1px solid #dfeae4; border-radius: 28px; background: rgba(255,255,255,.88); box-shadow: 0 18px 46px rgba(33,77,58,.055); }
        .tour-lux-category-head { display: flex; justify-content: space-between; gap: 28px; align-items: center; margin-bottom: 22px; }
        .tour-lux-category-title { display: flex; align-items: center; gap: 13px; }
        .tour-lux-category-no { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 13px; color: #168a63; background: #edf8f2; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
        .tour-lux-category h4 { color: #26372f; font-size: 21px; font-weight: 650; }
        .tour-lux-category-head > p { max-width: 490px; margin: 0; color: #77857e; font-size: 12px; line-height: 1.65; text-align: right; }
        .tour-lux-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
        .tour-lux-grid.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
        .tour-lux-card {
            position: relative; min-height: 222px; overflow: hidden; padding: 22px;
            border: 1px solid #e0e9e4; border-radius: 21px; background: #fbfdfc;
            transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
        }
        .tour-lux-card::after { position: absolute; right: 0; top: 0; width: 54px; height: 2px; content: ""; background: #35a97a; }
        .tour-lux-card.featured { background: linear-gradient(145deg, #ffffff, #f0f8f4); border-color: #cfe4d8; }
        .tour-lux-card:hover { transform: translateY(-4px); border-color: #b7d6c6; box-shadow: 0 18px 42px rgba(33,77,58,.085); }
        .tour-lux-badge { display: inline-flex; gap: 7px; align-items: center; margin-bottom: 21px; padding: 6px 9px; border-radius: 999px; color: #168a63; background: #edf8f2; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
        .tour-lux-card h5 { margin-bottom: 13px; color: #22342b; font-size: 18px; font-weight: 650; line-height: 1.4; }
        .tour-lux-route { color: #68776f; font-size: 12px; line-height: 1.85; }
        .tour-lux-route strong { color: #2d4036; font-weight: 700; }
        .tour-lux-note { display: flex; gap: 8px; align-items: center; margin-top: 17px; padding-top: 14px; border-top: 1px solid #e9efec; color: #168a63; font-size: 10px; font-weight: 700; line-height: 1.5; }
        .tour-lux-options { display: grid; gap: 7px; margin-top: 14px; }
        .tour-lux-option { display: flex; justify-content: space-between; gap: 12px; padding: 9px 11px; border: 1px solid #e5ede9; border-radius: 11px; background: rgba(255,255,255,.84); color: #708078; font-size: 10px; }
        .tour-lux-option b { color: #168a63; font-weight: 750; }

        .season-editorial { margin-top: 76px; }
        .season-editorial-head { max-width: 760px; margin: 0 auto 30px; text-align: center; }
        .season-editorial-head h3 { margin: 9px 0 12px; color: #17211d; font-size: clamp(30px, 4vw, 40px); font-weight: 650; letter-spacing: -.04em; }
        .season-editorial-head p { margin: 0; color: #6d7b74; font-size: 13px; line-height: 1.8; }
        .season-lux-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
        .season-lux-card { padding: 22px; border: 1px solid #dfeae4; border-radius: 22px; background: #fff; box-shadow: 0 14px 35px rgba(33,77,58,.045); }
        .season-lux-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 19px; }
        .season-lux-icon { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 13px; background: #edf8f2; font-size: 20px; }
        .season-lux-month { color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
        .season-lux-card h4 { margin-bottom: 7px; color: #273930; font-size: 17px; font-weight: 650; }
        .season-lux-card > p { min-height: 52px; margin: 0 0 16px; color: #75837c; font-size: 11px; line-height: 1.65; }
        .season-lux-list { display: grid; gap: 8px; padding-top: 15px; border-top: 1px solid #e9efec; }
        .season-lux-list span { display: flex; gap: 8px; color: #5f6f67; font-size: 10px; line-height: 1.5; }
        .season-lux-list i { margin-top: 3px; color: #34a878; font-size: 7px; }
        .tour-concierge {
            display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; margin-top: 30px; padding: 30px 34px;
            border: 1px solid rgba(22,138,99,.18); border-radius: 26px; background: linear-gradient(115deg,#eef8f3,#fff);
            box-shadow: 0 20px 50px rgba(33,77,58,.07);
        }
        .tour-concierge small { display: block; margin-bottom: 7px; color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
        .tour-concierge h3 { margin: 0 0 7px; color: #22342b; font-size: 22px; font-weight: 650; }
        .tour-concierge p { margin: 0; color: #6d7c74; font-size: 12px; line-height: 1.7; }
        .premium-action { border: 0; padding: 13px 18px; border-radius: 14px; color: #fff; background: #168a63; font-size: 12px; font-weight: 750; cursor: pointer; box-shadow: 0 12px 28px rgba(22,138,99,.18); transition: transform .2s ease, background .2s ease; }
        .premium-action:hover { transform: translateY(-2px); background: #117354; }

        /* IMMIGRATION — trust-led luxury */
        #immigration.lux-immigration { background: linear-gradient(180deg,#f2f8f4 0%,#ffffff 48%,#f5faf7 100%) !important; }
        .immigration-intro { max-width: 820px; margin: 0 auto 48px; text-align: center; }
        .immigration-intro h2 { margin: 12px 0 16px; }
        .immigration-intro p { margin: 0 auto; max-width: 710px; color: #64746c; font-size: 15px; line-height: 1.9; }
        .imm-benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid #dbe7df; border-radius: 28px; background: rgba(255,255,255,.88); box-shadow: 0 24px 60px rgba(33,77,58,.07); }
        .imm-benefit { position: relative; min-height: 245px; padding: 27px 23px; }
        .imm-benefit + .imm-benefit { border-left: 1px solid #e1eae5; }
        .imm-benefit-no { margin-bottom: 37px; color: #168a63; font-size: 10px; font-weight: 800; letter-spacing: .17em; }
        .imm-benefit i { position: absolute; right: 22px; top: 24px; color: rgba(22,138,99,.25); font-size: 24px; }
        .imm-benefit h3 { margin-bottom: 11px; color: #26382f; font-size: 18px; font-weight: 650; line-height: 1.5; }
        .imm-benefit p { margin: 0; color: #718078; font-size: 11px; line-height: 1.75; }

        .imm-trust-panel { position: relative; overflow: hidden; margin-top: 62px; padding: 38px; border: 1px solid #d9e8df; border-radius: 32px; background: #fff; box-shadow: 0 28px 70px rgba(33,77,58,.08); }
        .imm-trust-panel::after { position: absolute; right: -95px; bottom: -150px; width: 330px; height: 330px; border-radius: 50%; content: ""; background: radial-gradient(circle, rgba(22,138,99,.08), transparent 68%); }
        .imm-trust-head { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; gap: 46px; align-items: end; margin-bottom: 30px; }
        .imm-trust-head h3 { margin: 8px 0 0; color: #21332a; font-size: clamp(28px,4vw,38px); font-weight: 650; letter-spacing: -.04em; }
        .imm-trust-head p { margin: 0; color: #6b7b73; font-size: 13px; line-height: 1.85; }
        .imm-trust-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
        .imm-trust-card { display: flex; gap: 16px; padding: 22px; border: 1px solid #e2ebe6; border-radius: 20px; background: #fbfdfc; }
        .imm-trust-icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border-radius: 14px; color: #168a63; background: #edf8f2; }
        .imm-trust-card h4 { margin-bottom: 7px; color: #2c3e34; font-size: 15px; font-weight: 650; }
        .imm-trust-card p { margin: 0; color: #718078; font-size: 11px; line-height: 1.72; }

        .imm-service-stage { margin-top: 72px; }
        .imm-service-heading { max-width: 760px; margin-bottom: 29px; }
        .imm-service-heading h3 { margin: 8px 0 10px; color: #22342b; font-size: clamp(28px,4vw,38px); font-weight: 650; letter-spacing: -.04em; }
        .imm-service-heading p { color: #6d7c74; font-size: 13px; line-height: 1.8; }
        .imm-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
        .imm-service-card { min-height: 194px; padding: 22px; border: 1px solid #dfeae4; border-radius: 21px; background: #fff; box-shadow: 0 14px 36px rgba(33,77,58,.045); }
        .imm-service-card span { display: inline-flex; margin-bottom: 22px; color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
        .imm-service-card h4 { margin-bottom: 8px; color: #2a3b32; font-size: 16px; font-weight: 650; }
        .imm-service-card p { margin: 0; color: #718078; font-size: 11px; line-height: 1.72; }

        .imm-process-lux { margin-top: 62px; padding: 30px; border: 1px solid #dae7df; border-radius: 27px; background: linear-gradient(120deg,#edf8f2,#fff); }
        .imm-process-lux h3 { margin-bottom: 5px; color: #26382f; font-size: 22px; font-weight: 650; }
        .imm-process-lux > p { margin: 0 0 24px; color: #6c7b73; font-size: 12px; }
        .imm-process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }
        .imm-process-item { padding: 18px; border: 1px solid rgba(22,138,99,.13); border-radius: 16px; background: rgba(255,255,255,.82); }
        .imm-process-item small { color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
        .imm-process-item strong { display: block; margin: 10px 0 6px; color: #2b3e34; font-size: 13px; }
        .imm-process-item span { color: #728179; font-size: 10px; line-height: 1.6; }
        .imm-cta { margin-top: 30px; }

        /* FAQ — richer knowledge centre */
        #faq.lux-faq { background: #ffffff !important; }
        .faq-premium-head { max-width: 780px; margin: 0 auto 40px; text-align: center; }
        .faq-premium-head h2 { margin: 12px 0 14px; color: #17211d; font-size: clamp(34px,5vw,48px); font-weight: 650; letter-spacing: -.045em; }
        .faq-premium-head p { margin: 0; color: #68776f; font-size: 14px; line-height: 1.85; }
        .faq-category-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 38px; }
        .faq-category-nav a { padding: 8px 12px; border: 1px solid #dfe9e3; border-radius: 999px; color: #596a61; background: #fbfdfc; font-size: 10px; font-weight: 700; text-decoration: none; }
        .faq-category-nav a:hover { border-color: #b8d7c7; color: #168a63; background: #f1f8f4; }
        .faq-premium-grid { display: grid; grid-template-columns: 210px 1fr; gap: 34px; align-items: start; margin-top: 28px; }
        .faq-category-label { position: sticky; top: 110px; padding: 18px; border-left: 2px solid #34a878; }
        .faq-category-label small { display: block; margin-bottom: 7px; color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
        .faq-category-label h3 { color: #2b3c33; font-size: 18px; font-weight: 650; }
        .faq-category-label p { margin: 7px 0 0; color: #7a8881; font-size: 10px; line-height: 1.65; }
        .faq-list.faq-lux-list { max-width: none; margin: 0; border-top: 0; }
        .faq-lux-list .faq-item { margin-bottom: 9px; overflow: hidden; border: 1px solid #dfe9e3 !important; border-radius: 16px; background: #fbfdfc; transition: border-color .22s ease, box-shadow .22s ease; }
        .faq-lux-list .faq-item:has(.faq-question[aria-expanded="true"]) { border-color: #b9d9c8 !important; box-shadow: 0 14px 34px rgba(33,77,58,.07); background: #fff; }
        .faq-lux-list .faq-question { min-height: 68px; padding: 0 19px; color: #2a3b32 !important; font-size: 13px; line-height: 1.55; }
        .faq-lux-list .faq-question i { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #168a63 !important; background: #edf8f2; font-size: 10px; }
        .faq-lux-list .faq-answer { background: #fff; }
        .faq-answer-inner { padding: 0 19px 20px; }
        .faq-lux-list .faq-answer p { padding: 0 !important; margin: 0 !important; color: #6a7971 !important; font-size: 12px; line-height: 1.85; }
        .faq-answer-note { display: flex; gap: 8px; margin-top: 12px; padding: 11px 12px; border-radius: 11px; color: #5b6b62; background: #f1f8f4; font-size: 10px; line-height: 1.6; }
        .faq-answer-note i { margin-top: 3px; color: #168a63; }
        .faq-bottom-note { display: grid; grid-template-columns: auto 1fr auto; gap: 15px; align-items: center; margin-top: 42px; padding: 20px 22px; border: 1px solid #dce8e1; border-radius: 20px; background: linear-gradient(115deg,#f0f8f4,#fff); }
        .faq-bottom-note > i { color: #168a63; font-size: 18px; }
        .faq-bottom-note p { margin: 0; color: #63736b; font-size: 11px; line-height: 1.7; }

        @media (max-width: 1024px) {
            .tour-hero-grid, .tour-lux-heading, .imm-trust-head { grid-template-columns: 1fr; }
            .tour-hero-stats { max-width: 560px; }
            .tour-lux-category-head { align-items: flex-start; flex-direction: column; gap: 10px; }
            .tour-lux-category-head > p { text-align: left; }
            .tour-lux-grid { grid-template-columns: repeat(2,1fr); }
            .season-lux-grid { grid-template-columns: repeat(2,1fr); }
            .imm-benefit-grid { grid-template-columns: repeat(2,1fr); }
            .imm-benefit:nth-child(3) { border-top: 1px solid #e1eae5; border-left: 0; }
            .imm-benefit:nth-child(4) { border-top: 1px solid #e1eae5; }
            .imm-service-grid { grid-template-columns: repeat(2,1fr); }
            .imm-process-grid { grid-template-columns: repeat(2,1fr); }
        }
        @media (max-width: 767px) {
            .tour-hero-panel { padding: 26px 21px; border-radius: 26px; }
            .tour-hero-stats { grid-template-columns: 1fr; }
            .tour-promise-grid, .tour-lux-grid, .tour-lux-grid.two, .season-lux-grid,
            .imm-benefit-grid, .imm-trust-grid, .imm-service-grid, .imm-process-grid { grid-template-columns: 1fr; }
            .tour-lux-category { padding: 21px; border-radius: 23px; }
            .tour-lux-card { min-height: auto; }
            .tour-concierge, .faq-bottom-note { grid-template-columns: 1fr; }
            .tour-concierge .premium-action, .faq-bottom-note .premium-action { width: 100%; }
            .imm-benefit + .imm-benefit, .imm-benefit:nth-child(3), .imm-benefit:nth-child(4) { border-top: 1px solid #e1eae5; border-left: 0; }
            .imm-trust-panel { padding: 25px 20px; border-radius: 25px; }
            .faq-premium-grid { grid-template-columns: 1fr; gap: 13px; }
            .faq-category-label { position: static; padding: 0 0 10px 14px; }
        }
    


        .tour-reviews {
            position: relative;
            margin-top: 78px;
            padding: 40px;
            overflow: hidden;
            border: 1px solid #dce8e1;
            border-radius: 32px;
            background: linear-gradient(135deg, #f2f9f5 0%, #ffffff 54%, #f8fbf9 100%);
            box-shadow: 0 26px 66px rgba(33,77,58,.075);
        }
        .tour-reviews::after {
            position: absolute;
            right: -120px;
            bottom: -170px;
            width: 330px;
            height: 330px;
            border: 1px solid rgba(22,138,99,.10);
            border-radius: 50%;
            content: "";
            box-shadow: 0 0 0 48px rgba(22,138,99,.022), 0 0 0 96px rgba(22,138,99,.015);
            pointer-events: none;
        }
        .tour-reviews-head {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 34px;
            align-items: end;
            margin-bottom: 28px;
        }
        .tour-reviews-head h3 {
            margin: 10px 0 10px;
            color: #17211d;
            font-size: clamp(30px,4vw,42px);
            font-weight: 650;
            letter-spacing: -.045em;
        }
        .tour-reviews-head p {
            max-width: 690px;
            margin: 0;
            color: #68776f;
            font-size: 13px;
            line-height: 1.85;
        }
        .review-score-card {
            min-width: 210px;
            padding: 18px 20px;
            border: 1px solid rgba(22,138,99,.16);
            border-radius: 20px;
            background: rgba(255,255,255,.9);
            box-shadow: 0 14px 36px rgba(33,77,58,.055);
        }
        .review-score-stars { margin-bottom: 8px; color: #168a63; font-size: 12px; letter-spacing: 2px; }
        .review-score-main { display: flex; align-items: baseline; gap: 7px; color: #203229; }
        .review-score-main strong { font-size: 30px; line-height: 1; letter-spacing: -.05em; }
        .review-score-main span { color: #6f7f77; font-size: 11px; font-weight: 650; }
        .review-score-meta { margin-top: 8px; color: #819087; font-size: 10px; line-height: 1.55; }

        .tour-review-highlights {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 10px;
            margin-bottom: 24px;
        }
        .tour-review-highlight {
            padding: 14px 15px;
            border: 1px solid #e0eae4;
            border-radius: 16px;
            background: rgba(255,255,255,.82);
        }
        .tour-review-highlight i { margin-right: 7px; color: #168a63; font-size: 11px; }
        .tour-review-highlight strong { color: #2b3d33; font-size: 11px; }
        .tour-review-highlight span { display: block; margin-top: 5px; color: #7a8981; font-size: 9px; line-height: 1.5; }

        .tour-review-grid {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: repeat(3, minmax(0,1fr));
            gap: 14px;
        }
        .tour-review-card {
            display: flex;
            min-height: 250px;
            flex-direction: column;
            padding: 22px;
            border: 1px solid #dfe9e3;
            border-radius: 21px;
            background: #fff;
            box-shadow: 0 13px 32px rgba(33,77,58,.045);
            transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
        }
        .tour-review-card:hover {
            transform: translateY(-4px);
            border-color: #bbd9ca;
            box-shadow: 0 19px 42px rgba(33,77,58,.08);
        }
        .tour-review-meta {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            align-items: center;
            margin-bottom: 17px;
        }
        .tour-review-person { color: #294036; font-size: 11px; font-weight: 750; }
        .tour-review-stars { color: #168a63; font-size: 9px; letter-spacing: 1px; }
        .tour-review-card h4 {
            min-height: 42px;
            margin-bottom: 12px;
            color: #24362d;
            font-size: 15px;
            font-weight: 650;
            line-height: 1.45;
        }
        .tour-review-card p {
            margin: 0;
            color: #687870;
            font-size: 11px;
            line-height: 1.8;
        }
        .tour-review-tag {
            display: inline-flex;
            align-self: flex-start;
            gap: 6px;
            align-items: center;
            margin-top: auto;
            padding-top: 17px;
            color: #168a63;
            font-size: 9px;
            font-weight: 750;
            letter-spacing: .02em;
        }
        .tour-review-tag i { font-size: 8px; }
        .tour-reviews-foot {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 22px;
            align-items: center;
            margin-top: 22px;
            padding-top: 22px;
            border-top: 1px solid #dfe9e3;
        }
        .tour-reviews-foot p { margin: 0; color: #74827b; font-size: 10px; line-height: 1.7; }
        .tour-review-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 12px 15px;
            border: 1px solid #cfe1d7;
            border-radius: 13px;
            color: #146f51;
            background: #fff;
            font-size: 10px;
            font-weight: 750;
            text-decoration: none;
            transition: border-color .2s ease, background .2s ease, transform .2s ease;
        }
        .tour-review-link:hover { transform: translateY(-1px); border-color: #98c8b0; background: #f1f8f4; }

        @media (max-width: 1024px) {
            .tour-review-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
            .tour-review-highlights { grid-template-columns: repeat(2,1fr); }
        }
        @media (max-width: 767px) {
            .tour-reviews { margin-top: 58px; padding: 25px 20px; border-radius: 24px; }
            .tour-reviews-head { grid-template-columns: 1fr; gap: 18px; }
            .review-score-card { min-width: 0; }
            .tour-review-highlights { grid-template-columns: 1fr 1fr; }
            .tour-review-grid { grid-template-columns: 1fr; }
            .tour-review-card { min-height: auto; }
            .tour-reviews-foot { grid-template-columns: 1fr; }
            .tour-review-link { width: 100%; }
        }
        @media (max-width: 430px) {
            .tour-review-highlights { grid-template-columns: 1fr; }
        }
    

/* ===== Multi-page navigation / page intro layer ===== */
:root { --junoko-nav-height: 84px; }
body { min-height: 100vh; }
.premium-nav .nav-current {
    color: #168a63 !important;
    position: relative;
}
.premium-nav .nav-current::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    height: 2px;
    border-radius: 999px;
    content: "";
    background: #168a63;
}
.subpage-hero {
    position: relative;
    min-height: 430px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    padding: 150px 0 76px;
    background:
        radial-gradient(circle at 78% 18%, rgba(22,138,99,.14), transparent 28%),
        linear-gradient(135deg, #f8fbf9 0%, #ffffff 52%, #edf7f2 100%);
    border-bottom: 1px solid #dbe6df;
}
.subpage-hero::before {
    position: absolute;
    inset: 0;
    content: "";
    opacity: .55;
    background-image:
        linear-gradient(rgba(22,138,99,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(22,138,99,.045) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to right, #000 0%, rgba(0,0,0,.4) 70%, transparent 100%);
}
.subpage-hero::after {
    position: absolute;
    right: -180px;
    top: 28px;
    width: 470px;
    height: 470px;
    border: 1px solid rgba(22,138,99,.15);
    border-radius: 50%;
    content: "";
    box-shadow: 0 0 0 70px rgba(22,138,99,.025), 0 0 0 140px rgba(22,138,99,.018);
}
.subpage-hero-inner { position: relative; z-index: 2; width: 100%; }
.subpage-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #168a63;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.subpage-kicker::before { width: 34px; height: 1px; content: ""; background: #168a63; }
.subpage-title {
    max-width: 880px;
    margin: 18px 0 18px;
    color: #17211d;
    font-size: clamp(42px, 6vw, 72px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.045em;
}
.subpage-description {
    max-width: 720px;
    margin: 0;
    color: #5d6d65;
    font-size: 17px;
    line-height: 1.85;
}
.subpage-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: #829088;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.subpage-breadcrumb a { transition: color .2s ease; }
.subpage-breadcrumb a:hover { color: #168a63; }

.home-explore { padding: 105px 0 112px; background: #f3f8f5; }
.home-explore-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 42px; }
.home-explore-card {
    display: flex;
    min-height: 220px;
    flex-direction: column;
    justify-content: space-between;
    padding: 28px;
    border: 1px solid #dbe6df;
    border-radius: 26px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 46px rgba(33,77,58,.06);
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.home-explore-card:hover { transform: translateY(-5px); border-color: #9bcab5; box-shadow: 0 24px 52px rgba(33,77,58,.10); }
.home-explore-card i { color: #168a63; font-size: 21px; }
.home-explore-card small { display: block; margin: 20px 0 8px; color: #168a63; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.home-explore-card h3 { margin: 0; color: #17211d; font-size: 20px; font-weight: 650; }
.home-explore-card p { margin: 10px 0 0; color: #66736d; font-size: 13px; line-height: 1.7; }
.home-explore-card .arrow { margin-top: 28px; color: #17211d; font-size: 13px; font-weight: 700; }

.site-footer-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 22px; margin-top: 24px; font-size: 12px; }
.site-footer-nav a { color: #65736c; transition: color .2s ease; }
.site-footer-nav a:hover { color: #168a63; }

@media (max-width: 1100px) {
    .home-explore-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    :root { --junoko-nav-height: 74px; }
    .premium-nav .nav-current::after { display: none; }
    .premium-nav .nav-current { color: #168a63 !important; background: #edf8f2; border-radius: 12px; }
    .subpage-hero { min-height: 390px; padding: 130px 0 62px; }
    .subpage-title { font-size: 43px; }
    .subpage-description { font-size: 15px; line-height: 1.8; }
    .home-explore { padding: 82px 0; }
    .home-explore-grid { grid-template-columns: 1fr; }
    .home-explore-card { min-height: 195px; }
}

/* ===== Content-rich editorial system ===== */
.content-section { position: relative; overflow: hidden; padding: 108px 0; }
.content-section-white { background: #fff; }
.content-section-soft { background: #f3f8f5; }
.content-section-ink { background: #17211d; color: #fff; }
.content-shell { width: min(1152px, calc(100% - 48px)); margin: 0 auto; }
.content-kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; color: #168a63; font-size: 10px; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.content-kicker::before { width: 28px; height: 1px; content: ""; background: #168a63; }
.editorial-intro { max-width: 760px; margin-bottom: 46px; }
.editorial-intro.centered { margin-right: auto; margin-left: auto; text-align: center; }
.editorial-intro.centered .content-kicker { justify-content: center; }
.editorial-intro h2, .editorial-copy-block h2 { margin: 0 0 20px; color: #17211d; font-size: clamp(34px, 4.4vw, 54px); font-weight: 600; line-height: 1.18; letter-spacing: -.045em; }
.editorial-intro p, .editorial-copy-block p, .long-copy p { color: #627168; font-size: 15px; line-height: 1.95; }
.editorial-intro.light h2, .editorial-intro.light p { color: #fff; }
.editorial-intro.light p { color: rgba(255,255,255,.68); }
.content-section-ink .content-kicker { color: #6fd2aa; }
.content-section-ink .content-kicker::before { background: #6fd2aa; }
.editorial-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: start; }
.editorial-copy-block { position: sticky; top: 120px; }
.long-copy { padding-top: 8px; }
.long-copy p + p { margin-top: 24px; }
.text-link-arrow { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; color: #168a63; font-size: 13px; font-weight: 750; text-decoration: none; }
.text-link-arrow span { transition: transform .2s ease; }
.text-link-arrow:hover span { transform: translateX(4px); }
.center-link { margin-top: 34px; text-align: center; }

.trust-strip { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid #dbe6df; border-radius: 26px; background: #fff; box-shadow: 0 22px 54px rgba(33,77,58,.06); }
.trust-tile { min-height: 195px; padding: 28px; }
.trust-tile + .trust-tile { border-left: 1px solid #e2ebe6; }
.trust-tile span { display: block; margin-bottom: 22px; color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.trust-tile strong { display: block; color: #203128; font-size: 17px; line-height: 1.45; }
.trust-tile p { margin: 10px 0 0; color: #718078; font-size: 12px; line-height: 1.75; }

.why-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.why-grid article { min-height: 176px; padding: 24px; border: 1px solid #dbe6df; border-radius: 22px; background: rgba(255,255,255,.88); }
.why-grid i { margin-bottom: 23px; color: #168a63; font-size: 19px; }
.why-grid strong { display: block; color: #26372f; font-size: 15px; }
.why-grid p { margin: 8px 0 0; color: #6a7971; font-size: 11px; line-height: 1.7; }

.service-depth-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.service-depth-card { display: flex; min-height: 320px; flex-direction: column; padding: 30px; border: 1px solid #dbe6df; border-radius: 25px; background: #fff; box-shadow: 0 16px 38px rgba(33,77,58,.045); }
.service-depth-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 54px; }
.service-depth-top span { color: #9aa7a0; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.service-depth-top i { color: #168a63; font-size: 22px; }
.service-depth-card h3 { color: #203128; font-size: 19px; font-weight: 650; }
.service-depth-card p { margin: 12px 0 24px; color: #68776f; font-size: 12px; line-height: 1.8; }
.service-depth-card a, .service-depth-card button { margin-top: auto; border: 0; padding: 0; color: #168a63; background: transparent; font-size: 11px; font-weight: 750; text-align: left; cursor: pointer; }

.process-ribbon { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #cfded5; }
.process-ribbon article { position: relative; padding: 30px 28px 4px 0; }
.process-ribbon article::before { position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border: 2px solid #f3f8f5; border-radius: 50%; content: ""; background: #168a63; box-shadow: 0 0 0 1px #168a63; }
.process-ribbon span { color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.process-ribbon strong { display: block; margin-top: 16px; color: #25362e; font-size: 16px; }
.process-ribbon p { margin: 9px 0 0; color: #68776f; font-size: 11px; line-height: 1.75; }
.process-ribbon.light { border-top-color: rgba(255,255,255,.22); }
.process-ribbon.light article::before { border-color: #17211d; background: #6fd2aa; box-shadow: 0 0 0 1px #6fd2aa; }
.process-ribbon.light span { color: #79d7b1; }
.process-ribbon.light strong { color: #fff; }
.process-ribbon.light p { color: rgba(255,255,255,.6); }

.guide-teaser-panel, .wide-cta { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; padding: 42px 46px; border: 1px solid #cfe0d7; border-radius: 30px; background: linear-gradient(135deg,#fff,#edf8f2); box-shadow: 0 22px 52px rgba(33,77,58,.07); }
.guide-teaser-panel.compact { margin-top: 54px; }
.guide-teaser-panel h2, .wide-cta h2 { margin: 0 0 10px; color: #203128; font-size: clamp(26px,3vw,38px); font-weight: 600; line-height: 1.3; letter-spacing: -.035em; }
.guide-teaser-panel p, .wide-cta p { margin: 0; max-width: 700px; color: #6b7a72; font-size: 12px; line-height: 1.8; }
.premium-action { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid #168a63; border-radius: 15px; color: #fff; background: #168a63; font-size: 11px; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform .2s ease, background .2s ease; white-space: nowrap; }
.premium-action:hover { transform: translateY(-2px); background: #117354; }
.premium-action.secondary { color: #168a63; background: #fff; }
.premium-action.secondary:hover { background: #edf8f2; }
.wide-cta.dark { border-color: rgba(111,210,170,.2); background: linear-gradient(135deg,rgba(255,255,255,.04),rgba(111,210,170,.08)); }
.wide-cta.dark h2 { color: #fff; }
.wide-cta.dark p { color: rgba(255,255,255,.62); }
.wide-cta small, .guide-teaser-panel small { color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.compact-final-cta { padding-top: 76px; padding-bottom: 76px; }
.cta-dual { display: flex; gap: 10px; }

.principle-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.principle-card { min-height: 250px; padding: 28px; border: 1px solid #dbe6df; border-radius: 24px; background: #fff; }
.principle-card span { color: #168a63; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.principle-card h3 { margin: 52px 0 12px; color: #203128; font-size: 18px; font-weight: 650; }
.principle-card p { color: #6a7971; font-size: 11px; line-height: 1.8; }
.bridge-panel { display: grid; grid-template-columns: 1fr 230px 1fr; align-items: stretch; overflow: hidden; border: 1px solid #dbe6df; border-radius: 30px; background: #fff; }
.bridge-side { padding: 42px; }
.bridge-side small { color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.bridge-side h3 { margin: 34px 0 12px; color: #203128; font-size: 22px; font-weight: 600; }
.bridge-side p { color: #6b7a72; font-size: 12px; line-height: 1.8; }
.bridge-center { display: grid; place-content: center; text-align: center; padding: 30px; color: #fff; background: #17211d; }
.bridge-center span { color: #79d7b1; font-size: 20px; font-weight: 700; }
.bridge-center i { margin: 22px 0; font-size: 22px; }
.bridge-center p { margin: 0; color: rgba(255,255,255,.55); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.expect-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.expect-grid article { padding: 30px; border: 1px solid #dbe6df; border-radius: 24px; background: #f8fbf9; }
.expect-grid i { color: #168a63; font-size: 19px; }
.expect-grid h3 { margin: 32px 0 10px; color: #21332a; font-size: 17px; }
.expect-grid p { color: #6d7c74; font-size: 11px; line-height: 1.8; }
.company-info-panel { display: grid; grid-template-columns: .85fr 1.15fr; gap: 48px; margin-top: 42px; padding: 40px; border: 1px solid #dbe6df; border-radius: 28px; background: #fff; box-shadow: 0 18px 44px rgba(33,77,58,.05); }
.company-info-panel h3 { margin: 0 0 8px; color: #203128; font-size: 26px; font-weight: 650; }
.company-info-panel p { color: #6b7a72; font-size: 12px; line-height: 1.75; }
.company-info-panel dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.company-info-panel dl div { padding: 18px; border: 1px solid #e1eae5; border-radius: 16px; background: #f8fbf9; }
.company-info-panel dt { color: #849188; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.company-info-panel dd { margin: 8px 0 0; color: #2b3c33; font-size: 11px; font-weight: 650; }

.audience-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.audience-card { min-height: 240px; padding: 28px; border: 1px solid #dbe6df; border-radius: 23px; background: #fff; }
.audience-card i { color: #168a63; font-size: 19px; }
.audience-card h3 { margin: 35px 0 12px; color: #213229; font-size: 16px; line-height: 1.45; }
.audience-card p { color: #6b7972; font-size: 11px; line-height: 1.8; }
.dual-panel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.dual-panel { padding: 34px; border: 1px solid #dbe6df; border-radius: 28px; background: #fff; }
.dual-panel.accent { background: linear-gradient(145deg,#edf8f2,#fff); border-color: #bcd9ca; }
.dual-panel-head small { color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.dual-panel-head h3 { margin: 10px 0 30px; color: #203128; font-size: 22px; }
.detail-list { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.detail-list li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; color: #66756d; font-size: 11px; line-height: 1.8; }
.detail-list i { margin-top: 4px; color: #168a63; font-size: 10px; }
.detail-list strong { color: #2b3d34; }
.journey-timeline { display: grid; grid-template-columns: repeat(7,1fr); overflow: hidden; border: 1px solid #dbe6df; border-radius: 25px; background: #fff; }
.journey-timeline.compact { grid-template-columns: repeat(5,1fr); }
.journey-timeline article { min-height: 185px; padding: 24px 20px; }
.journey-timeline article + article { border-left: 1px solid #e1eae5; }
.journey-timeline span { color: #168a63; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.journey-timeline strong { display: block; margin: 34px 0 9px; color: #26372f; font-size: 13px; }
.journey-timeline p { color: #74827a; font-size: 10px; line-height: 1.65; }
.consult-prep-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 62px; align-items: start; }
.consult-prep-grid > div:first-child h2 { margin: 0 0 18px; color: #17211d; font-size: clamp(32px,4vw,50px); line-height: 1.2; letter-spacing: -.04em; }
.consult-prep-grid > div:first-child p { color: #67756e; font-size: 13px; line-height: 1.9; }
.checklist-card { padding: 30px; border: 1px solid #dbe6df; border-radius: 27px; background: #fff; box-shadow: 0 18px 46px rgba(33,77,58,.05); }
.consult-checklist { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.consult-checklist li { display: grid; grid-template-columns: 34px 1fr; gap: 16px; padding: 19px 0; border-bottom: 1px solid #e6ede9; }
.consult-checklist li:last-child { border-bottom: 0; }
.consult-checklist > li > span { color: #168a63; font-size: 10px; font-weight: 800; }
.consult-checklist strong { color: #26372f; font-size: 13px; }
.consult-checklist p { margin: 5px 0 0; color: #74827a; font-size: 10px; line-height: 1.65; }
.notice-panel { display: grid; grid-template-columns: 28px 1fr; gap: 16px; margin-top: 30px; padding: 23px 26px; border: 1px solid #dbe6df; border-radius: 18px; background: #f8fbf9; }
.notice-panel i { margin-top: 2px; color: #168a63; }
.notice-panel strong { color: #2a3b32; font-size: 12px; }
.notice-panel p { margin: 5px 0 0; color: #6f7e76; font-size: 10px; line-height: 1.75; }
.mini-faq-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.mini-faq-grid article { padding: 26px; border: 1px solid #dbe6df; border-radius: 22px; background: #fff; }
.mini-faq-grid h3 { margin: 0 0 11px; color: #24352d; font-size: 14px; line-height: 1.5; }
.mini-faq-grid p { margin: 0; color: #708078; font-size: 10px; line-height: 1.8; }

.aviation-scenario-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.aviation-scenario-grid article { min-height: 190px; padding: 26px; border: 1px solid #dbe6df; border-radius: 22px; background: #fff; }
.aviation-scenario-grid small { color: #168a63; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.aviation-scenario-grid h3 { margin: 27px 0 10px; color: #22342b; font-size: 16px; }
.aviation-scenario-grid p { color: #6e7d75; font-size: 10px; line-height: 1.75; }
.aviation-timeline { display: grid; grid-template-columns: repeat(6,1fr); border-top: 1px solid #cfded5; }
.aviation-timeline article { position: relative; padding: 30px 20px 0 0; }
.aviation-timeline article::before { position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; content: ""; background: #168a63; box-shadow: 0 0 0 1px #168a63; }
.aviation-timeline span { color: #168a63; font-size: 9px; font-weight: 800; }
.aviation-timeline h3 { margin: 15px 0 8px; color: #25362e; font-size: 13px; }
.aviation-timeline p { color: #75827b; font-size: 9px; line-height: 1.6; }

.tour-experience-depth { margin-bottom: 72px; }
.tour-way-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.tour-way-grid article { min-height: 190px; padding: 23px; border: 1px solid #dbe6df; border-radius: 20px; background: #fff; }
.tour-way-grid i { color: #168a63; font-size: 18px; }
.tour-way-grid strong { display: block; margin: 30px 0 9px; color: #26372f; font-size: 12px; }
.tour-way-grid p { margin: 0; color: #74827a; font-size: 9px; line-height: 1.7; }
.travel-style-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin-top: 12px; }
.travel-style-grid article { padding: 22px; border-radius: 18px; background: #17211d; }
.travel-style-grid small { color: #79d7b1; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.travel-style-grid h3 { margin: 18px 0 8px !important; color: #fff !important; font-size: 13px !important; }
.travel-style-grid p { margin: 0; color: rgba(255,255,255,.58); font-size: 9px; line-height: 1.7; }
.tour-card-story { margin: 13px 0 16px; color: #708078; font-size: 10px; line-height: 1.75; }
.tour-day-flow { margin: 74px 0 34px; }
.tour-planning-panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: 46px; align-items: start; padding: 34px; border: 1px solid #dbe6df; border-radius: 26px; background: #fff; }
.tour-planning-panel h3 { margin: 0 0 10px; color: #22342b; font-size: 22px; }
.tour-planning-panel p { color: #6f7d75; font-size: 11px; line-height: 1.8; }
.tour-planning-panel ul { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.tour-planning-panel li { padding: 15px; border: 1px solid #e1eae5; border-radius: 14px; background: #f8fbf9; }
.tour-planning-panel li strong { display: block; color: #2b3d34; font-size: 10px; }
.tour-planning-panel li span { display: block; margin-top: 5px; color: #849188; font-size: 8px; }

.region-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.region-grid article { min-height: 290px; padding: 28px; border: 1px solid #dbe6df; border-radius: 24px; background: #fff; }
.region-grid.large article { min-height: 330px; }
.region-no { margin-bottom: 34px; color: #9aa7a0; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.region-grid i { color: #168a63; font-size: 20px; }
.region-grid h3 { margin: 26px 0 10px; color: #213229; font-size: 16px; }
.region-grid p { color: #6c7b73; font-size: 10px; line-height: 1.8; }
.region-grid span { display: block; margin-top: 18px; color: #168a63; font-size: 8px; font-weight: 750; letter-spacing: .04em; }
.region-grid a { display: inline-block; margin-top: 18px; color: #168a63; font-size: 9px; font-weight: 800; }
.season-note-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.season-note-grid article { padding: 28px; border: 1px solid #dbe6df; border-radius: 20px; background: #fff; }
.season-note-grid strong { color: #168a63; font-size: 9px; letter-spacing: .12em; }
.season-note-grid p { margin: 22px 0 0; color: #2c3e35; font-size: 13px; font-weight: 650; }

.guide-fact-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.guide-fact-grid article { min-height: 240px; padding: 25px; border: 1px solid #dbe6df; border-radius: 22px; background: #fff; }
.guide-fact-grid span { color: #168a63; font-size: 9px; font-weight: 800; }
.guide-fact-grid h3 { margin: 42px 0 10px; color: #203128; font-size: 15px; }
.guide-fact-grid p { color: #6e7c75; font-size: 9px; line-height: 1.75; }
.living-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.living-grid article { min-height: 245px; padding: 28px; border: 1px solid #dbe6df; border-radius: 23px; background: #fff; }
.living-grid i { color: #168a63; font-size: 19px; }
.living-grid h3 { margin: 38px 0 10px; color: #23342c; font-size: 15px; }
.living-grid p { color: #6f7d76; font-size: 10px; line-height: 1.75; }
.season-guide-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.season-guide-grid article { padding: 28px; border: 1px solid #dbe6df; border-radius: 22px; background: #fff; }
.season-guide-grid > article > span { color: #168a63; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.season-guide-grid h3 { margin: 28px 0 10px; color: #203128; font-size: 22px; }
.season-guide-grid p { min-height: 86px; color: #6e7c75; font-size: 10px; line-height: 1.75; }
.season-guide-grid strong { display: block; color: #33463c; font-size: 9px; }
.season-guide-grid small { display: block; margin-top: 6px; color: #849188; font-size: 8px; }
.sample-journey-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.sample-journey-grid article { padding: 30px; border: 1px solid rgba(255,255,255,.13); border-radius: 23px; background: rgba(255,255,255,.04); }
.sample-journey-grid small { color: #79d7b1; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.sample-journey-grid h3 { margin: 30px 0 10px; color: #fff; font-size: 19px; }
.sample-journey-grid p { color: rgba(255,255,255,.68); font-size: 11px; line-height: 1.75; }
.sample-journey-grid span { display: block; margin-top: 20px; color: #79d7b1; font-size: 9px; }

.faq-disclaimer { display: grid; grid-template-columns: 28px 1fr; gap: 14px; margin-top: 42px; padding: 24px; border: 1px solid #dbe6df; border-radius: 18px; background: #f8fbf9; color: #6e7d75; font-size: 10px; line-height: 1.8; }
.faq-disclaimer i { color: #168a63; }

/* nav with an additional guide item */
@media (min-width: 768px) and (max-width: 1240px) {
  #mainNavLinks { gap: 12px !important; font-size: 11px !important; }
  .desktop-consult { padding-left: 16px !important; padding-right: 16px !important; }
}

@media (max-width: 1024px) {
  .trust-strip { grid-template-columns: repeat(2,1fr); }
  .trust-tile:nth-child(3) { border-top: 1px solid #e2ebe6; border-left: 0; }
  .trust-tile:nth-child(4) { border-top: 1px solid #e2ebe6; }
  .service-depth-grid, .audience-grid { grid-template-columns: repeat(2,1fr); }
  .principle-grid { grid-template-columns: repeat(2,1fr); }
  .bridge-panel { grid-template-columns: 1fr; }
  .bridge-center { min-height: 170px; }
  .journey-timeline { grid-template-columns: repeat(4,1fr); }
  .journey-timeline article:nth-child(n+5) { border-top: 1px solid #e1eae5; }
  .journey-timeline article:nth-child(5) { border-left: 0; }
  .aviation-timeline { grid-template-columns: repeat(3,1fr); }
  .tour-way-grid, .travel-style-grid { grid-template-columns: repeat(3,1fr); }
  .region-grid { grid-template-columns: repeat(2,1fr); }
  .guide-fact-grid { grid-template-columns: repeat(3,1fr); }
  .living-grid, .season-guide-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 767px) {
  .content-section { padding: 78px 0; }
  .content-shell { width: min(100% - 32px, 1152px); }
  .editorial-split, .consult-prep-grid, .tour-planning-panel, .company-info-panel { grid-template-columns: 1fr; gap: 30px; }
  .editorial-copy-block { position: static; }
  .trust-strip, .service-depth-grid, .principle-grid, .expect-grid, .audience-grid, .dual-panel-grid, .mini-faq-grid, .sample-journey-grid { grid-template-columns: 1fr; }
  .trust-tile + .trust-tile { border-top: 1px solid #e2ebe6; border-left: 0; }
  .trust-tile:nth-child(3), .trust-tile:nth-child(4) { border-left: 0; }
  .why-grid, .aviation-scenario-grid, .season-note-grid { grid-template-columns: 1fr; }
  .process-ribbon { grid-template-columns: 1fr; border-top: 0; }
  .process-ribbon article { padding: 22px 0 22px 24px; border-left: 1px solid #cfded5; }
  .process-ribbon article::before { top: 26px; left: -5px; }
  .guide-teaser-panel, .wide-cta { grid-template-columns: 1fr; padding: 30px; }
  .premium-action { width: 100%; }
  .cta-dual { flex-direction: column; }
  .bridge-side { padding: 30px; }
  .company-info-panel dl { grid-template-columns: 1fr; }
  .journey-timeline, .journey-timeline.compact { grid-template-columns: 1fr; }
  .journey-timeline article { min-height: auto; }
  .journey-timeline article + article { border-top: 1px solid #e1eae5; border-left: 0; }
  .aviation-timeline { grid-template-columns: 1fr; border-top: 0; }
  .aviation-timeline article { padding: 18px 0 18px 24px; border-left: 1px solid #cfded5; }
  .aviation-timeline article::before { top: 22px; left: -5px; }
  .tour-way-grid, .travel-style-grid { grid-template-columns: 1fr; }
  .tour-planning-panel ul { grid-template-columns: 1fr; }
  .region-grid, .guide-fact-grid, .living-grid, .season-guide-grid { grid-template-columns: 1fr; }
  .guide-fact-grid article, .region-grid article, .living-grid article { min-height: auto; }
}


/* =========================================================
   JunoKo readability upgrade + official circular logo
   Enlarges body copy and interface text while preserving the
   existing premium layout and visual hierarchy.
   ========================================================= */

html { font-size: 17px; }
body { font-size: 17px; line-height: 1.72; }

/* Official-logo lockup */
.premium-nav > div { min-height: 64px; }
.brand-lockup-logo { gap: 13px; flex: 0 0 auto; }
.brand-logo-img {
    display: block;
    width: 60px;
    height: 60px;
    flex: 0 0 60px;
    border-radius: 50%;
    box-shadow: 0 7px 22px rgba(54, 62, 28, .13);
}
.brand-meta { display: flex; flex-direction: column; line-height: 1.08; }
.brand-meta strong {
    color: #17211d;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.025em;
    white-space: nowrap;
}
.brand-meta small {
    margin-top: 6px;
    color: #6b702f;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    white-space: nowrap;
}
#mainNavLinks a {
    font-size: 15px !important;
    line-height: 1.35;
}
.desktop-consult {
    font-size: 14px !important;
    padding-top: .72rem !important;
    padding-bottom: .72rem !important;
}

/* Hero and global section labels */
.hero-eyebrow { font-size: 14px; }
.hero-trust { font-size: 15px; }
.section-label { font-size: 13px; }
.subpage-kicker { font-size: 13px; }
.subpage-breadcrumb { font-size: 12.5px; }
.subpage-description { font-size: 19px; line-height: 1.85; }

/* Home service overview */
.service-overview-item { min-height: 245px; padding: 34px; }
.service-overview-item h3 { font-size: 23px; }
.service-overview-item p { font-size: 16px; line-height: 1.82; }
.service-overview-item a { font-size: 14.5px; }

/* Legacy/general process, FAQ and CTA */
.process-step span { font-size: 12px; }
.process-step h3 { font-size: 21px; }
.process-step p { font-size: 15.5px; line-height: 1.82; }
.faq-question { font-size: 16px; line-height: 1.6; }
.faq-answer p { font-size: 15.5px; line-height: 1.9; }
.cta-band h3 { font-size: 24px; }
.cta-band p { font-size: 15.5px; }

/* Tour catalog — keep dense cards readable */
.tour-catalog-kicker { font-size: 13px; }
.tour-catalog-head p { font-size: 17px; }
.tour-catalog-tag { font-size: 14px; }
.tour-category-title h4 { font-size: 25px; }
.tour-category-head > p { font-size: 15px; }
.tour-route-card { min-height: 245px; padding: 25px; }
.tour-route-card .route-badge { font-size: 12px; }
.tour-route-card h5 { font-size: 21px; }
.tour-route-card .route-path { font-size: 15px; line-height: 1.85; }
.tour-route-card .route-note { font-size: 13px; }
.tour-route-card .route-option { font-size: 14px; }
.tour-operation-note p { font-size: 14px; }
.tour-operation-note button { font-size: 14px; }
.season-editorial-head p { font-size: 16px; }
.season-lux-month { font-size: 11px; }
.season-lux-card h4 { font-size: 19px; }
.season-lux-card > p { font-size: 14px; line-height: 1.75; }
.season-lux-list span { font-size: 13px; }
.tour-concierge small { font-size: 11px; }
.tour-concierge h3 { font-size: 24px; }
.tour-concierge p { font-size: 15px; }
.premium-action { font-size: 14.5px; padding: 14px 20px; }

/* Immigration luxury blocks */
.immigration-intro p { font-size: 17px; }
.imm-benefit-no { font-size: 12px; }
.imm-benefit h3 { font-size: 20px; }
.imm-benefit p { font-size: 14.5px; line-height: 1.82; }
.imm-trust-head p { font-size: 16px; }
.imm-trust-card h4 { font-size: 18px; }
.imm-trust-card p { font-size: 14.5px; line-height: 1.82; }
.imm-service-heading p { font-size: 16px; }
.imm-service-card span { font-size: 11px; }
.imm-service-card h4 { font-size: 18px; }
.imm-service-card p { font-size: 14.5px; line-height: 1.82; }
.imm-process-lux > p { font-size: 15px; }
.imm-process-item small { font-size: 11px; }
.imm-process-item strong { font-size: 15px; }
.imm-process-item span { font-size: 13.5px; line-height: 1.72; }

/* Premium FAQ */
.faq-premium-head p { font-size: 16.5px; }
.faq-category-nav a { font-size: 12.5px; padding: 10px 14px; }
.faq-category-label small { font-size: 11px; }
.faq-category-label h3 { font-size: 20px; }
.faq-category-label p { font-size: 13px; }
.faq-lux-list .faq-question { min-height: 76px; font-size: 16px; }
.faq-lux-list .faq-answer p { font-size: 15px; line-height: 1.9; }
.faq-answer-note { font-size: 13px; }
.faq-bottom-note { font-size: 14px; }

/* Content-rich editorial system */
.content-kicker { font-size: 12.5px; }
.editorial-intro p,
.editorial-copy-block p,
.long-copy p { font-size: 17px; line-height: 2; }
.text-link-arrow { font-size: 15px; }
.trust-tile { min-height: 220px; padding: 30px; }
.trust-tile span { font-size: 11.5px; }
.trust-tile strong { font-size: 20px; }
.trust-tile p { font-size: 15px; line-height: 1.82; }
.why-grid article { min-height: 205px; padding: 27px; }
.why-grid strong { font-size: 18px; }
.why-grid p { font-size: 14.5px; line-height: 1.82; }
.service-depth-card { min-height: 360px; padding: 32px; }
.service-depth-top span { font-size: 12px; }
.service-depth-card h3 { font-size: 22px; }
.service-depth-card p { font-size: 15px; line-height: 1.85; }
.service-depth-card a,
.service-depth-card button { font-size: 14px; }
.process-ribbon span { font-size: 11.5px; }
.process-ribbon strong { font-size: 19px; }
.process-ribbon p { font-size: 14.5px; line-height: 1.82; }
.guide-teaser-panel p,
.wide-cta p { font-size: 15px; line-height: 1.85; }
.wide-cta small,
.guide-teaser-panel small { font-size: 11px; }

/* Home explore */
.home-explore-card { min-height: 250px; padding: 30px; }
.home-explore-card small { font-size: 12px; }
.home-explore-card h3 { font-size: 23px; }
.home-explore-card p { font-size: 15px; line-height: 1.82; }
.home-explore-card .arrow { font-size: 14.5px; }

/* Audience / service detail / timelines */
.audience-card { min-height: 270px; }
.audience-card h3 { font-size: 19px; }
.audience-card p { font-size: 14.5px; line-height: 1.85; }
.detail-list li { font-size: 14.5px; line-height: 1.85; }
.detail-list i { font-size: 12px; }
.journey-timeline article { min-height: 215px; }
.journey-timeline span { font-size: 11px; }
.journey-timeline strong { font-size: 16px; }
.journey-timeline p { font-size: 13.5px; line-height: 1.75; }

/* Smaller information cards used across About / Pilot */
.mini-faq-grid h3 { font-size: 17px; }
.mini-faq-grid p { font-size: 14px; line-height: 1.85; }
.aviation-scenario-grid small { font-size: 10.5px; }
.aviation-scenario-grid h3 { font-size: 19px; }
.aviation-scenario-grid p { font-size: 14px; line-height: 1.82; }
.aviation-timeline span { font-size: 11px; }
.aviation-timeline h3 { font-size: 16px; }
.aviation-timeline p { font-size: 13.5px; line-height: 1.72; }

/* Tour experience / planning */
.tour-way-grid article { min-height: 220px; }
.tour-way-grid strong { font-size: 15px; }
.tour-way-grid p { font-size: 13px; line-height: 1.8; }
.travel-style-grid small { font-size: 10.5px; }
.travel-style-grid h3 { font-size: 16px !important; }
.travel-style-grid p { font-size: 13px; line-height: 1.8; }
.tour-card-story { font-size: 14px; line-height: 1.85; }
.tour-planning-panel p { font-size: 15px; line-height: 1.85; }
.tour-planning-panel li strong { font-size: 13.5px; }
.tour-planning-panel li span { font-size: 12px; }

/* Region, gallery and Slovenia Guide cards */
.region-no { font-size: 11px; }
.region-grid h3 { font-size: 19px; }
.region-grid p { font-size: 14px; line-height: 1.85; }
.region-grid span { font-size: 11px; }
.region-grid a { font-size: 12px; }
.season-note-grid strong { font-size: 11px; }
.season-note-grid p { font-size: 15px; }
.guide-fact-grid article { min-height: 270px; }
.guide-fact-grid span { font-size: 11px; }
.guide-fact-grid h3 { font-size: 18px; }
.guide-fact-grid p { font-size: 13.5px; line-height: 1.82; }
.living-grid article { min-height: 275px; }
.living-grid h3 { font-size: 18px; }
.living-grid p { font-size: 14px; line-height: 1.82; }
.season-guide-grid > article > span { font-size: 10.5px; }
.season-guide-grid h3 { font-size: 24px; }
.season-guide-grid p { font-size: 14px; line-height: 1.82; }
.season-guide-grid strong { font-size: 12px; }
.season-guide-grid small { font-size: 11px; }
.sample-journey-grid small { font-size: 11px; }
.sample-journey-grid h3 { font-size: 22px; }
.sample-journey-grid p { font-size: 14.5px; line-height: 1.82; }
.sample-journey-grid span { font-size: 11.5px; }
.faq-disclaimer { font-size: 13.5px; line-height: 1.85; }

/* Footer with company logo */
footer { padding-top: 54px !important; padding-bottom: 48px !important; }
.footer-brand-lockup {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
    margin-bottom: 13px;
    text-align: left;
}
.footer-logo-img {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    box-shadow: 0 9px 26px rgba(54,62,28,.11);
}
.footer-brand-lockup strong {
    display: block;
    color: #17211d;
    font-size: 23px;
    font-weight: 700;
    letter-spacing: -.025em;
}
.footer-brand-lockup span {
    display: block;
    margin-top: 6px;
    color: #6b702f;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .05em;
}
footer > div > p { font-size: 14.5px !important; }
.site-footer-nav { font-size: 14px; gap: 13px 24px; }

/* Modal form readability */
#inquiryModal p,
#inquiryModal label { font-size: 15px !important; }
#inquiryModal .service-btn h4 { font-size: 18px !important; }
#inquiryModal input,
#inquiryModal textarea,
#inquiryModal select { font-size: 16px; }
#inquiryModal .sticky-submit button { font-size: 18px !important; }

/* Tablet navigation: keep readable without crowding */
@media (min-width: 768px) and (max-width: 1240px) {
    #mainNavLinks { gap: 9px !important; }
    #mainNavLinks a { font-size: 13px !important; }
    .brand-logo-img { width: 52px; height: 52px; flex-basis: 52px; }
    .brand-meta strong { font-size: 15px; }
    .brand-meta small { font-size: 8.5px; }
    .desktop-consult { padding-left: 13px !important; padding-right: 13px !important; font-size: 12px !important; }
}

/* Mobile readability */
@media (max-width: 767px) {
    html { font-size: 16.5px; }
    body { font-size: 16.5px; }
    .premium-nav > div { min-height: 58px; padding-top: 12px !important; padding-bottom: 12px !important; }
    .brand-logo-img { width: 52px; height: 52px; flex-basis: 52px; }
    .brand-meta strong { font-size: 15px; }
    .brand-meta small { font-size: 8.5px; margin-top: 4px; }
    #mainNavLinks { top: 82px !important; }
    #mainNavLinks a { padding: 15px 12px !important; font-size: 16px !important; }
    .hero-eyebrow { font-size: 12.5px; }
    .hero-trust { font-size: 14.5px; }
    .subpage-description { font-size: 17px; }
    .content-kicker, .section-label, .subpage-kicker { font-size: 11.5px; }
    .editorial-intro p, .editorial-copy-block p, .long-copy p { font-size: 16px; }
    .service-overview-item p,
    .trust-tile p,
    .why-grid p,
    .service-depth-card p,
    .process-ribbon p,
    .guide-teaser-panel p,
    .wide-cta p,
    .home-explore-card p,
    .audience-card p,
    .detail-list li,
    .tour-route-card .route-path,
    .imm-benefit p,
    .imm-trust-card p,
    .imm-service-card p,
    .faq-lux-list .faq-answer p,
    .region-grid p,
    .living-grid p,
    .season-guide-grid p {
        font-size: 15px;
    }
    .tour-way-grid p,
    .travel-style-grid p,
    .guide-fact-grid p,
    .sample-journey-grid p,
    .journey-timeline p,
    .aviation-timeline p { font-size: 14px; }
    .footer-brand-lockup { gap: 13px; }
    .footer-logo-img { width: 72px; height: 72px; }
    .footer-brand-lockup strong { font-size: 20px; }
    .footer-brand-lockup span { font-size: 11px; }
    .site-footer-nav { font-size: 13.5px; }
}



/* Exact uploaded JunoKo company logo */
.brand-logo-img,
.footer-logo-img {
    object-fit: contain !important;
    background: #fff !important;
    border-radius: 50% !important;
}
.brand-logo-img {
    width: 66px !important;
    height: 66px !important;
    flex-basis: 66px !important;
}
.footer-logo-img {
    width: 118px !important;
    height: 118px !important;
}
@media (max-width: 767px) {
    .brand-logo-img {
        width: 56px !important;
        height: 56px !important;
        flex-basis: 56px !important;
    }
    .footer-logo-img {
        width: 96px !important;
        height: 96px !important;
    }
}


/* =========================================================
   JunoKo social channels
   ========================================================= */
.site-social-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: 24px auto 22px;
}
.site-social-links a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 210px;
    padding: 12px 16px;
    border: 1px solid #dbe6df;
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    color: #17211d;
    text-align: left;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.site-social-links a:hover {
    transform: translateY(-2px);
    border-color: #91b9a6;
    box-shadow: 0 12px 28px rgba(33,77,58,.08);
}
.site-social-links i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #edf8f2;
    color: #168a63;
    font-size: 16px;
    flex: 0 0 34px;
}
.site-social-links span {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}
.site-social-links strong {
    font-size: 14px;
    font-weight: 700;
}
.site-social-links small {
    margin-top: 3px;
    color: #65736c;
    font-size: 11.5px;
    font-weight: 500;
}

.social-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 38px;
}
.social-contact-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px;
    align-items: start;
    min-height: 250px;
    padding: 30px;
    border: 1px solid #dbe6df;
    border-radius: 28px;
    background: linear-gradient(145deg, #ffffff, #f5faf7);
    color: #17211d;
    box-shadow: 0 18px 42px rgba(33,77,58,.06);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.social-contact-card:hover {
    transform: translateY(-4px);
    border-color: #8fc0aa;
    box-shadow: 0 24px 54px rgba(33,77,58,.11);
}
.social-contact-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: #edf8f2;
    color: #168a63;
    font-size: 22px;
}
.social-contact-card small {
    color: #168a63;
    font-size: 11.5px;
    font-weight: 750;
    letter-spacing: .15em;
}
.social-contact-card h3 {
    margin: 7px 0 10px;
    font-size: 23px;
    font-weight: 700;
    letter-spacing: -.03em;
}
.social-contact-card p {
    margin: 0 0 19px;
    color: #65736c;
    font-size: 15px;
    line-height: 1.82;
}
.social-contact-card span {
    color: #0f684b;
    font-size: 14px;
    font-weight: 700;
}
.social-contact-card span i {
    margin-left: 6px;
    font-size: 11px;
}
.company-info-panel dd a {
    color: #168a63;
    font-weight: 650;
    text-decoration: none;
}
.company-info-panel dd a:hover { text-decoration: underline; }

@media (max-width: 767px) {
    .site-social-links {
        display: grid;
        grid-template-columns: 1fr;
        max-width: 340px;
    }
    .site-social-links a {
        min-width: 0;
        width: 100%;
    }
    .social-contact-grid { grid-template-columns: 1fr; }
    .social-contact-card {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 24px;
    }
}
