:root {
        --aa-maxw: 1200px;
        --aa-box-pad: 20px;
        --aa-radius-sm: 10px;
        --aa-radius-md: 14px;
        --aa-radius-lg: 20px;
        --aa-gap-sm: 16px;
        --aa-gap-md: 24px;
        --aa-gap-lg: 40px;
        --aa-gap-xl: 60px;
    }

    /* Page wrapper */
    .australia-attractions-page {
        font-family: var(--font-body, "Open Sans", sans-serif);
        color: var(--text-dark, #2d3748);
        background: var(--white-color, #ffffff);
    }

    /* Generic box */
    .australia-attractions-page .box {
        max-width: var(--aa-maxw);
        padding: 0 var(--aa-box-pad);
        margin: 0 auto;
    }

    /* Section wrapper spacing */
    .australia-attractions-page .section-wrapper {
        padding: 80px 0;
        position: relative;
    }

    /* Section headings */
    .australia-attractions-page .section-title {
        font-family: var(--heading, "Lora", serif);
        font-size: 2.2rem;
        line-height: 1.2;
        color: var(--dark-gray, #2d3748);
        text-align: center;
        margin: 0 0 10px;
        font-weight: 700;
    }

    .australia-attractions-page .section-subtitle {
        font-size: 1.05rem;
        color: var(--text-light, #718096);
        text-align: center;
        margin: 0 auto 50px;
        max-width: 640px;
    }

    /* Reusable grid */
    .australia-attractions-page .content-grid {
        display: grid;
        grid-template-columns: 1.1fr 1fr;
        gap: var(--aa-gap-xl);
        align-items: center;
    }

    .australia-attractions-page .content-text h2 {
        font-family: var(--heading, "Lora", serif);
        font-size: 2rem;
        font-weight: 700;
        color: var(--dark-gray, #2d3748);
        margin: 0 0 14px;
    }

    .australia-attractions-page .content-text p {
        color: var(--text-light, #718096);
        line-height: 1.8;
        margin: 0 0 14px;
        font-size: 1.05rem;
    }

    .australia-attractions-page .content-image img {
        width: 100%;
        height: 340px;
        object-fit: cover;
        border-radius: var(--aa-radius-lg);
        box-shadow: var(--shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));
    }

    /* Buttons (reuse your tokens) */
    .australia-attractions-page .btn-primary,
    .australia-attractions-page .btn-secondary {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 14px 26px;
        font-weight: 700;
        font-size: 0.95rem;
        border-radius: 999px;
        text-decoration: none;
        transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
        white-space: nowrap;
    }

    .australia-attractions-page .btn-primary {
        background: linear-gradient(135deg, var(--primary-color, #606060), var(--accent-color, #2d3748));
        color: var(--white-color, #ffffff);
        box-shadow: var(--shadow-soft, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06));
        border: none;
    }

    .australia-attractions-page .btn-primary:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));
        color: var(--white-color, #ffffff);
    }

    .australia-attractions-page .btn-secondary {
        background: var(--white-color, #ffffff);
        color: var(--primary-color, #606060);
        border: 2px solid var(--primary-color, #606060);
    }

    .australia-attractions-page .btn-secondary:hover {
        background: var(--primary-color, #606060);
        color: var(--white-color, #ffffff);
        transform: translateY(-2px);
    }

    /* HERO */
    .australia-attractions-hero {
        background: linear-gradient(135deg, var(--light-gray, #f7fafc) 0%, var(--white-color, #ffffff) 45%, var(--medium-gray, #edf2f7) 100%);
        padding: 110px 0 120px;
        position: relative;
        overflow: hidden;
    }

    .australia-attractions-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
            radial-gradient(circle at 20% 80%, rgba(74, 85, 104, .08) 0%, transparent 50%),
            radial-gradient(circle at 80% 20%, rgba(113, 128, 150, .08) 0%, transparent 50%);
        pointer-events: none;
    }

    .hero-content-attractions {
        max-width: var(--aa-maxw);
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1.15fr 1fr;
        gap: var(--aa-gap-xl);
        align-items: center;
        padding: 0 var(--aa-box-pad);
        position: relative;
        z-index: 1;
    }

    .hero-text-attractions .subtitle {
        color: var(--secondary-color, #718096);
        font-weight: 700;
        letter-spacing: .4px;
        margin-bottom: 10px;
        font-size: 0.95rem;
        animation: fadeInUp .6s ease-out both;
    }

    .hero-text-attractions h1 {
        font-family: var(--heading, "Lora", serif);
        font-size: 3rem;
        line-height: 1.2;
        color: var(--dark-gray, #2d3748);
        margin: 0 0 14px;
        font-weight: 800;
        position: relative;
        text-wrap: balance;
        animation: slideInLeft .8s ease-out both;
    }

    .hero-text-attractions p {
        color: var(--text-light, #718096);
        font-size: 1.05rem;
        line-height: 1.8;
        margin: 0 0 20px;
        animation: fadeInUp .7s ease-out .15s both;
    }

    .hero-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        margin-top: 22px;
        animation: fadeInUp .7s ease-out .3s both;
    }

    .hero-stats .stat-item {
        text-align: center;
        padding: 18px 14px;
        background: var(--white-color, #ffffff);
        border-radius: 14px;
        border: 1px solid var(--medium-gray, #edf2f7);
        box-shadow: var(--shadow-soft, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06));
        transition: transform .2s ease, box-shadow .2s ease;
    }

    .hero-stats .stat-item:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));
    }

    .hero-stats .stat-number {
        font-family: var(--heading, "Lora", serif);
        font-size: 1.8rem;
        font-weight: 800;
        color: var(--primary-color, #606060);
        display: block;
        margin-bottom: 4px;
    }

    .hero-stats .stat-label {
        font-size: 0.85rem;
        color: var(--text-light, #718096);
        font-weight: 600;
    }

    .hero-buttons {
        display: flex;
        gap: 14px;
        margin-top: 26px;
        flex-wrap: wrap;
        animation: fadeInUp .7s ease-out .45s both;
    }

    .hero-image {
        position: relative;
        animation: slideInRight .8s ease-out .15s both;
    }

    .hero-image-box {
        border-radius: var(--aa-radius-lg);
        overflow: hidden;
        box-shadow: var(--shadow-large, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));
        transform: perspective(1000px) rotateY(-4deg);
        transition: transform .4s ease;
    }

    .hero-image-box:hover {
        transform: perspective(1000px) rotateY(0deg) scale(1.015);
    }

    .hero-image img {
        width: 100%;
        height: 420px;
        object-fit: cover;
        display: block;
    }

    .floating-tags .tag {
        position: absolute;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: var(--white-color, #ffffff);
        color: var(--primary-color, #606060);
        padding: 10px 16px;
        border-radius: 999px;
        box-shadow: var(--shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));
        font-weight: 700;
        font-size: 0.9rem;
        animation: float 3s ease-in-out infinite;
    }

    .floating-tags .tag-1 {
        top: 16px;
        right: -8px;
        animation-delay: 0s;
    }

    .floating-tags .tag-2 {
        bottom: 70px;
        left: -16px;
        animation-delay: .8s;
    }

    .floating-tags .tag-icon {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: var(--primary-color, #606060);
        color: var(--white-color, #ffffff);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
    }

    /* Why Visit Section (reuses content-grid) */
    .why-visit-section {
        background: var(--white-color, #ffffff);
    }

    /* Destinations */
    .destinations-section {
        background: var(--light-gray, #f7fafc);
    }

    .destinations-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
        gap: var(--aa-gap-lg);
        margin-top: var(--aa-gap-lg);
    }

    .destination-card {
        background: var(--white-color, #ffffff);
        border-radius: var(--aa-radius-lg);
        border: 1px solid var(--medium-gray, #edf2f7);
        box-shadow: var(--shadow-soft, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06));
        overflow: hidden;
        transition: transform .25s ease, box-shadow .25s ease;
        display: grid;
    }

    .destination-card:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));
    }

    .destination-image img {
        width: 100%;
        height: 220px;
        object-fit: cover;
        display: block;
    }

    .destination-content {
        padding: 18px 18px 20px;
    }

    .destination-content h3 {
        font-family: var(--heading, "Lora", serif);
        font-size: 1.2rem;
        margin: 0 0 8px;
        color: var(--dark-gray, #2d3748);
    }

    .destination-content p {
        color: var(--text-light, #718096);
        margin: 0 0 12px;
        line-height: 1.7;
        font-size: 0.98rem;
    }

    .destination-highlights {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
    }

    .destination-highlights .highlight {
        display: inline-block;
        font-size: 0.8rem;
        font-weight: 700;
        color: var(--primary-color, #606060);
        background: linear-gradient(135deg, rgba(128, 128, 128, .08), rgba(113, 128, 150, .08));
        border: 1px solid var(--medium-gray, #edf2f7);
        padding: 6px 10px;
        border-radius: 999px;
    }

    /* Natural Wonders */
    .natural-wonders-section {
        background: var(--white-color, #ffffff);
    }

    .wonders-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
        gap: var(--aa-gap-lg);
        margin-top: var(--aa-gap-lg);
    }

    .wonder-item {
        background: var(--white-color, #ffffff);
        border: 1px solid var(--medium-gray, #edf2f7);
        border-radius: var(--aa-radius-lg);
        overflow: hidden;
        box-shadow: var(--shadow-soft, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06));
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .wonder-item:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));
    }

    .wonder-image img {
        width: 100%;
        height: 220px;
        object-fit: cover;
        display: block;
    }

    .wonder-content {
        padding: 18px;
    }

    .wonder-content h3 {
        font-family: var(--heading, "Lora", serif);
        font-size: 1.2rem;
        margin: 0 0 8px;
        color: var(--dark-gray, #2d3748);
    }

    .wonder-content p {
        color: var(--text-light, #718096);
        margin: 0;
        line-height: 1.7;
        font-size: 0.98rem;
    }

    /* Wildlife */
    .wildlife-section {
        background: var(--light-gray, #f7fafc);
    }

    .wildlife-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: var(--aa-gap-lg);
        margin-top: var(--aa-gap-lg);
    }

    .wildlife-card {
        background: var(--white-color, #ffffff);
        border: 1px solid var(--medium-gray, #edf2f7);
        border-radius: var(--aa-radius-lg);
        padding: 22px 18px;
        text-align: center;
        box-shadow: var(--shadow-soft, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06));
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .wildlife-card:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));
    }

    .wildlife-icon {
        font-size: 28px;
        width: 52px;
        height: 52px;
        border-radius: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 10px;
        color: var(--white-color, #ffffff);
        background: linear-gradient(135deg, var(--primary-color, #606060), var(--accent-color, #2d3748));
        box-shadow: var(--shadow-soft, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06));
    }

    .wildlife-card h4 {
        font-family: var(--heading, "Lora", serif);
        font-size: 1.05rem;
        color: var(--dark-gray, #2d3748);
        margin: 0 0 6px;
    }

    .wildlife-card p {
        color: var(--text-light, #718096);
        margin: 0;
        line-height: 1.7;
        font-size: 0.98rem;
    }

    /* Visa */
    .visa-section {
        background: var(--white-color, #ffffff);
    }

    .visa-details {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: var(--aa-gap-lg);
        margin-top: var(--aa-gap-lg);
    }

    .visa-detail-card {
        background: var(--white-color, #ffffff);
        border: 1px solid var(--medium-gray, #edf2f7);
        border-radius: var(--aa-radius-lg);
        padding: 22px 18px;
        box-shadow: var(--shadow-soft, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06));
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .visa-detail-card:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));
    }

    .visa-detail-card h4 {
        font-family: var(--heading, "Lora", serif);
        font-size: 1.05rem;
        color: var(--dark-gray, #2d3748);
        margin: 0 0 10px;
    }

    .visa-detail-card ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: grid;
        gap: 8px;
    }

    .visa-detail-card li {
        position: relative;
        padding-left: 20px;
        color: var(--text-light, #718096);
        font-size: 0.98rem;
        line-height: 1.7;
    }

    .visa-detail-card li::before {
        content: "- ";
        position: absolute;
        left: 6px;
        top: 0;
        color: var(--primary-color, #606060);
    }

    /* Travel Tips */
    .travel-tips-section {
        background: var(--light-gray, #f7fafc);
    }

    .tips-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: var(--aa-gap-lg);
        margin-top: var(--aa-gap-lg);
    }

    .tip-card {
        background: var(--white-color, #ffffff);
        border: 1px solid var(--medium-gray, #edf2f7);
        border-radius: var(--aa-radius-lg);
        padding: 22px 18px;
        box-shadow: var(--shadow-soft, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06));
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .tip-card:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow-medium, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05));
    }

    .tip-number {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, var(--primary-color, #606060), var(--accent-color, #2d3748));
        color: var(--white-color, #ffffff);
        font-weight: 800;
        font-size: 0.95rem;
        margin-bottom: 10px;
        box-shadow: var(--shadow-soft, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06));
    }

    .tip-card h4 {
        font-family: var(--heading, "Lora", serif);
        font-size: 1.05rem;
        color: var(--dark-gray, #2d3748);
        margin: 0 0 8px;
    }

    .tip-card p {
        color: var(--text-light, #718096);
        margin: 0;
        line-height: 1.7;
        font-size: 0.98rem;
    }

    /* Planning section */
    .planning-section {
        background: var(--white-color, #ffffff);
    }

    .planning-section .cta-box {
        margin-top: var(--aa-gap-xl);
        padding: 28px 24px;
        background: linear-gradient(135deg, var(--light-gray, #f7fafc) 0%, var(--medium-gray, #edf2f7) 100%);
        border-left: 6px solid var(--primary-color, #606060);
        border-radius: var(--aa-radius-md);
        box-shadow: var(--shadow-soft, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06));
        text-align: left;
    }

    .planning-section .cta-box h3 {
        font-family: var(--heading, "Lora", serif);
        color: var(--dark-gray, #2d3748);
        font-size: 1.3rem;
        margin: 0 0 10px;
    }

    .planning-section .cta-box p {
        color: var(--text-light, #718096);
        margin: 0 0 14px;
        line-height: 1.7;
        font-size: 1rem;
    }

    /* Animations (matching your existing keyframes) */
    @keyframes slideInLeft {
        from {
            opacity: 0;
            transform: translateX(-40px);
        }

        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    @keyframes slideInRight {
        from {
            opacity: 0;
            transform: translateX(40px);
        }

        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes float {

        0%,
        100% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(-8px);
        }
    }

    /* Responsive */
    @media (max-width: 1024px) {

        .hero-content-attractions,
        .australia-attractions-page .content-grid {
            grid-template-columns: 1fr;
            gap: var(--aa-gap-lg);
            text-align: left;
        }

        .hero-text-attractions h1 {
            font-size: 2.6rem;
        }

        .hero-stats {
            gap: 14px;
        }

        .australia-attractions-page .content-image img {
            height: 320px;
        }
    }

    @media (max-width: 768px) {
        .australia-attractions-hero {
            padding: 80px 0 90px;
        }

        .hero-text-attractions h1 {
            font-size: 2.2rem;
        }

        .hero-stats {
            grid-template-columns: repeat(3, 1fr);
        }

        .hero-buttons {
            flex-direction: row;
            flex-wrap: wrap;
        }

        .australia-attractions-page .section-title {
            font-size: 1.8rem;
        }

        .australia-attractions-page .content-image img,
        .hero-image img {
            height: 280px;
        }

        .floating-tags .tag-1,
        .floating-tags .tag-2 {
            position: static;
            margin: 8px 0 0;
        }
    }

    @media (max-width: 560px) {
        .hero-stats {
            grid-template-columns: 1fr;
        }

        .hero-text-attractions h1 {
            font-size: 2rem;
        }

        .destination-image img,
        .wonder-image img {
            height: 200px;
        }
    }