        /* =====================================================
         GUIDE LAYOUT — Stripe-style sticky sidebar + content
         ===================================================== */

        /* scroll-behavior handled by Lenis — no CSS override needed */

        /*
         * Scroll-margin ONLY on guide targets (not every [id] on the page).
         * Value = navbar (72px) + 28px breathing room = 100px.
         * This aligns keyboard/Tab nav with what lenis.scrollTo() targets.
         */
        .guide-section,
        .guide-subsection {
            scroll-margin-top: 100px;
        }

        /*
         * Disable browser scroll-anchoring on the content column.
         * Without this, the browser tries to "stabilise" element positions
         * during Lenis animation and can add a 1-3px micro-jump at landing.
         */
        .guide-content {
            overflow-anchor: none;
        }

        /* ── Two-column wrapper ── */
        .guide-layout {
            display: flex;
            align-items: flex-start;
            gap: 80px;
            width: 100%;
        }

        /* ── LEFT: Sticky sidebar ── */
        .guide-sidebar {
            flex: 0 0 320px; /* SIDEBAR LEBIH LEBAR */
            position: sticky;
            top: 88px;          /* 72px navbar + 16px gap */
            max-height: calc(100vh - 100px);
            overflow-y: auto;
            /* hide scrollbar cosmetically */
            scrollbar-width: thin;
            scrollbar-color: #e2d9f3 transparent;
        }

        .guide-sidebar::-webkit-scrollbar {
            width: 4px;
        }

        .guide-sidebar::-webkit-scrollbar-track {
            background: transparent;
        }

        .guide-sidebar::-webkit-scrollbar-thumb {
            background: #e2d9f3;
            border-radius: 4px;
        }

        /* ── Nav container ── */
        .guide-nav {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        /* ── Nav group (one per H2 section) ── */
        .guide-nav-group {
            display: flex;
            flex-direction: column;
            gap: 0;
            margin-bottom: 8px;
        }

        /* ── H2 nav link ── */
        .guide-nav-h2 {
            display: block;
            font-family: Helvetica Now, Verdana, sans-serif;
            font-size: 13px;
            font-weight: 600;
            letter-spacing: 0.02em;
            text-transform: uppercase;
            color: #1e1e1e;
            text-decoration: none;
            padding: 12px 16px; /* WIDER CLICK AREA */
            border-radius: 6px;
            transition:
                background 0.18s ease,
                color 0.18s ease;
            line-height: 1.4;
        }

        .guide-nav-h2:hover {
            background: #f0eaf9;
            color: #381669;
        }

        .guide-nav-h2.is-active {
            background: #f0eaf9;
            color: #381669;
        }

        /* ── H3 children container ── */
        .guide-nav-children {
            display: flex;
            flex-direction: column;
            padding-left: 12px;
            border-left: 2px solid #e8e0f4;
            margin-left: 12px;
            margin-top: 2px;
            margin-bottom: 4px;
        }

        /* ── H3 nav link ── */
        .guide-nav-h3 {
            display: block;
            font-family: Helvetica Now, Verdana, sans-serif;
            font-size: 13px;
            font-weight: 400;
            color: #6b6b6b;
            text-decoration: none;
            padding: 10px 14px; /* WIDER CLICK AREA */
            border-radius: 4px;
            transition:
                background 0.15s ease,
                color 0.15s ease;
            line-height: 1.45;
        }

        .guide-nav-h3:hover {
            color: #381669;
            background: #f7f4fc;
        }

        .guide-nav-h3.is-active {
            color: #381669;
            font-weight: 600;
            background: #f0eaf9;
        }

        /* Progress bar above nav (decorative) */
        .guide-sidebar::before {
            content: "";
            display: block;
            height: 2px;
            background: linear-gradient(90deg, #381669, #9f74df);
            border-radius: 2px;
            margin-bottom: 20px;
        }

        /* ── RIGHT: Article content ── */
        .guide-content {
            flex: 1;
            min-width: 0;
            padding: 0;
            max-width: 800px;
        }

        /* ── Section spacing ── */
        .guide-section {
            padding-top: 0;
            margin-bottom: 72px;
            border-bottom: 1px solid rgba(30, 30, 30, 0.08);
            padding-bottom: 72px;
        }

        .guide-section:last-child {
            border-bottom: none;
            margin-bottom: 0;
        }

        /* ── H2 heading ── */
        .guide-h2 {
            font-family: Helvetica Now, Verdana, sans-serif;
            font-size: 36px;
            font-weight: 600;
            letter-spacing: -0.03em;
            color: #1e1e1e;
            margin: 0 0 24px; /* GAP LEBIH BESAR SETELAH H2 */
            line-height: 1.25;
        }

        /* ── Subtitle below H2 ── */
        .guide-subtitle {
            font-family: Helvetica Now, Verdana, sans-serif;
            font-size: 18px;
            font-weight: 500;
            color: rgba(159, 116, 223, 1);
            margin: 0 0 36px;
            line-height: 1.5;
        }

        /* ── Sub-section (H3 block) ── */
        .guide-subsection {
            margin-bottom: 36px;
            padding-left: 0;
        }

        /* ── H3 heading ── */
        .guide-h3 {
            font-family: Helvetica Now, Verdana, sans-serif;
            font-size: 20px;
            font-weight: 600;
            letter-spacing: -0.02em;
            color: #1e1e1e;
            margin: 0 0 10px;
            line-height: 1.35;
            position: relative;
            padding-left: 18px;
        }

        .guide-h3::before {
            content: "";
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 6px;
            height: 6px;
            background: #9f74df;
            border-radius: 50%;
        }

        /* ── Body text ── */
        .guide-body {
            font-family: Helvetica Now, Verdana, sans-serif;
            font-size: 17px;
            font-weight: 400;
            color: #3a3a3a;
            line-height: 1.8;
            margin: 0 0 18px;
            max-width: 72ch;
        }

        /* ── Blockquote ── */
        .guide-blockquote {
            border-left: 3px solid #381669;
            background: #f7f4fc;
            color: #381669;
            padding: 20px 24px;
            margin: 32px 0;
            font-family: Helvetica Now, Verdana, sans-serif;
            font-size: 18px;
            font-weight: 500;
            line-height: 1.6;
            border-radius: 0 8px 8px 0;
            font-style: normal;
        }

        .guide-blockquote a {
            color: inherit;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        /* ── CTA strip at bottom ── */
        .guide-cta-strip {
            margin-top: 80px;
            padding-top: 60px;
            border-top: 1px solid rgba(30, 30, 30, 0.1);
            position: relative;
        }

        /* ── Responsive: collapse sidebar on tablet/mobile ── */
        @media (max-width: 991px) {
            .guide-layout {
                flex-direction: column;
                gap: 48px;
            }

            .guide-sidebar {
                flex: none;
                width: 100%;
                position: static;
                max-height: none;
                overflow: visible;
                border: 1px solid rgba(56, 22, 105, 0.12);
                border-radius: 10px;
                padding: 20px;
                background: #faf8fd;
            }

            .guide-sidebar::before {
                display: none;
            }

            .guide-nav-children {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 2px 8px;
            }

            .guide-h2 {
                font-size: 28px;
            }

            .guide-body {
                max-width: 100%;
            }

            .guide-content {
                padding: 0 16px; /* KURANGI PADDING DI TABLET */
            }
        }

        @media (max-width: 767px) {
            .guide-nav-children {
                grid-template-columns: 1fr;
            }

            .guide-h2 {
                font-size: 24px;
            }

            .guide-section {
                margin-bottom: 48px;
                padding-bottom: 48px;
            }

            .guide-content {
                padding: 0; /* HILANGKAN PADDING KANAN KIRI DI MOBILE */
            }
        }

        /* Centered hero titles — About, How We Work, Case Studies, Contact (match FAQ) */
        .page-about .hww-hero-section .hww-hero-top .w-layout-blockcontainer.container-default-section,
        .page-hww .hww-hero-section .hww-hero-top .w-layout-blockcontainer.container-default-section,
        .page-case-studies .hww-hero-section .hww-hero-top .w-layout-blockcontainer.container-default-section,
        .page-contact .hww-hero-section .hww-hero-top .w-layout-blockcontainer.container-default-section {
            text-align: center;
        }

        .page-about .hww-hero-section .hww-hero-text,
        .page-hww .hww-hero-section .hww-hero-text,
        .page-case-studies .hww-hero-section .hww-hero-text,
        .page-contact .hww-hero-section .hww-hero-text {
            margin-left: auto;
            margin-right: auto;
        }

        /* Contact page: CTA band — solid white (no purple/white gradient) */
        .page-contact .contact_section {
            background-image: none;
            background-color: #fff;
            padding-top: 10px;
        }

        /* About hero: keep “The Winged Foot Group” on one line */
        .page-about .hww-hero-section .hww-hero-text h1 .text-span-3 {
            white-space: nowrap;
        }

        /* ── Navbar logo: consistent, legible size on all pages (Webflow only set height on .w--current) ── */
        .navbar-brand {
            display: inline-flex;
            align-items: center;
            flex-shrink: 0;
            height: auto;
            line-height: 0;
        }

        .navbar-brand.w--current {
            height: auto;
        }

        .navbar-brand .image-2 {
            display: block;
            width: auto;
            height: auto;
            max-height: clamp(48px, 2.8vw + 38px, 62px);
            max-width: min(300px, calc(100vw - 12rem));
            object-fit: contain;
            object-position: left center;
        }

        @media screen and (max-width: 991px) {
            .navbar-brand.w--current {
                height: auto;
            }

            .navbar-brand .image-2 {
                max-height: clamp(44px, 5vw + 28px, 54px);
                max-width: min(270px, calc(100vw - 6rem));
            }
        }

        @media screen and (max-width: 479px) {
            .navbar-brand .image-2 {
                max-height: clamp(42px, 11vw + 14px, 50px);
                max-width: calc(100vw - 4.75rem);
            }
        }

        /* Audience section (home): leader lines as bullets */
        .audience-section ul.med-description.audience-leaders-list {
            list-style: disc;
            list-style-position: outside;
            padding-left: 1.35em;
            margin-top: 0;
            margin-bottom: 0;
        }

        .audience-section ul.med-description.audience-leaders-list li {
            margin-bottom: 0.55em;
            padding-left: 0.15em;
        }

        .audience-section ul.med-description.audience-leaders-list li:last-child {
            margin-bottom: 0;
        }

        /* CTA section: hide "Our service guarantee" block */
        .contact_section .guarante_heading,
        .contact_section .guarante_flex {
            display: none;
        }

        /* CTA section: make content fill width + top aligned */
        .contact_section .contact_split {
            justify-content: center;
            align-items: flex-start;
        }

        /* CTA section: ensure all children are full width */
        .contact_section .contact_split > * {
            width: 100%;
            box-sizing: border-box;
        }

        /* CTA section: heading size on desktop only */
        @media screen and (min-width: 992px) {
            .contact_section h3.summary_heading {
                font-size: 48px;
            }
        }

        /* Navbar CTA: “Start a Conversation” stays on one line (desktop) */
        @media screen and (min-width: 992px) {
            .cta-button_navbar > div {
                white-space: nowrap;
            }
        }

        /* ── Mobile navbar: full-width dropdown text + scrollable overlay ── */
        @media screen and (max-width: 991px) {
            .nav-menu-wrapper.w-nav-menu {
                max-height: calc(100dvh - 4rem);
                overflow-x: hidden;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
                overscroll-behavior: contain;
                padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));
                align-items: stretch;
                box-sizing: border-box;
            }

            .nav-dropdown-list.shadow-three.mobile-shadow-hide.w--open {
                width: 100%;
                max-width: 100%;
                min-width: 0;
                margin-left: 0;
                margin-right: 0;
                box-sizing: border-box;
            }

            .nav-menu .menu {
                align-items: flex-start;
                width: 100%;
                max-width: 100%;
                min-width: 0;
                box-sizing: border-box;
            }

            .nav-menu .menu_text {
                min-width: 0;
                flex: 1 1 auto;
                max-width: 100%;
            }

            .nav-menu .menu_desc,
            .nav-menu .nav-dropdown-link {
                white-space: normal;
                overflow-wrap: break-word;
                word-break: break-word;
                max-width: 100%;
            }

            .nav-menu .menu_icon {
                flex-shrink: 0;
            }
        }

        @media screen and (max-width: 479px) {
            .nav-menu-wrapper.w-nav-menu {
                max-height: calc(100dvh - 4.5rem);
            }
        }
