/*
Theme Name: Ama Lanka Gems
Theme URI: amalankagems.com
Author: Sameera
Author URI: https://ormc.lk
Description: Dark, modern, single-house theme for Ama Lanka Gems, a fine Ceylon gemstone house. Adapted from the SCG code skeleton with an entirely new design system.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: amalanka
Domain Path: /languages/
Tags: one-column, two-columns, custom-menu, full-width-template, theme-options, threaded-comments,
*/
body {
    font-family: "Montserrat", sans-serif;
    margin: 0;
    letter-spacing: .04em;
    font-size: 15px;
    font-weight: 400;
    line-height: 30px;
    color: #ffffff;
    background-color: #000000;
}

* {
    background-repeat: no-repeat;
}

a,
button {
    -webkit-transition: ease-out all 0.3s;
    -moz-transition: ease-out all 0.3s;
    transition: ease-out all 0.3s;
}

a {
    text-decoration: none!important;
    color: #ffffff;
}

a:hover {
    color: #cd9325;
}

/* Suppress the default focus ring on buttons (kept off !important so the
   theme's gold :focus-visible rings still show for keyboard users). */
button:focus { outline: none; }

img {
    max-width: 100%;
    height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Sitka Display', sans-serif;
    margin-bottom: 0;
    font-weight: 400;
}

h1,
.h1 {
    line-height: 50px;

    font-size: 40px;
}

h2,
.h2 {
    font-size: 36px;
    line-height: 50px;
}

h3,
.h3 {
    font-size: 20px;
    line-height: 34px;
}

h4,
.h4 {
    font-size: 18px;
    line-height: 32px;
}

.font-mont {
    font-family: "Montserrat", sans-serif;
}

@font-face {
    font-family: 'Sitka Display';
    src: url('assets/fonts/sitka-display/Sitka-Display.eot');
    src: url('assets/fonts/sitka-display/Sitka-Display.eot?#iefix') format('embedded-opentype'),
        url('assets/fonts/sitka-display/Sitka-Display.woff2') format('woff2'),
        url('assets/fonts/sitka-display/Sitka-Display.ttf') format('truetype');
    font-display: swap;
}

.font-sitka {
    font-family: 'Sitka Display', sans-serif;
}

.f-w-400 {
    font-weight: 400;
}

.f-w-500 {
    font-weight: 500;
}

.f-w-600 {
    font-weight: 600;
}

.f-w-700 {
    font-weight: 700;
}

.font-lg {
    font-size: 20px;
    line-height: 32px;
}

.br-15 {
    border-radius: 15px;
    overflow: hidden;
}

.color-white,
.color-white a {
    color: #ffffff;
}

.color-grey {
    color: #767676;
}

.color-grey-2 {
    color: #717171;
}

.color-black {
    color: #0b0b0b;
}

.bg-white {
    background-color: #ffffff;
}

.bg-black {
    background-color: #000000;
}

.bg-black-2 {
    background-color: #0b0b0b;
}

.bg-gray {
    background-color: #0f0f0f;
}
.bg-gray-2 {
    background-color: #1c1c1c;
}
.bg-beige-1 {
    background-color: #ebe7db;
}

.bg-beige-2 {
    background-color: #cecbc3;
}

.p-t-5 {
    padding-top: 5px;
}

.p-b-5 {
    padding-bottom: 5px;
}

.p-b-10 {
    padding-bottom: 10px;
}

.p-t-10 {
    padding-top: 10px;
}

.p-t-15 {
    padding-top: 15px;
}

.p-b-15 {
    padding-bottom: 15px;
}

.p-t-20 {
    padding-top: 20px;
}

.p-b-20 {
    padding-bottom: 20px;
}

.p-b-25 {
    padding-bottom: 25px;
}

.p-t-30 {
    padding-top: 30px;
}

.p-b-30 {
    padding-bottom: 30px;
}

.p-t-40 {
    padding-top: 40px;
}

.p-b-40 {
    padding-bottom: 40px;
}

.p-t-50 {
    padding-top: 50px;
}

.p-b-50 {
    padding-bottom: 50px;
}

.p-t-60 {
    padding-top: 60px;
}

.p-b-60 {
    padding-bottom: 60px;
}

.p-t-70 {
    padding-top: 70px;
}

.p-b-70 {
    padding-bottom: 70px;
}

.p-t-80 {
    padding-top: 80px;
}

.p-b-80 {
    padding-bottom: 80px;
}

.p-t-90 {
    padding-top: 90px;
}

.p-b-90 {
    padding-bottom: 90px;
}

.p-t-100 {
    padding-top: 100px;
}

.p-b-100 {
    padding-bottom: 100px;
}

.p-t-120 {
    padding-top: 120px;
}

.p-b-120 {
    padding-bottom: 120px;
}

.p-t-150 {
    padding-top: 150px;
}

.p-b-150 {
    padding-bottom: 150px;
}

.p-b-0 {
    padding-bottom: 0;
}

.p-t-0 {
    padding-bottom: 0;
}

.p-r-5 {
    padding-right: 5px;
}

.p-r-10 {
    padding-right: 10px;
}

.p-r-20 {
    padding-right: 20px;
}

.p-r-92 {
    padding-right: 92px;
}

.p-l-5 {
    padding-left: 5px;
}

.p-l-10 {
    padding-left: 10px;
}

.p-l-20 {
    padding-left: 20px;
}

.p-l-30 {
    padding-left: 30px;
}

.no-padding {
    padding: 0;
}

.m-t-5  { margin-top: 5px; }
.m-t-10 { margin-top: 10px; }
.m-t-15 { margin-top: 15px; }
.m-t-20 { margin-top: 20px; }
.m-t-25 { margin-top: 25px; }
.m-t-30 { margin-top: 30px; }
.m-t-40 { margin-top: 40px; }
.m-t-50 { margin-top: 50px; }
.m-t-60 { margin-top: 60px; }

.m-b-5 {
    margin-bottom: 5px;
}

.m-b-10 {
    margin-bottom: 10px;
}

.m-b-15 {
    margin-bottom: 15px;
}

.m-b-20 {
    margin-bottom: 20px;
}

.m-b-30 {
    margin-bottom: 30px;
}

.m-b-40 {
    margin-bottom: 40px;
}

.m-b-50 {
    margin-bottom: 50px;
}

.m-b-60 {
    margin-bottom: 60px;
}

.m-r-5 {
    margin-right: 5px;
}

.m-r-10 {
    margin-right: 10px;
}

.m-r-15 {
    margin-right: 15px;
}

.m-r-20 {
    margin-right: 20px;
}

.m-r-25 {
    margin-right: 25px;
}

.m-r-30 {
    margin-right: 30px;
}

.m-l-5 {
    margin-left: 5px;
}

.m-l-10 {
    margin-left: 10px;
}

.m-l-15 {
    margin-left: 15px;
}

.m-l-20 {
    margin-left: 20px;
}

.m-l-25 {
    margin-left: 25px;
}

.m-l-30 {
    margin-left: 30px;
}

.no-margin {
    margin: 0;
}

.font-lg {
    font-size: 18px;
    line-height: 33px;
}

.font-xl {
    font-size: 24px;
    line-height: 36px;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

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

.multi-para p {
    margin-bottom: 20px;
}

.multi-para p:last-child {
    margin-bottom: 0px;
}

.container-padding-1 {
    padding: 0 240px;
}

.font-style-italic {
    font-style: italic;
}

.header-up {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #2e2e2e;
    padding: 10px 50px;
}
.header-up-right ul li {
    display: inline-block;
    margin: 0 15px;
}

.header-up-right ul li a {
    text-transform: uppercase;
    font-size: 14px;
    line-height: 15px;
    color: #727272;
}

.header-up-right ul li a:hover {
    color: #cd9325;
}

.header-up-left p {
    margin: 0;
}

.header-up-text {
    font-size: 14px;
    line-height: 15px;
    color: #727272;
}

.header-up-center i {
    color: #cd9325
}

/* Navbar */
.header {
    padding: 0 50px;
}
.header .navbar-brand{
	max-width: 200px;
}
.header .navbar-nav{
	padding-right:30px;
}
.navbar-dark .navbar-nav li {
    margin: 0 10px;
}
.navbar-dark .navbar-nav li a {
    /* color: #ffffff; */
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    padding: 15px 7px;
    display: block;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.navbar-dark .navbar-nav li.active-light a {
    color: #797979;
    font-weight: 500;
}

.navbar-dark .navbar-nav li.active-light a:hover {
    color: #ffffff;
}

/* ── Sub-menu ────────────────────────────────────────────── */
.navbar-dark .navbar-nav li {
    position: relative;
}

.navbar-dark .navbar-nav .sub-menu,
.navbar-dark .navbar-nav .dropdown-menu {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 210px;
    background-color: #0d0d0d !important;
    color: #cccccc !important;
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #242424;
    border-radius: 6px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7);
}

.navbar-dark .navbar-nav li:hover > .sub-menu,
.navbar-dark .navbar-nav li:focus-within > .sub-menu,
.navbar-dark .navbar-nav li:hover > .dropdown-menu,
.navbar-dark .navbar-nav li:focus-within > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.navbar-dark .navbar-nav .sub-menu li,
.navbar-dark .navbar-nav .dropdown-menu li {
    margin: 0;
    display: block;
}

.navbar-dark .navbar-nav .sub-menu li a,
.navbar-dark .navbar-nav .dropdown-menu li a,
.navbar-dark .navbar-nav .dropdown-menu .dropdown-item {
    padding: 10px 20px;
    font-size: 13px;
    color: #cccccc !important;
    white-space: nowrap;
    border-left: 2px solid transparent;
    background-color: transparent !important;
    display: block;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, padding-left 0.2s ease;
    border-bottom: 1px solid #ffffff10;
}

.navbar-dark .navbar-nav .sub-menu li a:hover,
.navbar-dark .navbar-nav .dropdown-menu li a:hover,
.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover {
    color: #c9a96e !important;
    background-color: #1a1a1a !important;
    padding-left: 26px;
    border-left-color: #c9a96e;
}

/* ── Nested (3rd-level) sub-menu ────────────────────────── */
.navbar-dark .navbar-nav .sub-menu .sub-menu {
    top: 0;
    left: 100%;
    border-top: none;
    border-left: 2px solid #c9a96e;
    transform: translateX(10px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}

.navbar-dark .navbar-nav .sub-menu li:hover > .sub-menu,
.navbar-dark .navbar-nav .sub-menu li:focus-within > .sub-menu,
.navbar-dark .navbar-nav .dropdown-menu li:hover > .sub-menu,
.navbar-dark .navbar-nav .dropdown-menu li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.support-icon {
    width: 48px;
    height: 48px;
    background-color: #1a1a1a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.support-icon img {
    width: 22px;
    height: 22px;
}

.support-title {
    font-size: 14px;
    color: #767676;
    line-height: 1.2;
    margin-bottom: 3px;
}

.support-phone {
    font-size: 18px;
    color: #ffffff;
    text-decoration: none;
    display: inline-block;
    line-height: 1;
}
.header .support-phone {
    font-size: 15px;
}
/*hero section*/
.hero-section {
    background-image: url('assets/images/Ceylon-Gems-Sri-Lanka-Gemstones.webp');
    background-size: auto 100%;
    background-position: right bottom;
    background-repeat: no-repeat;
    padding-bottom: 50px;
}

.hero-section .container {
    position: relative;
}

.hero-text-block {
    padding-top: 95px;
}

.hero-features ul li {
    font-size: 14px;
    border: 1px solid rgb(49, 49, 49);
    background-color: rgb(20, 20, 20);
    display: inline-block;
    border-radius: 20px;
    padding: 5px 15px;
}

/*search form*/
.search-form {
    padding: 25px;
    background-color: rgba(15, 15, 15, 0.85);
    border-radius: 15px;
    backdrop-filter: blur(5px);
}

select:focus {
    border-color: #00000000 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.btn-main {
    background-color: #036007;
    border: none;
    font-weight: 600;
    font-size: 16px;
    border-radius: 10px;
    color: #ffffff;
    padding: 13px 20px;
}

.btn-main:hover {
    background-color: #09950f;
}

/*gem category*/
.category-item {
    padding: 30px 16px;
}

.category-item-title {
    font-weight: 600;
    font-size: 20px;
    line-height: 35px;
}

/*why sapphire*/
.checked-list ul {
    padding: 10px 0 15px;
}

.checked-list ul li {
    margin-bottom: 15px;
    padding-left: 30px;
    position: relative;
}

.checked-list ul li:before {
    content: url("assets/images/icon-checked.png");
    position: absolute;
    left: 0;
    top: 56%;
    transform: translateY(-50%);
}

/*testimonials*/
.testi-item {
    display: flex;
    padding: 60px;
    background-color: #d6d3c9;
    border: 1px solid #ffffff;
    margin: 0 10px;
}

.testi-item-left {
    padding-left: 70px;
    padding-right: 60px;
    border-right: 1px solid #e3e1da;
    position: relative;
}

.testi-item-left:after {
    content: url("assets/images/icon-testi.png");
    position: absolute;
    top: 0;
    left: 0;
}

.testi-item-left p {
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

.testi-item-right {
    padding-left: 60px;
    min-width: 200px;
}

.testimonial-carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: -40px;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none;
    right: -40px;
    opacity: 0;
    transition: all 0.3s ease;
}

.testimonial-carousel .owl-nav button {
    background: none;
    border: none;
    pointer-events: all;
}

.testimonial-carousel .owl-nav .nav-arrow {
    width: 25px;
    height: auto;
}

.testimonial-carousel:hover .owl-nav {
    opacity: 1;
    pointer-events: all;
}

/*contact-support-section*/
.contact-support-content {
    padding: 0 260px;
}

.contact-support-button-area {
    display: flex;
    justify-content: center;
    align-items: center;
}

/*faq-section*/
.faq-down-content {
    padding: 0 120px;
}

.faq-question {
    font-size: 18px;
    line-height: 29px;
    font-weight: 600;
    padding: 30px 50px;
}

.faq-answer {
    padding: 30px 50px;
    border-top: 1px solid #e8e7e1;
}

.faq-list li {
    border: 1px solid #eae9e6;
}

/*footer*/
.footer-down {
    border-top: 1px solid #232323;
}

/* Buy Ceylon Gems Worldwide */
.footer-worldwide {
    border-top: 1px solid #232323;
    border-bottom: 1px solid #232323;
}

.footer-worldwide-title {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #767676;
    margin-bottom: 20px;
}

.footer-worldwide-list {
    columns: 4;
    column-gap: 20px;
}

.footer-worldwide-list li {
    margin-bottom: 10px;
    break-inside: avoid;
}

.footer-worldwide-list li a {
    font-size: 14px;
    color: #a0a0a0;
    transition: color 0.3s ease;
}

.footer-worldwide-list li a:hover {
    color: #cd9325;
}

@media (max-width: 767px) {
    .footer-worldwide-list {
        columns: 2;
    }
}




.grid-item {
    transition: all 0.3s ease;
    margin-bottom: 25px;
}

.grid-img-wrap {
    overflow: hidden;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.grid-img {
    transition: transform 0.5s ease;
}

.grid-img-wrap:hover .grid-img {
    transform: scale(1.05);
}

.title-sm {
    line-height: 50px;
    font-size: 34px;
}

.financing {
    background: url('assets/images/gardiant-bg.jpg') no-repeat bottom center;
    background-size: 100% auto;
}

.popular-carousel .item img {
    max-height: 80px;
    width: auto;
    margin: 0 auto;
}

.popular-carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: -40px;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none;
    right: -40px;
    opacity: 0;
    transition: all 0.3s ease;
}

.popular-carousel .owl-nav button {
    background: none;
    border: none;
    pointer-events: all;
}

.popular-carousel .owl-nav .nav-arrow {
    width: 25px;
    height: auto;
}

.popular-carousel:hover .owl-nav {
    opacity: 1;
    pointer-events: all;
}

.home-categories a {
    display: block;
    font-weight: 400;
    padding: 5px 0;
    transition: all 0.3s ease;
}

.home-categories {
    background-image: url('assets/images/gr-top-bottom.png');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% 100%;
}

.sell-car-section {
    position: relative;
}

.sell-car-section .sell-car-bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 45%;
    background-image: url('assets/images/sell-car-bg.jpg');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto;
}
.social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #ffffff80;
    border-radius: 50%;
    transition: all 0.3s ease;
    margin: 8px;
}
.social-icons a img {
    width: 20px;
    height: auto;
    transition: all 0.3s ease;
}

/* Hover effect */
.social-icons a:hover {
    border-color: #cd9325;
    background-color: #cd9325;
}

.social-icons a:hover img {
    filter: brightness(0) invert(1);
    /* make white inside golden bg */
}

/* ===================== TABLET (max-width: 992px) ===================== */
@media (max-width: 992px) {
    .support-box {
        display: table;
        margin: 20px auto;
    }

    .support-box a {
        margin: 0 !important;
    }

    .header {
        border-bottom: 1px solid #121212;
        padding: 0 15px;
    }

    /* Reduce large section padding on tablet */
    .p-t-100 {
        padding-top: 60px;
    }

    .p-b-100 {
        padding-bottom: 60px;
    }

    .p-t-120 {
        padding-top: 70px;
    }

    .p-b-120 {
        padding-bottom: 70px;
    }

    .p-t-80 {
        padding-top: 50px;
    }

    .p-b-80 {
        padding-bottom: 50px;
    }

    /* Reduce container-padding-1 on tablet */
    .container-padding-1 {
        padding: 0 80px;
    }

    /* CTA section padding */
    .contact-support-content {
        padding: 0 60px;
    }

    /* FAQ padding */
    .faq-down-content {
        padding: 0 40px;
    }

    /* Testimonial padding */
    .testi-item {
        padding: 40px 30px;
    }

    .testi-item-left {
        padding-left: 50px;
        padding-right: 30px;
    }

    .testi-item-right {
        padding-left: 30px;
    }
}

/* ===================== MOBILE (max-width: 767px) ===================== */
@media (max-width: 767px) {

    body,
    html {
        overflow-x: hidden;
    }

    /* Hide top bar on mobile */
    .header-up {
        display: none;
    }

    /* Header */
    .header {
        padding: 0 10px;
    }

    /* Typography scaling for mobile */
    h1,
    .h1 {
        font-size: 28px;
        line-height: 38px;
    }

    h2,
    .h2 {
        font-size: 26px;
        line-height: 36px;
    }

    h3,
    .h3 {
        font-size: 18px;
        line-height: 28px;
    }

    .font-lg {
        font-size: 16px;
        line-height: 26px;
    }

    /* Hero section */
    .hero-section {
        background-size: auto 50%;
        background-position: right bottom;
    }

    .hero-text-block {
        padding-top: 40px;
    }

    .search-content.p-t-120 {
        padding-top: 30px;
    }

    .search-form {
        padding: 15px;
    }

    .hero-features ul li {
        font-size: 12px;
        padding: 4px 10px;
        margin-bottom: 5px;
    }

    /* Reduce all large section paddings for mobile */
    .p-t-100 {
        padding-top: 40px;
    }

    .p-b-100 {
        padding-bottom: 40px;
    }

    .p-t-120 {
        padding-top: 50px;
    }

    .p-b-120 {
        padding-bottom: 50px;
    }

    .p-t-80 {
        padding-top: 30px;
    }

    .p-b-80 {
        padding-bottom: 30px;
    }

    .p-b-50 {
        padding-bottom: 25px;
    }

    .p-t-50 {
        padding-top: 25px;
    }

    /* Container padding — remove large padding on mobile */
    .container-padding-1 {
        padding: 0 15px;
    }

    /* Categories */
    .category-item {
        padding: 20px 10px;
    }

    /* Why Sapphire section — stack image and text */
    .why-sapphire-left {
        margin-bottom: 30px;
    }

    /* Testimonial — stack layout vertically on mobile */
    .testi-item {
        flex-direction: column;
        padding: 30px 20px;
    }

    .testi-item-left {
        padding-left: 40px;
        padding-right: 0;
        border-right: none;
        border-bottom: 1px solid #e3e1da;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .testi-item-right {
        padding-left: 0;
        min-width: auto;
    }

    /* CTA section */
    .contact-support-content {
        padding: 0 15px;
    }

    .contact-support-button-area {
        flex-direction: column;
        gap: 20px;
    }

    .contact-support-button-area .support-box a {
        margin-left: 0 !important;
    }

    /* FAQ */
    .faq-down-content {
        padding: 0;
    }

    .faq-question {
        padding: 20px 15px;
        font-size: 16px;
    }

    .faq-answer {
        padding: 15px;
    }

    /* Sell car bg (leftover class) */
    .sell-car-section .sell-car-bg {
        position: relative;
        width: 100%;
        height: 300px;
        background-position: center;
        margin-bottom: 30px;
        background-size: 100% auto;
    }

    /* Footer */
    .footer .row>div {
        margin-bottom: 30px;
    }

    .footer {
        text-align: center;
    }

    .footer .list-unstyled {
        text-align: center;
    }

    .footer .list-unstyled li {
        margin-bottom: 15px;
    }

    .footer .list-unstyled li a {
        display: inline-block;
        padding: 5px;
    }

    .footer .d-flex {
        justify-content: center;
    }

    .footer .text-start {
        text-align: center !important;
    }

    .testimonial-carousel .owl-nav,
    .popular-carousel .owl-nav {
        display: none !important;
    }

    .owl-dots {
        margin-top: 20px;
        text-align: center;
    }

    .owl-theme .owl-dots .owl-dot {
        display: inline-block;
    }

    .owl-theme .owl-dots .owl-dot span {
        width: 14px;
        height: 14px;
        margin: 5px 8px;
        background: #D6D6D6;
        display: block;
        transition: opacity .2s ease;
        border-radius: 50%;
    }

    .owl-theme .owl-dots .owl-dot.active span,
    .owl-theme .owl-dots .owl-dot:hover span {
        background: #cd9325;
    }
}

/* ===================== SMALL MOBILE (max-width: 480px) ===================== */
@media (max-width: 480px) {
    .navbar-brand {
        max-width: 180px;
    }

    h2,
    .h2 {
        font-size: 22px;
        line-height: 32px;
    }

    /* Hero even smaller */
    .hero-section {
        background-size: auto 40%;
    }

    .hero-text-block {
        padding-top: 25px;
    }

    /* Search form tighter */
    .btn-main {
        font-size: 14px;
        padding: 10px 15px;
    }

    /* Testimonial font */
    .testi-item-left p {
        font-size: 14px;
        line-height: 24px;
    }
}

/* ===================== COUNTRY GEM PAGES ===================== */

/* ── Layout ── */
.cg-country-page section {
    padding-top: 60px;
    padding-bottom: 60px;
}

/* ── Hero ── */
.cg-hero {
    background: linear-gradient(135deg, #080808 0%, #0b1408 60%, #080808 100%);
    border-bottom: 1px solid #1c2a1c;
    padding-top: 50px;
    padding-bottom: 50px;
    overflow: hidden;
    position: relative;
}

.cg-hero::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: radial-gradient(ellipse at 80% 50%, rgba(30, 100, 60, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

.cg-hero-inner {
    display: flex;
    align-items: center;
    gap: 60px;
}

.cg-hero-content {
    flex: 1;
    min-width: 0;
}

.cg-hero-highlight {
    color: #38aa3d;
}

.cg-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.cg-hero-badges span {
    font-size: 12px;
    color: #cd9325;
    background-color: rgba(205, 147, 37, 0.08);
    border: 1px solid rgba(205, 147, 37, 0.22);
    border-radius: 20px;
    padding: 5px 13px;
    font-weight: 600;
    letter-spacing: 0.4px;
}

/* ── Hero visual (gem) ── */
.cg-hero-visual {
    flex: 0 0 260px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cg-hero-gem-wrap {
    position: relative;
    width: 220px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cg-hero-gem-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(30, 120, 80, 0.2);
    animation: cg-ring-pulse 3s ease-in-out infinite;
}

.cg-hero-gem-ring--outer {
    width: 270px;
    height: 270px;
    animation-delay: 0s;
}
.cg-hero-gem-ring--inner {
    width: 200px;
    height: 200px;
    border-color: rgb(255 255 255 / 20%);
    animation-delay: 0.5s;
}
@keyframes cg-ring-pulse {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50%       { opacity: 1;   transform: scale(1.04); }
}
.cg-hero-gem {
    width: 190px;
    height: auto;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 0 24px rgba(30, 100, 220, 0.35)) drop-shadow(0 0 8px rgba(30, 100, 220, 0.2));
    animation: cg-gem-float 5s ease-in-out infinite;
}

@keyframes cg-gem-float {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-10px); }
}

.cg-breadcrumb #breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    padding: 0;
    margin: 20px 0 0;
    font-size: 13px;
    color: #858585;
}

.cg-breadcrumb #breadcrumbs a {
    color: #767676;
    transition: color 0.3s ease;
}

.cg-breadcrumb #breadcrumbs a:hover {
    color: #cd9325;
}

.cg-breadcrumb #breadcrumbs .breadcrumb_last {
    color: #ffffff;
}

.cg-page-title {
    font-size: 40px;
    line-height: 50px;
    margin-bottom: 12px;
}

.cg-page-subtitle {
    font-size: 16px;
    color: #a0a0a0;
    margin: 0;
    line-height: 28px;
}

/* ── Section titles ── */
.cg-section-title {
    font-size: 28px;
    line-height: 40px;
    margin-bottom: 8px;
}

.cg-section-lead {
    color: #a0a0a0;
    margin-bottom: 36px;
    font-size: 15px;
}

/* ── Intro ── */
.cg-intro {
    background-color: #000000;
}

.cg-intro-content p {
    font-size: 16px;
    line-height: 30px;
    color: #d0d0d0;
    margin-bottom: 18px;
}

.cg-intro-content p:last-child {
    margin-bottom: 0;
}

/* ── SEO Content ── */
.cg-content {
    background-color: #0b0b0b;
}

.cg-content-preview h2,
.cg-content-full h2 {
    font-size: 24px;
    line-height: 36px;
    margin-top: 36px;
    margin-bottom: 16px;
    color: #ffffff;
}

.cg-content-preview h2:first-child,
.cg-content-full h2:first-child {
    margin-top: 0;
}

.cg-content-preview p,
.cg-content-full p {
    font-size: 15px;
    line-height: 28px;
    color: #b0b0b0;
    margin-bottom: 16px;
}

.cg-read-more-wrap {
    margin-top: 28px;
    text-align: center;
}
.cg-read-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: 1px solid #333;
    color: #d0d0d0;
    font-size: 14px;
    font-weight: 500;
    padding: 5px 28px;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.3s ease, color 0.3s ease;
    font-family: "Montserrat", sans-serif;
}
.cg-read-more-btn:hover {
    border-color: #cd9325;
    color: #cd9325;
}

.cg-read-more-icon {
    transition: transform 0.3s ease;
}
.cg-breadcrumb, .cg-breadcrumb a {
	color: #707070;
}
/* ── FAQ ── */
.cg-faq {
    background-color: #000000;
}

.cg-faq-list {
    margin-top: 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cg-faq-item {
    border: 1px solid #222;
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.3s ease;
}

.cg-faq-item--open {
    border-color: #333;
}

.cg-faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: none;
    border: none;
    padding: 20px 24px;
    text-align: left;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.4s ease-out;
	outline:none!important;
}

.cg-faq-question:hover {
    color: #cd9325;
	background-color: #40404038;
}

.cg-faq-item--open .cg-faq-question {
    color: #cd9325;
}

.cg-faq-icon {
    flex-shrink: 0;
    transition: transform 0.3s ease;
    color: #767676;
}

.cg-faq-item--open .cg-faq-icon {
    transform: rotate(180deg);
    color: #cd9325;
}

.cg-faq-answer {
    padding: 0 24px 20px;
    border-top: 1px solid #1e1e1e;
}

.cg-faq-answer p {
    font-size: 14px;
    line-height: 26px;
    color: #a0a0a0;
    margin: 16px 0 0;
}

/* ── CTA Banner ── */
.cg-cta {
    background: linear-gradient(135deg, #0d0d0d 0%, #1a1200 50%, #0d0d0d 100%);
    border-top: 1px solid #2a2000;
    border-bottom: 1px solid #2a2000;
}

.cg-cta-inner {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

.cg-cta-eyebrow {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #cd9325;
    margin-bottom: 12px;
}

.cg-cta-title {
    font-size: 32px;
    line-height: 44px;
    margin-bottom: 16px;
}

.cg-cta-desc {
    font-size: 16px;
    line-height: 28px;
    color: #a0a0a0;
    margin-bottom: 24px;
}

.cg-cta-buyers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
}

.cg-cta-buyers li {
    font-size: 13px;
    color: #cd9325;
    background-color: rgba(205,147,37,0.1);
    border: 1px solid rgba(205,147,37,0.2);
    border-radius: 20px;
    padding: 5px 14px;
	transition:all 0.3s ease-out;
}
.cg-cta-buyers li:hover {
    background-color: rgb(205 147 37 / 6%);
}
.cg-cta-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
}

.cg-cta-note {
    margin-top: 18px;
    font-size: 13px;
    color: #666;
}

/* ── Buttons ── */
.cg-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 34px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    font-family: "Montserrat", sans-serif;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    position: relative;
    overflow: hidden;
}

.cg-btn-primary {
    background: linear-gradient(135deg, #b87d10 0%, #cd9325 55%, #e8b84b 100%);
    color: #0d0d0d;
    box-shadow: 0 4px 18px rgba(205, 147, 37, 0.3);
}

.cg-btn-primary:hover {
    background: linear-gradient(135deg, #cd9325 0%, #e8b84b 60%, #f5ca6a 100%);
    color: #0d0d0d;
    box-shadow: 0 8px 28px rgba(205, 147, 37, 0.5);
    transform: translateY(-2px);
}

.cg-btn-whatsapp {
    background: #00a93f;
    color: #1d1c19;
    box-shadow: 0 4px 18px rgba(37, 211, 102, 0.25);
}

.cg-btn-whatsapp:hover {
    background: #1dba58;
    color: #ffffff;
    box-shadow: 0 8px 28px rgba(37, 211, 102, 0.45);
    transform: translateY(-2px);
}

/* ── Country Pages — Tablet (max 992px) ── */
@media (max-width: 992px) {
    .cg-page-title {
        font-size: 32px;
        line-height: 42px;
    }

    .cg-hero-visual {
        flex: 0 0 200px;
    }

    .cg-hero-gem-wrap {
        width: 180px;
        height: 180px;
    }

    .cg-hero-gem-ring--outer {
        width: 180px;
        height: 180px;
    }

    .cg-hero-gem-ring--inner {
        width: 130px;
        height: 130px;
    }

    .cg-hero-gem {
        width: 105px;
    }
}

/* ── Country Pages — Mobile (max 767px) ── */
@media (max-width: 767px) {
    .cg-country-page section {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .cg-hero-inner {
        flex-direction: column-reverse;
        gap: 30px;
        text-align: center;
    }

    .cg-hero-visual {
        flex: none;
    }

    .cg-hero-badges {
        justify-content: center;
    }

    .cg-breadcrumb #breadcrumbs {
        justify-content: center;
    }

    .cg-page-title {
        font-size: 26px;
        line-height: 36px;
    }

    .cg-page-subtitle {
        font-size: 14px;
    }

    .cg-section-title {
        font-size: 22px;
        line-height: 32px;
    }

    .cg-cta-title {
        font-size: 24px;
        line-height: 34px;
    }

    .cg-content-preview h2,
    .cg-content-full h2 {
        font-size: 20px;
        line-height: 30px;
    }

    .cg-faq-question {
        font-size: 14px;
        padding: 16px 18px;
    }

    .cg-faq-answer {
        padding: 0 18px 16px;
    }

    .cg-cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    .cg-btn {
        width: 100%;
        max-width: 320px;
        justify-content: center;
    }
}

/* ===================== SINGLE GEM PAGE ===================== */

.cg-hero .cg-breadcrumb{
	padding-top:20px;
	font-size: 14px;
}
.br-10{
	border-radius:10px;
	overflow: hidden;
}
.main-title{
	padding-top: 60px;
    padding-bottom: 60px;
    background-color: #0F0F0F; 
}
/* ===================== ABOUT US PAGE ===================== */

/* ── Stats bar ── */
.au-stats {
    background-color: #050505;
    border-bottom: 1px solid #1c1c1c;
}

.au-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    text-align: center;
}

.au-stat-item {
    padding: 32px 20px;
    border-right: 1px solid #1c1c1c;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.au-stat-item:last-child {
    border-right: none;
}

.au-stat-number {
    font-size: 24px;
    color: #cd9325;
    padding-bottom: 10px;
}
.au-stat-label {
    font-size: 14px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    line-height: 22px;
}

/* ── Split sections ── */
.au-split-section {
    background-color: #0b0b0b;
}

.au-split-section--alt {
    background-color: #000000;
    border-top: 1px solid #141414;
}

.au-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

.au-split--reverse .au-split-visual {
    order: -1;
}

.au-split-text h2 {
    font-size: 30px;
    line-height: 42px;
    margin-bottom: 20px;
    color: #ffffff;
}

.au-split-text p {
    font-size: 15px;
    line-height: 28px;
    color: #b0b0b0;
    margin-bottom: 16px;
}

.au-split-text p:last-child {
    margin-bottom: 0;
}

.au-split-text a {
    color: #cd9325;
}

.au-split-text a:hover {
    text-decoration: underline !important;
}

/* ── Eyebrow label ── */
.au-eyebrow {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #cd9325;
    margin-bottom: 14px;
}

/* ── Image placeholders ── */
.au-img-ph {
    background-color: #0e0e0e;
    border: 1px dashed #252525;
    border-radius: 12px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #303030;
    text-align: center;
    padding: 40px 24px;
    min-height: 240px;
}

.au-img-ph svg {
    opacity: 0.5;
}

.au-img-ph span {
    font-size: 12px;
    letter-spacing: 0.3px;
    color: #333333;
    line-height: 20px;
}

.au-hero-ph {
    width: 180px;
    height: 180px;
}

.au-hero-ph svg {
    opacity: 0.4;
}

.au-hero-ph span {
    font-size: 10px;
    color: #333333;
    text-align: center;
    letter-spacing: 0.3px;
}

/* ── Mission section ── */
.au-mission-section {
    background-color: #060606;
    border-top: 1px solid #141414;
    border-bottom: 1px solid #141414;
}

.au-mission-inner {
    max-width: 780px;
    margin: 0 auto;
}

.au-mission-inner h2 {
    font-size: 30px;
    line-height: 42px;
    margin-bottom: 20px;
    color: #ffffff;
}

.au-mission-inner p {
    font-size: 16px;
    line-height: 30px;
    color: #b8b8b8;
    margin-bottom: 20px;
}

.au-mission-inner p:last-child {
    margin-bottom: 0;
}

.au-mission-quote {
    border-left: 3px solid #cd9325;
    padding: 14px 0 14px 28px;
    margin: 28px 0;
}

.au-mission-quote p {
    font-size: 17px;
    line-height: 30px;
    color: #d8d8d8;
    font-style: italic;
    margin: 0 !important;
}

/* ── Features grid ── */
.au-features {
    background-color: #080808;
    border-top: 1px solid #161616;
    border-bottom: 1px solid #161616;
}

.au-features-header {
    margin-bottom: 36px;
}

.au-features-header h2 {
    font-size: 28px;
    line-height: 40px;
    margin-bottom: 8px;
    color: #ffffff;
}

.au-features-header p {
    font-size: 15px;
    color: #707070;
    margin: 0;
}

.au-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.au-feature-card {
    background-color: #0e0e0e;
    border: 1px solid #1e1e1e;
    border-radius: 12px;
    padding: 28px 24px;
    transition: border-color 0.3s ease, background-color 0.3s ease;
    position: relative;
    overflow: hidden;
}

.au-feature-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(205, 147, 37, 0.5), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.au-feature-card:hover {
    border-color: rgba(205, 147, 37, 0.2);
    background-color: #111111;
}

.au-feature-card:hover::after {
    opacity: 1;
}

.au-feature-icon {
    width: 46px;
    height: 46px;
    background-color: rgba(205, 147, 37, 0.08);
    border: 1px solid rgba(205, 147, 37, 0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    color: #cd9325;
    transition: background-color 0.3s ease;
    flex-shrink: 0;
}

.au-feature-card:hover .au-feature-icon {
    background-color: rgba(205, 147, 37, 0.14);
}

.au-feature-card h3 {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;
    margin-bottom: 10px;
    color: #e8e8e8;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.au-feature-card p {
    font-size: 14px;
    line-height: 24px;
    color: #888888;
    margin: 0;
}

/* ── About page responsive ── */
@media (max-width: 991px) {
    .au-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .au-stat-item:nth-child(2) {
        border-right: none;
    }

    .au-stat-item:nth-child(3),
    .au-stat-item:nth-child(4) {
        border-top: 1px solid #1c1c1c;
    }

    .au-stat-item:nth-child(4) {
        border-right: none;
    }

    .au-split {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .au-split--reverse .au-split-visual {
        order: 0;
    }

    .au-features-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .au-mission-inner {
        max-width: 100%;
    }
}

@media (max-width: 575px) {
    .au-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .au-stat-number {
        font-size: 24px;
    }

    .au-features-grid {
        grid-template-columns: 1fr;
    }

    .au-mission-quote {
        padding-left: 18px;
    }

    .au-split-text h2,
    .au-mission-inner h2 {
        font-size: 24px;
        line-height: 34px;
    }
}

/* =====================================================================
   JOIN SUPPLIERS PAGE
   ===================================================================== */

.js-who-section {
    padding: 72px 0;
    background-color: #000;
}

.js-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
}

.js-two-col-text h2 {
    font-size: 28px;
    line-height: 40px;
    margin-bottom: 18px;
    color: #fff;
}

.js-two-col-text p {
    font-size: 15px;
    line-height: 28px;
    color: #a0a0a0;
    margin-bottom: 16px;
}

.js-two-col-text p:last-child { margin-bottom: 0; }

.js-criteria-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #cd9325;
    margin-bottom: 20px;
}

.js-req-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.js-req-list li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 18px;
    background-color: #0c0c0c;
    border: 1px solid #1c1c1c;
    border-radius: 10px;
    transition: border-color 0.3s ease;
}

.js-req-list li:hover { border-color: #2e2e2e; }

.js-req-icon {
    width: 36px;
    height: 36px;
    background-color: rgba(205,147,37,0.08);
    border: 1px solid rgba(205,147,37,0.15);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.js-req-list li strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #e0e0e0;
    margin-bottom: 4px;
    font-family: "Montserrat", sans-serif;
}

.js-req-list li p {
    font-size: 13px;
    line-height: 22px;
    color: #666;
    margin: 0;
}

/* Process */
.js-process-section {
    padding: 72px 0;
    background-color: #050505;
    border-top: 1px solid #141414;
    border-bottom: 1px solid #141414;
}

.js-process-header {
    text-align: center;
    margin-bottom: 52px;
}

.js-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.js-step {
    padding: 28px 24px;
    background-color: #0c0c0c;
    border: 1px solid #1c1c1c;
    border-radius: 12px;
    position: relative;
}

.js-step-num {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #cd9325;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 14px;
    display: block;
}

.js-step h3 {
    font-size: 15px;
    font-weight: 600;
    color: #e0e0e0;
    margin-bottom: 10px;
    font-family: "Montserrat", sans-serif;
    line-height: 22px;
}

.js-step p {
    font-size: 13px;
    line-height: 22px;
    color: #666;
    margin: 0;
}

/* Benefits */
.js-benefits-section {
    padding: 72px 0;
    background-color: #000;
}

.js-benefits-header {
    margin-bottom: 44px;
}

.js-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.js-benefit-card {
    padding: 28px 24px;
    background-color: #0c0c0c;
    border: 1px solid #1c1c1c;
    border-radius: 12px;
    transition: border-color 0.3s ease, background-color 0.3s ease;
    position: relative;
    overflow: hidden;
}

.js-benefit-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(205,147,37,0.4), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.js-benefit-card:hover {
    border-color: rgba(205,147,37,0.2);
    background-color: #0f0f0f;
}

.js-benefit-card:hover::before { opacity: 1; }

.js-benefit-icon {
    width: 46px;
    height: 46px;
    background-color: rgba(205,147,37,0.08);
    border: 1px solid rgba(205,147,37,0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    color: #cd9325;
}

.js-benefit-card h3 {
    font-size: 14px;
    font-weight: 700;
    color: #e0e0e0;
    margin-bottom: 10px;
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.js-benefit-card p {
    font-size: 13px;
    line-height: 22px;
    color: #777;
    margin: 0;
}

/* Application form */
.js-form-section {
    padding: 80px 0;
    background-color: #060606;
    border-top: 1px solid #141414;
}

.js-form-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 72px;
    align-items: start;
}

.js-form-left h2 {
    font-size: 28px;
    line-height: 40px;
    color: #fff;
    margin-bottom: 16px;
}

.js-form-left p {
    font-size: 15px;
    line-height: 27px;
    color: #888;
    margin-bottom: 14px;
}

.js-form-left p:last-of-type { margin-bottom: 0; }

.js-apply-form {
    background-color: #0c0c0c;
    border: 1px solid #1c1c1c;
    border-radius: 14px;
    padding: 36px;
}

.js-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.js-form-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 18px;
}

.js-form-group label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #888;
    font-family: "Montserrat", sans-serif;
}

.js-apply-form input,
.js-apply-form textarea,
.js-apply-form select {
    width: 100%;
    background-color: #111;
    border: 1px solid #242424;
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 14px;
    color: #e0e0e0;
    font-family: "Montserrat", sans-serif;
    transition: border-color 0.25s ease, background-color 0.25s ease;
    outline: none;
    line-height: 1.5;
}

.js-apply-form input::placeholder,
.js-apply-form textarea::placeholder {
    color: #444;
}

.js-apply-form input:focus,
.js-apply-form textarea:focus {
    border-color: rgba(205,147,37,0.5);
    background-color: #131313;
}

.js-apply-form textarea {
    resize: vertical;
    min-height: 120px;
}

.js-submit-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 6px;
    font-size: 15px;
    padding: 14px 28px;
    border-radius: 10px;
}

/* Responsive */
@media (max-width: 992px) {
    .js-two-col { grid-template-columns: 1fr; gap: 40px; }
    .js-steps { grid-template-columns: repeat(2, 1fr); }
    .js-benefits-grid { grid-template-columns: repeat(2, 1fr); }
    .js-form-wrapper { grid-template-columns: 1fr; gap: 40px; }
    .js-apply-form { padding: 24px; }
}

@media (max-width: 767px) {
    .js-steps { grid-template-columns: 1fr; }
    .js-benefits-grid { grid-template-columns: 1fr; }
    .js-form-row { grid-template-columns: 1fr; gap: 0; }
    .js-who-section,
    .js-process-section,
    .js-benefits-section,
    .js-form-section { padding: 48px 0; }
}

/* =====================================================================
   VERIFIED SELLERS PAGE
   ===================================================================== */

/* ── Shared typography helpers ── */
.vs-eyebrow,
.vs-section-eyebrow {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #cd9325;
    margin-bottom: 12px;
    font-weight: 600;
}

.vs-section-title {
    font-size: 30px;
    line-height: 42px;
    color: #ffffff;
    margin-bottom: 10px;
}

.vs-section-lead {
    font-size: 15px;
    color: #888888;
    margin: 0;
    line-height: 26px;
}

/* ── Hero ── */
.vs-hero {
    background: linear-gradient(160deg, #060606 0%, #0a1208 55%, #060606 100%);
    border-bottom: 1px solid #1c2a1c;
    padding: 60px 0 50px;
    position: relative;
    overflow: hidden;
}

.vs-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 70% 50%, rgba(205,147,37,0.04) 0%, transparent 65%);
    pointer-events: none;
}

.vs-hero-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 60px;
    align-items: center;
}

.vs-hero-content .vs-eyebrow {
    margin-bottom: 14px;
}

.vs-hero-title {
    font-size: 44px;
    line-height: 54px;
    margin-bottom: 16px;
    color: #ffffff;
}

.vs-hero-lead {
    font-size: 16px;
    line-height: 28px;
    color: #a0a0a0;
    max-width: 560px;
    margin-bottom: 24px;
}

.vs-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.vs-hero-badges span {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.4px;
    color: #cd9325;
    background-color: rgba(205,147,37,0.08);
    border: 1px solid rgba(205,147,37,0.22);
    border-radius: 20px;
    padding: 5px 14px;
}

.vs-hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    background-color: #131313;
    border: 1px solid #1e1e1e;
    border-radius: 14px;
    overflow: hidden;
    min-width: 280px;
}

.vs-hero-stat {
    padding: 22px 24px;
    background-color: #0c0c0c;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: background-color 0.3s ease;
}

.vs-hero-stat:hover {
    background-color: #111;
}

.vs-hero-stat-num {
    font-size: 26px;
    font-weight: 700;
    color: #cd9325;
    line-height: 1;
    font-family: "Montserrat", sans-serif;
}

.vs-hero-stat-label {
    font-size: 11px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    line-height: 16px;
}

/* ── Verification Process ── */
.vs-process-section {
    padding: 72px 0;
    background-color: #050505;
    border-bottom: 1px solid #141414;
}

.vs-process-header {
    text-align: center;
    margin-bottom: 52px;
}

.vs-process-steps {
    display: flex;
    align-items: flex-start;
    gap: 0;
}

.vs-step {
    flex: 1;
    padding: 0 32px;
}

.vs-step:first-child {
    padding-left: 0;
}

.vs-step:last-child {
    padding-right: 0;
}

.vs-step-num {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #cd9325;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.vs-step-num::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, rgba(205,147,37,0.3), transparent);
}

.vs-step-body h3 {
    font-size: 16px;
    line-height: 24px;
    color: #e0e0e0;
    margin-bottom: 10px;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
}

.vs-step-body p {
    font-size: 14px;
    line-height: 24px;
    color: #777;
    margin: 0;
}

.vs-step-divider {
    width: 1px;
    height: 80px;
    background: linear-gradient(to bottom, transparent, #2a2a2a, transparent);
    margin-top: 28px;
    flex-shrink: 0;
}

/* ── Seller Grid Section ── */
.vs-grid-section {
    padding: 80px 0;
    background-color: #000000;
}

.vs-grid-header {
    margin-bottom: 52px;
}

.vs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* ── Seller Card ── */
.vs-card {
    background-color: #0c0c0c;
    border: 1px solid #1c1c1c;
    border-radius: 14px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    transition: border-color 0.3s ease, transform 0.3s ease;
    position: relative;
    overflow: hidden;
}

.vs-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(205,147,37,0.5), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.vs-card:hover {
    border-color: rgba(205,147,37,0.25);
    transform: translateY(-3px);
}

.vs-card:hover::before {
    opacity: 1;
}

/* Card top: avatar + identity */
.vs-card-top {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.vs-card-avatar {
    width: 54px;
    height: 54px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(255,255,255,0.06);
}

.vs-card-avatar span {
    font-size: 17px;
    font-weight: 700;
    color: rgba(255,255,255,0.85);
    font-family: "Montserrat", sans-serif;
    letter-spacing: 1px;
}

.vs-card-identity {
    flex: 1;
    min-width: 0;
}

.vs-card-verified-row {
    margin-bottom: 4px;
}

.vs-verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #38aa3d;
    background-color: rgba(56,170,61,0.1);
    border: 1px solid rgba(56,170,61,0.2);
    border-radius: 20px;
    padding: 3px 8px;
}

.vs-verified-badge img {
    filter: invert(55%) sepia(60%) saturate(400%) hue-rotate(90deg);
    width: 11px;
    height: 11px;
}

.vs-card-name {
    font-size: 17px;
    font-weight: 600;
    color: #f0f0f0;
    margin: 0 0 4px;
    font-family: "Montserrat", sans-serif;
    line-height: 22px;
}

.vs-card-location {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #666;
    margin: 0;
    line-height: 1;
}

/* Gem specialty tags */
.vs-card-specialties {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.vs-gem-tag {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: #b8892a;
    background-color: rgba(205,147,37,0.07);
    border: 1px solid rgba(205,147,37,0.15);
    border-radius: 4px;
    padding: 3px 9px;
}

/* Highlight line */
.vs-card-highlight {
    font-size: 13px;
    line-height: 22px;
    color: #909090;
    margin: 0;
    padding: 12px 14px;
    background-color: #111;
    border-left: 2px solid rgba(205,147,37,0.4);
    border-radius: 0 6px 6px 0;
}

/* Bio */
.vs-card-bio {
    font-size: 13px;
    line-height: 22px;
    color: #666;
    margin: 0;
    flex: 1;
}

/* Stats row */
.vs-card-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-top: 1px solid #1a1a1a;
    border-bottom: 1px solid #1a1a1a;
}

.vs-meta-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    text-align: center;
}

.vs-meta-val {
    font-size: 13px;
    font-weight: 700;
    color: #d8d8d8;
    font-family: "Montserrat", sans-serif;
    line-height: 1.2;
}

.vs-meta-label {
    font-size: 10px;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.vs-meta-divider {
    width: 1px;
    height: 28px;
    background-color: #222;
    flex-shrink: 0;
}

/* CTA button */
.vs-card-footer {
    margin-top: auto;
}

.vs-contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 11px 16px;
    background-color: #111;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #d0d0d0;
    text-decoration: none !important;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
    font-family: "Montserrat", sans-serif;
}

.vs-contact-btn:hover {
    background-color: #1a1a1a;
    border-color: rgba(205,147,37,0.4);
    color: #cd9325;
}

/* ── Disclaimer ── */
.vs-disclaimer-section {
    padding: 32px 0;
    background-color: #060606;
    border-top: 1px solid #141414;
    border-bottom: 1px solid #141414;
}

.vs-disclaimer-inner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    max-width: 860px;
    margin: 0 auto;
}

.vs-disclaimer-inner svg {
    flex-shrink: 0;
    margin-top: 2px;
}

.vs-disclaimer-inner p {
    font-size: 13px;
    line-height: 22px;
    color: #555;
    margin: 0;
}

/* ── Tablet (max 1100px) ── */
@media (max-width: 1100px) {
    .vs-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ── Tablet (max 992px) ── */
@media (max-width: 992px) {
    .vs-hero-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .vs-hero-stats {
        grid-template-columns: repeat(4, 1fr);
        min-width: 0;
    }

    .vs-hero-title {
        font-size: 34px;
        line-height: 44px;
    }

    .vs-process-steps {
        flex-direction: column;
        gap: 0;
    }

    .vs-step {
        padding: 28px 0;
        border-bottom: 1px solid #1a1a1a;
    }

    .vs-step:last-child {
        border-bottom: none;
    }

    .vs-step-divider {
        display: none;
    }

    .vs-step-num::after {
        display: none;
    }
}

/* ── Mobile (max 767px) ── */
@media (max-width: 767px) {
    .vs-hero {
        padding: 40px 0 36px;
    }

    .vs-hero-title {
        font-size: 28px;
        line-height: 38px;
    }

    .vs-hero-lead {
        font-size: 14px;
    }

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

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

    .vs-card {
        padding: 22px;
    }

    .vs-process-section {
        padding: 48px 0;
    }

    .vs-grid-section {
        padding: 48px 0;
    }

    .vs-section-title {
        font-size: 24px;
        line-height: 34px;
    }

    .vs-hero-stat-num {
        font-size: 22px;
    }
}

/* ========================================================================
   BUYING GUIDE STYLES - Scoped to .cg-guide-page
   Reusable for any future buying guide pages.
   ======================================================================== */

.cg-guide-page {
    --guide-gold: #c9a961;
    --guide-gold-soft: #d4b876;
    --guide-gold-dark: #8a6a2a;
    --guide-surface: #161616;
    --guide-surface-alt: #1e1e1e;
    --guide-surface-deep: #0f0f0f;
    --guide-border: rgba(255, 255, 255, 0.08);
    --guide-border-strong: rgba(201, 169, 97, 0.25);
    --guide-text: rgba(255, 255, 255, 0.78);
    --guide-text-strong: #ffffff;
    --guide-text-muted: rgba(255, 255, 255, 0.55);
}

/* ---------- Table of Contents ---------- */
.cg-toc-section {
    padding: 30px 0 10px;
}
.cg-toc {
    background: var(--guide-surface-alt);
    border: 1px solid var(--guide-border);
    border-left: 3px solid var(--guide-gold);
    padding: 32px 38px;
    margin: 20px auto;
    border-radius: 4px;
    max-width: 900px;
}
.cg-toc-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: var(--guide-gold);
    margin: 0 0 20px;
    font-weight: 700;
}
.cg-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    columns: 2;
    column-gap: 40px;
}
.cg-toc-list li {
    margin-bottom: 12px;
    break-inside: avoid;
    page-break-inside: avoid;
}
.cg-toc-list a {
    color: var(--guide-text-strong);
    text-decoration: none;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s ease;
    line-height: 1.4;
}
.cg-toc-list a::before {
    content: "\2192";
    margin-right: 12px;
    color: var(--guide-gold);
    font-weight: 600;
    flex-shrink: 0;
}
.cg-toc-list a:hover {
    color: var(--guide-gold);
}
@media (max-width: 767px) {
    .cg-toc { padding: 28px 24px; }
    .cg-toc-list { columns: 1; }
}

/* ---------- Full Guide Content ---------- */
.cg-guide-content {
    padding: 40px 0 60px;
}
.cg-guide-body {
    max-width: 900px;
    margin: 0 auto;
}
.cg-guide-body h2 {
    font-size: 30px;
    line-height: 1.25;
    margin: 55px 0 20px;
    scroll-margin-top: 100px;
    color: var(--guide-text-strong);
    padding-bottom: 14px;
    border-bottom: 1px solid var(--guide-border);
}
.cg-guide-body h2:first-child {
    margin-top: 0;
}
.cg-guide-body h3 {
    font-size: 21px;
    margin: 32px 0 14px;
    color: var(--guide-text-strong);
}
.cg-guide-body p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--guide-text);
    margin-bottom: 18px;
}
@media (max-width: 767px) {
    .cg-guide-body h2 { font-size: 24px; }
    .cg-guide-body h3 { font-size: 19px; }
}

/* ---------- Price Table ---------- */
.cg-price-table-wrap {
    margin: 30px 0 20px;
    overflow-x: auto;
    border-radius: 6px;
    border: 1px solid var(--guide-border);
    background: var(--guide-surface-alt);
}
.cg-price-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    min-width: 600px;
    color: var(--guide-text);
}
.cg-price-table thead {
    background: var(--guide-surface-deep);
    color: var(--guide-gold);
    border-bottom: 1px solid var(--guide-border-strong);
}
.cg-price-table th {
    padding: 16px 20px;
    text-align: left;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.cg-price-table td {
    padding: 18px 20px;
    border-top: 1px solid var(--guide-border);
    vertical-align: top;
    line-height: 1.5;
}
.cg-price-table tbody tr:hover td {
    background: rgba(201, 169, 97, 0.04);
}
.cg-price-table .cg-pt-tier {
    font-weight: 700;
    color: var(--guide-text-strong);
    white-space: nowrap;
    letter-spacing: 0.5px;
}
.cg-price-table .cg-pt-price {
    color: var(--guide-gold);
    font-weight: 600;
    white-space: nowrap;
}
.cg-price-table-note {
    font-size: 14px;
    color: var(--guide-text-muted);
    font-style: italic;
    margin-top: 12px;
}

/* ---------- Buyer's Checklist ---------- */
.cg-checklist-section {
    padding: 70px 0;
}
.cg-checklist {
    background: linear-gradient(135deg, var(--guide-surface-alt) 0%, var(--guide-surface) 100%);
    border: 1px solid var(--guide-border-strong);
    color: var(--guide-text-strong);
    padding: 55px 50px;
    border-radius: 8px;
    max-width: 960px;
    margin: 0 auto;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    position: relative;
    overflow: hidden;
}
.cg-checklist::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--guide-gold-dark), var(--guide-gold), var(--guide-gold-soft), var(--guide-gold), var(--guide-gold-dark));
}
.cg-checklist-eyebrow {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--guide-gold);
    margin: 0 0 14px;
    font-weight: 700;
}
.cg-checklist h2 {
    font-size: 30px;
    margin: 0 0 12px;
    color: var(--guide-text-strong);
    line-height: 1.2;
}
.cg-checklist-intro {
    font-size: 16px;
    color: var(--guide-text);
    margin: 0 0 32px;
    line-height: 1.6;
    max-width: 700px;
}
.cg-checklist-items {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 30px;
}
.cg-checklist-items li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 15px;
    line-height: 1.55;
    color: var(--guide-text);
}
.cg-checklist-items li::before {
    content: "\2713";
    width: 26px;
    height: 26px;
    min-width: 26px;
    background: var(--guide-gold);
    color: var(--guide-surface-deep);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 13px;
    margin-top: 2px;
}
@media (max-width: 767px) {
    .cg-checklist { padding: 40px 28px; }
    .cg-checklist h2 { font-size: 24px; }
    .cg-checklist-items { grid-template-columns: 1fr; gap: 16px; }
}

/* ---------- Related Guides ---------- */
.cg-related-guides {
    padding: 70px 0;
}
.cg-related-heading {
    text-align: center;
    margin-bottom: 40px;
}
.cg-related-heading h2 {
    font-size: 30px;
    margin: 0 0 10px;
    color: var(--guide-text-strong);
}
.cg-related-heading p {
    color: var(--guide-text-muted);
    font-size: 16px;
    margin: 0;
}
.cg-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}
.cg-related-card {
    background: var(--guide-surface-alt);
    padding: 32px 22px 28px;
    text-align: center;
    border: 1px solid var(--guide-border);
    border-radius: 6px;
    text-decoration: none;
    color: inherit;
    transition: all 0.25s ease;
    display: block;
}
.cg-related-card:hover {
    border-color: var(--guide-gold);
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    text-decoration: none;
}
.cg-related-card-img {
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cg-related-card-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.cg-related-card h4 {
    font-size: 17px;
    margin: 0 0 6px;
    color: var(--guide-text-strong);
    line-height: 1.3;
}
.cg-related-card p {
    font-size: 13px;
    color: var(--guide-text-muted);
    margin: 0;
    line-height: 1.4;
}
.cg-related-card:hover h4 {
    color: var(--guide-gold);
}
@media (max-width: 991px) {
    .cg-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .cg-related-grid { grid-template-columns: 1fr; }
}

/* ============================================================================
   ============================================================================
   AMA LANKA GEMS — new dark design system
   ----------------------------------------------------------------------------
   Everything below powers the new homepage (header, front-page, footer). It is
   class-based: templates carry no inline styles. Appended after the legacy SCG
   rules so the new design wins on shared elements. Tokens + self-hosted fonts
   first, then base, components, sections, animations, responsive.
   ============================================================================
   ============================================================================ */

/* ---- fonts: Marcellus (headings) + DM Sans (interface) ---- */
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400 700; font-display:swap; src:url("assets/fonts/dm-sans/dmsans-latin-ext.woff2") format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400 700; font-display:swap; src:url("assets/fonts/dm-sans/dmsans-latin.woff2") format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Marcellus'; font-style:normal; font-weight:400; font-display:swap; src:url("assets/fonts/marcellus/marcellus-latin-ext.woff2") format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Marcellus'; font-style:normal; font-weight:400; font-display:swap; src:url("assets/fonts/marcellus/marcellus-latin.woff2") format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
  --font-serif:"Marcellus","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --gold:#C49F47; --gold-champagne:#E3CB8E; --gold-antique:#9C7A33;
  --sapphire:#4E81DB; --sapphire-royal:#0F52BA; --sapphire-navy:#082A6E;
  --emerald:#3EA664; --emerald-light:#6FC48C; --emerald-deep:#256B43;
  --amber:#E0A53A; --ruby:#D9485C; --ruby-text:#E8707E;
  --onyx:#0A0A0A; --onyx-true:#000000; --charcoal:#111111; --graphite:#1C1C1C;
  --graphite-hi:#242424; --field:#161616; --slate:#2B2B2B; --slate-hi:#3A3A3A;
  --pearl:#F7F4ED; --white:#FFFFFF;
  --gradient-gold:linear-gradient(135deg,#E3CB8E 0%,#C49F47 48%,#9C7A33 100%);
  --gradient-gold-soft:linear-gradient(135deg,rgba(227,203,142,0.16) 0%,rgba(196,159,71,0.10) 100%);
  /* The jewel signature: sapphire, emerald and gold across the eyebrow label.
     All three stops clear AA on the near-black surface (light sapphire only). */
  --gradient-jewel:linear-gradient(100deg,var(--sapphire) 0%,var(--emerald-light) 50%,var(--gold) 100%);
  --surface-base:var(--onyx); --surface-raised:var(--charcoal); --surface-card:var(--graphite);
  --surface-card-hover:var(--graphite-hi); --surface-field:var(--field); --surface-overlay:rgba(0,0,0,0.72);
  --text-primary:var(--pearl); --text-secondary:#B8B8B8; --text-muted:#8A8A8A;
  --text-disabled:#555555; --text-gold:var(--gold); --text-inverse:var(--onyx);
  --text-link:var(--gold); --text-link-hover:var(--gold-champagne);
  --border-subtle:var(--slate); --border-default:var(--slate-hi); --border-strong:#4A4A4A; --border-gold:var(--gold);
  --accent:var(--gold); --accent-hover:var(--gold-champagne); --accent-active:var(--gold-antique);
  --accent-contrast:var(--onyx); --accent-soft:rgba(196,159,71,0.12); --focus-ring:var(--gold);
  --success:var(--emerald); --success-soft:rgba(62,166,100,0.12); --info:var(--sapphire); --info-soft:rgba(78,129,219,0.12);
  --warning:var(--amber); --warning-soft:rgba(224,165,58,0.12); --error:var(--ruby); --error-text:var(--ruby-text);
  --weight-regular:400; --weight-medium:500; --weight-bold:700;
  /* type scale (value-named; sizes match docs/design-system.md) */
  --text-display:3.125rem; --text-h1:2.875rem; --text-h2:2.25rem; --text-h3:1.5rem; --text-h4:1.375rem; --text-h5:1.125rem;
  --text-body-lg:1.125rem; --text-body:1rem; --text-body-sm:0.875rem; --text-caption:0.75rem; --text-label:0.75rem; --text-quote:1.625rem;
  --tracking-label:0.12em; --tracking-heading:0.01em; --tracking-button:0.04em;
  --radius-sm:2px; --radius-md:4px; --radius-pill:999px;
  /* space scale (10px base, value-named) */
  --space-5:5px; --space-10:10px; --space-20:20px; --space-30:30px; --space-40:40px; --space-50:50px; --space-60:60px; --space-70:70px; --space-80:80px; --space-100:100px; --space-120:120px;
  --shadow-sm:0 1px 2px rgba(0,0,0,0.45);
  --shadow-card:0 1px 2px rgba(0,0,0,0.40),0 10px 28px rgba(0,0,0,0.45);
  --shadow-modal:0 8px 16px rgba(0,0,0,0.40),0 32px 72px rgba(0,0,0,0.62);
  --glow-gold-soft:0 0 32px rgba(196,159,71,0.14);
  --ring-gold:0 0 0 2px var(--surface-base),0 0 0 4px var(--gold);
  --duration-base:250ms; --duration-hover:150ms; --duration-reveal:250ms;
  --ease-standard:cubic-bezier(0.40,0.00,0.20,1.00);
  --ease-out:cubic-bezier(0.16,1.00,0.30,1.00);
  --ease-in-out:cubic-bezier(0.65,0.00,0.35,1.00);
  --transition-color:color var(--duration-hover) var(--ease-standard),background-color var(--duration-hover) var(--ease-standard),border-color var(--duration-hover) var(--ease-standard);
}

/* ---- base (scoped to the new page wrapper so legacy pages are untouched) ---- */
.alg-page, .alg-page *, .alg-page *::before, .alg-page *::after { box-sizing:border-box; }
.alg-page [hidden] { display:none !important; }
body.alg-body {
  margin:0; background-color:var(--surface-base); color:var(--text-primary);
  font-family:var(--font-sans); font-size:1rem; line-height:1.75; font-weight:400;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility; overflow-x:clip; letter-spacing:0.4px;
}
.alg-page { position:relative; min-height:100vh; }
.alg-page h1, .alg-page h2, .alg-page h3, .alg-page h4 {
  font-family:var(--font-serif); font-weight:400; color:var(--text-primary); margin:0; letter-spacing:var(--tracking-heading);
}
.alg-page p { margin:0; }
.alg-page img { max-width:100%; }
.alg-page a { color:var(--white); text-decoration:none; transition:var(--transition-color); }
.alg-page a:hover { color:var(--text-link-hover); }
.alg-page ::selection { background:rgba(196,159,71,0.28); color:var(--text-primary); }
.alg-page :focus-visible { outline:none; box-shadow:var(--ring-gold); border-radius:var(--radius-sm); }
.als-icon { display:inline-block; flex:0 0 auto; vertical-align:middle; }

/* ---- container + section scaffolding ---- */
.alg-pad { max-width:1320px; margin:0 auto; padding:0 48px; }
.alg-pad--narrow { max-width:1060px; }
.alg-sec { padding:108px 0; }
.alg-sec--raised { background:var(--surface-raised); }
.alg-sec--base { background:var(--surface-base); }
.alg-sec--hair-top { border-top:1px solid var(--border-subtle); }
.alg-sec--hair-both { border-top:1px solid var(--border-subtle); border-bottom:1px solid var(--border-subtle); }
.alg-sec--p100 { padding:100px 0; }
.alg-sec--p110 { padding:110px 0; }
.alg-sec--p112 { padding:112px 0; }

.alg-sechead { display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; }
.alg-sechead--mb56 { margin-bottom:56px; }
.alg-sechead--mb52 { margin-bottom:52px; }
.alg-sechead--mb48 { margin-bottom:48px; }
.alg-sechead__lead { font-size:17px; line-height:1.6; color:var(--text-secondary); max-width:60ch; margin:0; }
.alg-sechead__lead--narrow { max-width:50ch; font-size:16px; }

.alg-h2 { font-family:var(--font-serif); font-weight:400; font-size:46px; line-height:1.08; color:var(--text-primary); margin:0; }
.alg-h2--44 { font-size:44px; line-height:1.1; }
.alg-h2--w20 { max-width:20ch; }

.alg-split { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.alg-split--cert { grid-template-columns:1fr 1.05fr; gap:64px; }
.alg-split--concierge { grid-template-columns:0.85fr 1.15fr; gap:60px; }
.alg-col { display:flex; flex-direction:column; gap:24px; }

/* ---- brand utilities ---- */
.als-eyebrow { font-family:var(--font-sans); font-weight:500; font-size:var(--text-label); letter-spacing:var(--tracking-label); text-transform:uppercase; color:var(--text-gold); }
.als-eyebrow--muted { color:var(--text-muted); }
/* Align the legacy SCG eyebrows (cg-/au-/vs-, on the not-yet-reskinned pages) to
   the Ama Lanka eyebrow so the jewel gradient reads consistently. Owner request. */
.cg-cta-eyebrow, .au-eyebrow, .vs-eyebrow, .vs-section-eyebrow, .cg-checklist-eyebrow { font-family:var(--font-sans); font-weight:500; font-size:var(--text-label); letter-spacing:var(--tracking-label); text-transform:uppercase; }
/* Jewel-gradient eyebrow signature. Solid gold above is the fallback; the
   clip-to-text treatment applies only where supported, and reverts to a solid
   colour in Windows high-contrast mode. Muted eyebrows keep the gradient, dimmed. */
@supports ((-webkit-background-clip:text) or (background-clip:text)) {
  /* width:fit-content hugs the box to the text so the gradient sweeps across
     the label itself, not the full-width block/flex track it may sit in. */
  .als-eyebrow, .als-cert__eyebrow, .cg-cta-eyebrow, .au-eyebrow, .vs-eyebrow, .vs-section-eyebrow, .cg-checklist-eyebrow { background:var(--gradient-jewel); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; width:-moz-fit-content; width:fit-content; }
  .als-eyebrow--muted { opacity:0.6; }
  /* keep the one full-width centred block eyebrow centred once it hugs content */
  .alg-footer-band__eyebrow { margin-inline:auto; }
}
@media (forced-colors: active) {
  .als-eyebrow, .als-cert__eyebrow, .cg-cta-eyebrow, .au-eyebrow, .vs-eyebrow, .vs-section-eyebrow, .cg-checklist-eyebrow { -webkit-text-fill-color:currentColor; color:currentColor; }
}
.als-rule-gold { height:1px; width:64px; background:var(--gradient-gold); border:0; margin:0; }
.als-rule-gold--center { margin:6px auto 0; }
.als-rule { height:1px; width:100%; background:var(--border-subtle); border:0; margin:0; }

/* ---- buttons + links ---- */
.alg-btn-gold { display:inline-flex; align-items:center; justify-content:center; gap:11px; border-radius:var(--radius-sm); background:var(--gradient-gold); color:var(--onyx); font-weight:500; letter-spacing:.03em; text-decoration:none; box-shadow:var(--shadow-sm); transition:filter var(--duration-hover) var(--ease-standard),box-shadow var(--duration-hover) var(--ease-standard); }
.alg-btn-gold:hover { color:var(--onyx); filter:brightness(1.06); box-shadow:var(--glow-gold-soft); }
/* Keep the gold-button label onyx at rest: the base `.alg-page a` link colour (0,1,1)
   otherwise outranks `.alg-btn-gold` (0,1,0) and tints the text gold-on-gold. This
   anchor-qualified rule ties `.alg-page a` and wins on source order, with no
   !important, so the disabled rule below still wins. */
a.alg-btn-gold { color:var(--onyx); }
.alg-btn-ghost { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:var(--radius-sm); background:var(--surface-card); border:1px solid var(--border-default); color:var(--text-primary); font-weight:500; letter-spacing:.03em; text-decoration:none; transition:var(--transition-color); }
.alg-btn-ghost:hover { color:var(--text-primary); background:var(--surface-card-hover); border-color:var(--border-strong); }
.alg-btn-ghost--hero { background:rgba(28,28,28,0.6); }
.alg-btn--h56 { height:56px; padding:0 30px; font-size:16px; }
.alg-btn--h56b { height:56px; padding:0 28px; font-size:16px; }
.alg-btn--h54 { height:54px; padding:0 28px; font-size:15px; }
.alg-btn--h54b { height:54px; padding:0 26px; font-size:15px; }
.alg-btn--h54c { height:54px; padding:0 34px; font-size:15px; }
.alg-btn--h52 { height:52px; padding:0 22px; border-radius:var(--radius-pill); font-size:15px; box-shadow:0 10px 30px rgba(0,0,0,.5); }
.alg-btn--h50 { height:50px; padding:0 22px; font-size:15px; }

.alg-link-underline { display:inline-flex; align-items:center; gap:10px; color:var(--gold); font-weight:500; letter-spacing:.02em; text-decoration:none; border-bottom:1px solid transparent; padding-bottom:2px; font-size:15px; }
.alg-link-underline:hover { color:var(--gold); border-bottom-color:var(--gold); }
.alg-textlink { color:var(--text-secondary); text-decoration:none; }
.alg-textlink:hover { color:var(--gold); }
.alg-inline-arrow { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:500; color:var(--text-secondary); }

/* ---- DS component: Chip ---- */
.als-chip { display:inline-flex; align-items:center; gap:6px; border-radius:var(--radius-pill); padding:5px 12px; font-family:var(--font-sans); font-weight:500; font-size:0.75rem; letter-spacing:0.04em; line-height:1; white-space:nowrap; border:1px solid transparent; }
.als-chip--emerald { background:var(--success-soft); color:var(--emerald-light); border-color:rgba(62,166,100,0.35); }
.als-chip--gold { background:var(--accent-soft); color:var(--gold-champagne); border-color:rgba(196,159,71,0.40); }
.als-chip--sapphire { background:var(--info-soft); color:var(--sapphire); border-color:rgba(78,129,219,0.35); }
.als-chip--neutral { background:var(--surface-raised); color:var(--text-secondary); border-color:var(--border-default); }
.als-chip--solid-gold { background:var(--gradient-gold); color:var(--accent-contrast); border-color:transparent; }

/* ---- DS component: Certificate + Seal + SpecGrid ---- */
.als-cert { position:relative; background:var(--surface-raised); border:1px solid var(--border-gold); border-radius:var(--radius-md); padding:var(--space-30); overflow:hidden; }
.als-cert__head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.als-cert__eyebrow { font-family:var(--font-sans); font-weight:500; font-size:var(--text-label); letter-spacing:var(--tracking-label); text-transform:uppercase; color:var(--text-gold); }
.als-cert__number { font-family:var(--font-serif); font-size:var(--text-h2); line-height:1.1; color:var(--text-primary); margin-top:10px; }
.als-cert__rule { height:1px; background:var(--gradient-gold); border:0; margin:22px 0; width:100%; }
.als-seal { width:92px; height:92px; flex:0 0 auto; border-radius:50%; background:var(--gradient-gold); display:grid; place-items:center; box-shadow:var(--glow-gold-soft); position:relative; }
.als-seal::before { content:""; position:absolute; inset:6px; border-radius:50%; border:1px solid rgba(10,10,10,0.35); }
.als-seal__inner { display:flex; flex-direction:column; align-items:center; gap:3px; color:var(--accent-contrast); position:relative; }
.als-seal__text { font-family:var(--font-sans); font-weight:700; font-size:8px; letter-spacing:0.16em; }
.als-specgrid { display:grid; gap:1px; background:var(--border-subtle); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); overflow:hidden; }
.als-specgrid--2col { grid-template-columns:repeat(2,minmax(0,1fr)); }
.als-specgrid--4col { grid-template-columns:repeat(4,minmax(0,1fr)); }
.als-specgrid__cell { background:var(--surface-card); padding:16px 18px; display:flex; flex-direction:column; gap:6px; }
.als-specgrid__label { font-family:var(--font-sans); font-weight:500; font-size:var(--text-label); letter-spacing:var(--tracking-label); text-transform:uppercase; color:var(--text-muted); }
.als-specgrid__value { font-family:var(--font-serif); font-size:var(--text-h4); line-height:1.2; color:var(--text-primary); }

/* ---- Editorial: breadcrumb + guide hero ---- */
.alg-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:24px; font-size:13px; color:var(--text-muted); }
.alg-breadcrumb a { color:var(--text-secondary); text-decoration:none; }
.alg-breadcrumb a:hover { color:var(--gold); }
.alg-breadcrumb__sep { color:var(--text-disabled); }
.alg-breadcrumb [aria-current="page"] { color:var(--text-primary); }
.alg-guidehero { display:flex; flex-direction:column; align-items:flex-start; gap:18px; max-width:62ch; }
.alg-guidehero__standfirst { /* font-family:var(--font-sans); */ font-size:17px; line-height:1.55; color:var(--text-secondary); margin:0; margin-bottom:10px !important; }
.alg-guidehero__meta { font-size:13px; color:var(--text-muted); margin:0; }

/* ---- Editorial: key takeaways ---- */
.alg-takeaways { background:var(--surface-card); border:1px solid var(--border-subtle); border-left:2px solid var(--gold); border-radius:var(--radius-sm); padding:28px 30px; }
.alg-takeaways__title { margin:0 0 16px; }
.alg-takeaways__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.alg-takeaways__item { display:flex; gap:12px; align-items:flex-start; font-size:16px; line-height:1.6; color:var(--text-secondary); }
.alg-takeaways__ic { flex:0 0 auto; margin-top:3px; color:var(--gold); }

/* ---- Editorial: prose ---- */
.alg-prose { max-width:68ch; }
.alg-prose h2 { margin:0 0 18px; }
.alg-prose .alg-prose__lead { font-size:18px; line-height:1.6; color:var(--text-primary); margin:0 0 18px; }
.alg-prose p { font-size:16px; line-height:1.75; color:var(--text-secondary); margin:0 0 18px; }
.alg-prose p:last-child { margin-bottom:0; }
.alg-prose a { color:var(--gold); border-bottom:1px solid transparent; }
.alg-prose a:hover { border-bottom-color:var(--gold); }

/* ---- Editorial: comparison table ---- */
.alg-table-wrap { overflow-x:auto; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); }
.alg-table { width:100%; border-collapse:collapse; font-size:15px; }
.alg-table__caption { text-align:left; padding:16px 18px; color:var(--text-muted); font-size:13px; }
.alg-table th, .alg-table td { padding:14px 18px; text-align:left; border-top:1px solid var(--border-subtle); vertical-align:top; }
.alg-table thead th { background:var(--surface-card); color:var(--text-primary); font-family:var(--font-sans); font-weight:500; font-size:13px; letter-spacing:0.04em; text-transform:uppercase; border-top:0; }
.alg-table tbody th[scope="row"] { color:var(--text-primary); font-weight:500; background:var(--surface-raised); }
.alg-table td { color:var(--text-secondary); }

/* ---- Editorial: key facts ---- */
.alg-deflist { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border-subtle); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); overflow:hidden; }
.alg-deflist__row { background:var(--surface-card); padding:16px 18px; display:flex; flex-direction:column; gap:5px; }
.alg-deflist__term { font-family:var(--font-sans); font-weight:500; font-size:var(--text-label); letter-spacing:var(--tracking-label); text-transform:uppercase; color:var(--text-muted); margin:0; }
.alg-deflist__def { margin:0; font-family:var(--font-serif); font-size:var(--text-h4); line-height:1.25; color:var(--text-primary); }
@media (max-width:720px) { .alg-deflist { grid-template-columns:1fr; } }

/* ---- Editorial: FAQ accordion ---- */
.alg-faq { border-top:1px solid var(--border-subtle); }
.alg-faq__item { border-bottom:1px solid var(--border-subtle); }
.alg-faq__qwrap { margin:0; }
.alg-faq__q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 4px; background:transparent; border:0; cursor:pointer; text-align:left; font-family:var(--font-serif); font-size:20px; line-height:1.3; color:var(--text-primary); }
.alg-faq__q:hover { color:var(--gold-champagne); }
.alg-faq__ic { flex:0 0 auto; color:var(--text-muted); transition:transform var(--duration-base) var(--ease-standard); }
.alg-faq__q[aria-expanded="true"] .alg-faq__ic { transform:rotate(180deg); color:var(--gold); }
.alg-faq__a { padding:0 4px 24px; }
.alg-faq__a p { margin:0; font-size:16px; line-height:1.7; color:var(--text-secondary); max-width:68ch; }

/* ---- Editorial: author / E-E-A-T ---- */
.alg-authortrust { display:flex; gap:20px; align-items:flex-start; background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); padding:30px 50px; }
.alg-authortrust__body { display:flex; flex-direction:column; }
.alg-authortrust__name { font-family:var(--font-serif); font-size:23px; color:var(--text-primary); }
.alg-authortrust__role { font-size:15px; color:var(--text-gold); margin-bottom:10px; }
.alg-authortrust__text { margin:8px 0 0; font-size:15px; line-height:1.6; color:var(--text-secondary); max-width:62ch; }
.alg-authortrust__meta { margin-top:8px; font-size:15px; color:var(--text-muted); }
@media (max-width:600px) { .alg-authortrust { padding:24px 24px; } }

/* ---- Editorial figure (real photo, or on-brand placeholder) ---- */
.alg-figure { margin:0; display:flex; flex-direction:column; gap:14px; max-width:68ch; }
.alg-figure--wide { max-width:920px; }
.alg-figure__media { position:relative; overflow:hidden; border:1px solid var(--border-subtle); border-radius:var(--radius-md); background:var(--surface-raised); }
.alg-ratio--3-2 { aspect-ratio:3 / 2; }
.alg-ratio--5-4 { aspect-ratio:5 / 4; }
.alg-ratio--16-9 { aspect-ratio:16 / 9; }
.alg-ratio--1-1 { aspect-ratio:1 / 1; }
.alg-figure__media--gold { background:radial-gradient(120% 100% at 50% 34%, rgba(196,159,71,0.14), transparent 60%), var(--surface-raised); }
.alg-figure__media--sapphire { background:radial-gradient(120% 100% at 44% 32%, rgba(78,129,219,0.30), transparent 62%), var(--surface-raised); }
.alg-figure__media--neutral { background:radial-gradient(120% 120% at 60% 40%, #14130F, #0B0B0B 70%); }
.alg-figure__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.alg-figure__ph { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
.alg-figure__ic { display:inline-flex; color:rgba(196,159,71,0.50); filter:drop-shadow(0 4px 12px rgba(0,0,0,0.5)); }
.alg-figure__media--sapphire .alg-figure__ic { color:rgba(150,185,245,0.82); }
.alg-figure__media--neutral .alg-figure__ic { color:rgba(196,159,71,0.42); }
.alg-figure__label { font-family:var(--font-sans); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-muted); }
.alg-figure__cap { font-size:13px; line-height:1.6; color:var(--text-muted); max-width:60ch; }
.alg-figure__credit { display:block; color:var(--text-disabled); font-size:12px; margin-top:3px; }

/* ============================================================
   Editorial media components (trust & content pages)
   Composed on .alg-sec/.alg-pad/.alg-split/.alg-figure + tokens.
   ============================================================ */
.alg-ratio--4-5 { aspect-ratio:4 / 5; }

/* split hero with media (hero partial, when a `fig` is passed) */
.alg-split--hero { grid-template-columns:1.02fr 0.98fr; gap:64px; align-items:center; margin-top:6px; }
.alg-herofig { position:relative; }
.alg-herofig__seal { position:absolute; right:-16px; bottom:-16px; z-index:2; }
.alg-hero-ctas { display:flex; flex-wrap:wrap; gap:14px; margin-top:10px; }

/* media feature: image + prose, reversible (feature partial) */
.alg-feature__fig { position:relative; }
.alg-split--flip .alg-feature__fig { order:-1; }
.alg-feature__cap { margin-top:12px; font-size:13px; line-height:1.6; color:var(--text-muted); }

/* stat band: hairline grid of trust figures (stat-band partial) */
.alg-statband { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border-subtle); border:1px solid var(--border-subtle); border-radius:var(--radius-md); overflow:hidden; }
.alg-stat { background:var(--surface-base); padding:34px 22px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; }
.alg-stat__value { font-family:var(--font-serif); font-size:34px; line-height:1; color:var(--gold); }
.alg-stat__label { font-size:13px; line-height:1.5; color:var(--text-secondary); max-width:24ch; }

/* anatomy: annotated report figure + numbered legend (anatomy partial, the signature) */
.alg-anatomy__grid { display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
.alg-anatomy__list { list-style:none; margin:0; padding:0; }
.alg-anatomy__item { display:grid; grid-template-columns:auto 1fr; gap:18px; padding:20px 0; border-top:1px solid var(--border-subtle); }
.alg-anatomy__item:first-child { border-top:0; padding-top:0; }
.alg-anatomy__n { font-family:var(--font-serif); font-size:16px; color:var(--gold); width:36px; height:36px; border:1px solid var(--border-gold); border-radius:50%; display:grid; place-items:center; flex:0 0 auto; }
.alg-anatomy__t { display:block; font-family:var(--font-sans); font-weight:500; font-size:15px; color:var(--text-primary); margin-bottom:4px; }
.alg-anatomy__d { font-size:14px; line-height:1.6; color:var(--text-secondary); }

/* laboratory cards (lab-cards partial) */
.alg-labcard { display:flex; flex-direction:column; gap:14px; padding:26px 22px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); background:var(--surface-card); transition:border-color var(--duration-hover) var(--ease-standard); }
.alg-labcard:hover { border-color:var(--border-default); }
.alg-labcard__logo { height:60px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); background:var(--surface-raised); display:grid; place-items:center; color:var(--gold-antique); }
.alg-labcard__logo img { max-height:40px; max-width:78%; object-fit:contain; }
.alg-labcard__name { font-family:var(--font-serif); font-size:20px; line-height:1.1; color:var(--text-primary); }
.alg-labcard__place { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
.alg-labcard__note { font-size:13px; line-height:1.6; color:var(--text-secondary); }

/* confirms / does not contrast (contrast partial) */
.alg-contrast { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.alg-contrast__panel { padding:30px 28px; border:1px solid var(--border-subtle); border-radius:var(--radius-md); background:var(--surface-raised); }
.alg-contrast__panel--yes { border-color:rgba(62,166,100,0.34); }
.alg-contrast__head { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.alg-contrast__ic { display:inline-flex; }
.alg-contrast__ic--yes { color:var(--accent-emerald); }
.alg-contrast__ic--no { color:var(--text-muted); }
.alg-contrast__title { font-family:var(--font-serif); font-size:20px; color:var(--text-primary); }
.alg-contrast__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.alg-contrast__item { display:grid; grid-template-columns:auto 1fr; gap:12px; font-size:15px; line-height:1.55; color:var(--text-secondary); }
.alg-contrast__item .als-icon { margin-top:3px; flex:0 0 auto; }
.alg-contrast__item--yes .als-icon { color:var(--accent-emerald); }
.alg-contrast__item--no .als-icon { color:var(--text-muted); }

/* numbered process steps (steps partial) */
.alg-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.alg-step { display:flex; flex-direction:column; gap:12px; padding:30px 26px; border:1px solid var(--border-subtle); border-radius:var(--radius-md); background:var(--surface-card); }
.alg-step__n { font-family:var(--font-serif); font-size:14px; letter-spacing:.1em; color:var(--gold); }
.alg-step__title { font-family:var(--font-serif); font-size:19px; line-height:1.15; color:var(--text-primary); }
.alg-step__text { font-size:14px; line-height:1.6; color:var(--text-secondary); }

/* editorial media components: responsive */
@media (max-width:900px) {
  .alg-split--hero, .alg-anatomy__grid { grid-template-columns:1fr; gap:36px; }
  .alg-split--flip .alg-feature__fig { order:0; }
  .alg-herofig__seal { right:14px; bottom:-14px; }
  .alg-steps { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .alg-contrast { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .alg-statband { grid-template-columns:repeat(2,1fr); }
}

/* ============================================================
   Certification page — bespoke annotated report document (.certpg-*)
   The rest of the page reuses .alg-* components above.
   ============================================================ */
.certpg-herocap { margin-top:14px; font-size:13px; line-height:1.6; color:var(--text-muted); max-width:42ch; }
.certpg section[id] { scroll-margin-top:100px; } /* Anchor jumps clear the fixed topbar, matching .alg-chapter. */
.certpg-doc { position:relative; background:linear-gradient(180deg,var(--surface-card),var(--surface-raised)); border:1px solid var(--border-default); border-radius:var(--radius-md); padding-left:50px; padding-right:50px; box-shadow:0 30px 64px rgba(0,0,0,0.5); }
.certpg-doc::after { content:""; position:absolute; inset:9px; border:1px solid var(--border-subtle); border-radius:3px; pointer-events:none; }
.certpg-doc__head { position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.certpg-doc__brand { display:flex; align-items:center; gap:14px; }
.certpg-doc__crest { width:44px; height:44px; border:1px solid var(--border-gold); border-radius:50%; display:grid; place-items:center; color:var(--gold); flex:0 0 auto; }
.certpg-doc__eyebrow { font-family:var(--font-sans); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.certpg-doc__no { font-family:var(--font-serif); font-size:17px; color:var(--text-primary); margin-top:4px; }
.certpg-doc__seal { width:62px; height:62px; flex:0 0 auto; border-radius:50%; background:var(--gradient-gold); display:grid; place-items:center; color:var(--text-inverse); box-shadow:var(--glow-gold-soft); }
.certpg-doc__rule { height:1px; border:0; background:linear-gradient(90deg,transparent,var(--gold-antique),transparent); margin:22px 0 4px; }
.certpg-doc__row { position:relative; display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:14px; padding:13px 0; border-top:1px solid var(--border-subtle); }
.certpg-doc__row:first-of-type { border-top:0; }
.certpg-doc__num { width:28px; height:28px; border:1px solid var(--border-gold); border-radius:50%; color:var(--gold); font-family:var(--font-serif); font-size:13px; display:grid; place-items:center; }
.certpg-doc__label { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.certpg-doc__value { font-family:var(--font-sans); font-size:15px; color:var(--text-primary); text-align:right; }
.certpg-doc__foot { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:14px; padding-top:16px; border-top:1px solid var(--border-subtle); }
.certpg-doc__sign { font-family:var(--font-serif); font-size:16px; font-style:italic; color:var(--text-secondary); }
.certpg-doc__signlbl { display:block; font-family:var(--font-sans); font-style:normal; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted); margin-top:5px; }
.certpg-doc__verify { font-size:11px; line-height:1.5; color:var(--text-muted); text-align:right; }
.certpg-doc__verify b { color:var(--gold); font-weight:500; }
@media (max-width:600px) {
  .certpg-doc { padding:24px 20px; }
  .certpg-doc__value { font-size:14px; }
}

/* certification reassurance promise band (the one gold moment on the page) */
.certpg-promise { position:relative; text-align:center; padding:60px 52px; border:1px solid rgba(196,159,71,0.45); border-radius:var(--radius-md); background:radial-gradient(130% 150% at 50% -10%, rgba(196,159,71,0.16), transparent 58%), var(--surface-card); box-shadow:0 30px 70px rgba(0,0,0,0.5); overflow:hidden; }
.certpg-promise::after { content:""; position:absolute; inset:8px; border:1px solid rgba(196,159,71,0.16); border-radius:2px; pointer-events:none; }
.certpg-promise__seal { width:74px; height:74px; margin:0 auto 24px; border-radius:50%; background:var(--gradient-gold); display:grid; place-items:center; color:var(--text-inverse); box-shadow:var(--glow-gold-soft); }
.certpg-promise__title { font-family:var(--font-serif); font-size:30px; line-height:1.22; color:var(--text-primary); margin:0 0 16px; }
.certpg-promise__text { font-size:16px; line-height:1.75; color:var(--text-secondary); margin:20px auto 0 !important; max-width:58ch; }
/* warning variant: amber accent instead of gold (e.g. the "not financial advice" disclaimer) */
.certpg-promise--warn { border-color:rgba(224,165,58,0.45); background:radial-gradient(130% 150% at 50% -10%, rgba(224,165,58,0.14), transparent 58%), var(--surface-card); }
.certpg-promise--warn::after { border-color:rgba(224,165,58,0.18); }
.certpg-promise--warn .certpg-promise__seal { background:linear-gradient(135deg, #EFC169 0%, #E0A53A 50%, #BA842D 100%); box-shadow:0 10px 30px rgba(224,165,58,0.30); }
@media (max-width:600px) {
  .certpg-promise { padding:40px 24px; }
  .certpg-promise__title { font-size:24px; }
}

/* astrology: navaratna nine-gem grid (3x3) */
.alg-navaratna { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border-subtle); border:1px solid var(--border-subtle); border-radius:var(--radius-md); overflow:hidden;
	/* Per-gem jewel tones, tuned to pass AA on --surface-card. Defined once here
	   and referenced by the cell modifiers below; --gem falls back to gold. */
	--gem-sun:#FA8593; --gem-moon:#F7F2E8; --gem-mars:#FFA079; --gem-mercury:#86DBA4;
	--gem-jupiter:#F5D98A; --gem-venus:#EAF3FF; --gem-saturn:#8AAEF5;
	--gem-rahu:#F5B06B; --gem-ketu:#E4CE84; }
.alg-navaratna__cell { background:var(--surface-card); padding:28px 22px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; --gem:var(--gold); }
.alg-navaratna__cell--sun { --gem:var(--gem-sun); }
.alg-navaratna__cell--moon { --gem:var(--gem-moon); }
.alg-navaratna__cell--mars { --gem:var(--gem-mars); }
.alg-navaratna__cell--mercury { --gem:var(--gem-mercury); }
.alg-navaratna__cell--jupiter { --gem:var(--gem-jupiter); }
.alg-navaratna__cell--venus { --gem:var(--gem-venus); }
.alg-navaratna__cell--saturn { --gem:var(--gem-saturn); }
.alg-navaratna__cell--rahu { --gem:var(--gem-rahu); }
.alg-navaratna__cell--ketu { --gem:var(--gem-ketu); }
.alg-navaratna__ic { color:var(--gem); display:inline-flex; }
.alg-navaratna__planet { font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gem); }
.alg-navaratna__stone { font-family:var(--font-serif); font-size:18px; line-height:1.25; color:var(--text-primary); }
@media (max-width:600px) { .alg-navaratna { grid-template-columns:repeat(2,1fr); } }

/* ============================================================
   Buyers-guide bespoke centrepieces (templates/learn/*)
   Each gives one guide a distinct spine. Composed on
   .alg-sec/.alg-pad/.alg-split + tokens; no raw sizes in copy.
   ============================================================ */

/* 4Cs: four-panel overview grid + chapter markers (sapphire-4cs) */
.alg-fourc { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border-subtle); border:1px solid var(--border-subtle); border-radius:var(--radius-md); overflow:hidden; }
.alg-fourc__cell { display:flex; flex-direction:column; gap:12px; min-height:190px; padding:30px 28px; background:var(--surface-card); text-decoration:none; transition:background-color var(--duration-hover) var(--ease-standard); }
.alg-fourc__cell:hover { background:var(--surface-card-hover); }
.alg-fourc__n { font-family:var(--font-sans); font-weight:500; font-size:var(--text-label); letter-spacing:var(--tracking-label); text-transform:uppercase; color:var(--gold); }
.alg-fourc__ic { color:var(--gold); display:inline-flex; }
.alg-fourc__title { font-family:var(--font-serif); font-size:22px; line-height:1.15; color:var(--text-primary); }
.alg-fourc__cell:hover .alg-fourc__title { color:var(--gold-champagne); }
.alg-fourc__note { font-size:14px; line-height:1.55; color:var(--text-muted); }
.alg-fourc__more { margin-top:auto; display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--text-secondary); }
.alg-fourc__arrow { display:inline-flex; opacity:0; transform:translateX(-4px); transition:opacity .2s, transform .2s; color:var(--gold); }
.alg-fourc__cell:hover .alg-fourc__arrow { opacity:1; transform:none; }
@media (max-width:640px) { .alg-fourc { grid-template-columns:1fr; } }
/* chapter marker: opens each deep C section with a large muted numeral */
.alg-chapter { display:flex; align-items:baseline; gap:20px; margin-bottom:28px; scroll-margin-top:100px; }
.alg-chapter__n { font-family:var(--font-serif); font-size:60px; line-height:0.8; color:var(--border-default); flex:0 0 auto; }
.alg-chapter__head { display:flex; flex-direction:column; gap:10px; }
@media (max-width:600px) { .alg-chapter__n { font-size:44px; } }

/* price ladder: stepped price bands by carat (sapphire-price-per-carat) */
.alg-ladder { display:flex; flex-direction:column; gap:14px; }
.alg-ladder__rung { display:grid; grid-template-columns:64px 1fr 180px; gap:16px; align-items:center; }
.alg-ladder__carat { font-family:var(--font-serif); font-size:19px; line-height:1.1; color:var(--text-primary); text-align:right; }
.alg-ladder__track { height:44px; border-radius:var(--radius-sm); background:var(--surface-card); border:1px solid var(--border-subtle); overflow:hidden; }
.alg-ladder__bar { display:block; height:100%; width:var(--w,40%); min-width:9%; background:linear-gradient(90deg, rgba(196,159,71,0.30), rgba(196,159,71,0.78)); border-right:1px solid var(--border-gold); }
.alg-ladder__band { font-size:14px; line-height:1.4; color:var(--text-secondary); }
@media (max-width:600px) {
  .alg-ladder__rung { grid-template-columns:52px 1fr; row-gap:6px; }
  .alg-ladder__band { grid-column:2; }
}

/* origin comparison: three profile cards (ceylon-vs-kashmir-vs-burmese).
   Swatch dots use hallmark-blue tokens defined once here, in the manner of the
   navaratna jewel tones; they are decorative, not text. */
.alg-origins { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; --chip-kashmir:#6E93D6; --chip-burma:#2E56C4; --chip-ceylon:#4E81DB; }
.alg-origins__card { display:flex; flex-direction:column; gap:14px; padding:32px 28px; border:1px solid var(--border-subtle); border-radius:var(--radius-md); background:var(--surface-card); }
.alg-origins__card--ceylon { border-color:var(--border-gold); box-shadow:var(--glow-gold-soft); }
.alg-origins__pin { width:44px; height:44px; border-radius:50%; border:1px solid var(--border-gold); display:grid; place-items:center; color:var(--gold); }
.alg-origins__place { font-family:var(--font-serif); font-size:24px; line-height:1.1; color:var(--text-primary); }
.alg-origins__swatch { display:inline-flex; align-items:center; gap:9px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.alg-origins__chip { width:15px; height:15px; border-radius:50%; border:1px solid rgba(247,244,237,0.16); flex:0 0 auto; background:var(--chip,var(--sapphire)); }
.alg-origins__card--kashmir .alg-origins__chip { background:var(--chip-kashmir); }
.alg-origins__card--burma .alg-origins__chip { background:var(--chip-burma); }
.alg-origins__card--ceylon .alg-origins__chip { background:var(--chip-ceylon); }
.alg-origins__hallmark { font-size:15px; line-height:1.5; color:var(--text-primary); }
.alg-origins__note { font-size:14px; line-height:1.65; color:var(--text-secondary); }
@media (max-width:820px) { .alg-origins { grid-template-columns:1fr; } }

/* head-to-head: two-way versus panel + verdict (ceylon-vs-montana) */
.alg-versus { display:grid; grid-template-columns:1fr auto 1fr; align-items:stretch; border:1px solid var(--border-subtle); border-radius:var(--radius-md); overflow:hidden; }
.alg-versus__side { display:flex; flex-direction:column; gap:16px; padding:36px 34px; background:var(--surface-card); }
.alg-versus__side--gold { background:radial-gradient(120% 100% at 50% 0%, rgba(196,159,71,0.10), transparent 60%), var(--surface-card); }
.alg-versus__sub { font-family:var(--font-sans); font-weight:500; font-size:var(--text-label); letter-spacing:var(--tracking-label); text-transform:uppercase; color:var(--gold); }
.alg-versus__name { font-family:var(--font-serif); font-size:26px; line-height:1.1; color:var(--text-primary); }
.alg-versus__traits { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.alg-versus__trait { display:grid; grid-template-columns:auto 1fr; gap:11px; font-size:15px; line-height:1.55; color:var(--text-secondary); }
.alg-versus__trait .als-icon { margin-top:3px; color:var(--gold); flex:0 0 auto; }
.alg-versus__vs { display:grid; place-items:center; padding:0 6px; background:var(--surface-raised); }
.alg-versus__vsmed { width:52px; height:52px; border-radius:50%; border:1px solid var(--border-gold); display:grid; place-items:center; font-family:var(--font-serif); font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); background:var(--surface-base); }
.alg-versus__verdict { display:flex; align-items:flex-start; gap:18px; margin-top:22px; padding:28px 30px; border:1px solid rgba(196,159,71,0.4); border-radius:var(--radius-md); background:radial-gradient(120% 150% at 50% -20%, rgba(196,159,71,0.12), transparent 60%), var(--surface-card); }
.alg-versus__verdict-ic { flex:0 0 auto; width:46px; height:46px; border-radius:50%; background:var(--gradient-gold); display:grid; place-items:center; color:var(--text-inverse); box-shadow:var(--glow-gold-soft); }
.alg-versus__verdict-body { display:flex; flex-direction:column; gap:6px; }
.alg-versus__verdict-title { font-family:var(--font-serif); font-size:21px; line-height:1.2; color:var(--text-primary); }
.alg-versus__verdict-text { font-size:15px; line-height:1.65; color:var(--text-secondary); }
@media (max-width:760px) {
  .alg-versus { grid-template-columns:1fr; }
  .alg-versus__vs { padding:12px 0; }
}

/* diagnostic checks: numbered natural-vs-fake tests (how-to-spot-fake) */
.alg-checks { display:flex; flex-direction:column; gap:16px; }
.alg-checks__item { border:1px solid var(--border-subtle); border-radius:var(--radius-md); background:var(--surface-card); overflow:hidden; }
.alg-checks__top { display:flex; align-items:center; gap:16px; padding:22px 26px; }
.alg-checks__n { flex:0 0 auto; width:40px; height:40px; border:1px solid var(--border-gold); border-radius:50%; display:grid; place-items:center; font-family:var(--font-serif); font-size:15px; color:var(--gold); }
.alg-checks__title { font-family:var(--font-serif); font-size:20px; line-height:1.2; color:var(--text-primary); }
.alg-checks__grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border-subtle); border-top:1px solid var(--border-subtle); }
.alg-checks__cell { background:var(--surface-card); padding:18px 26px; display:flex; flex-direction:column; gap:8px; }
.alg-checks__lab { display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.alg-checks__lab--real { color:var(--accent-emerald); }
.alg-checks__lab--fake { color:var(--text-muted); }
.alg-checks__lab .als-icon { flex:0 0 auto; }
.alg-checks__txt { font-size:14px; line-height:1.6; color:var(--text-secondary); }
@media (max-width:640px) { .alg-checks__grid { grid-template-columns:1fr; } }

/* import duty: stacked per-country reference blocks (import-duty-by-country) */
.alg-refitems { display:flex; flex-direction:column; max-width:820px; margin:0 auto; }
.alg-refitem { padding:36px 0; border-top:1px solid var(--border-subtle); scroll-margin-top:100px; }
.alg-refitem:first-child { border-top:0; padding-top:0; }
.alg-refitem__head { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.alg-refitem__pin { width:42px; height:42px; flex:0 0 auto; border-radius:50%; border:1px solid var(--border-gold); display:grid; place-items:center; color:var(--gold); }
.alg-refitem__name { font-family:var(--font-serif); font-size:26px; line-height:1.1; color:var(--text-primary); margin:0; }

/* hub: featured "start here" guide card (learn-hub) */
.alg-guide--featured { min-height:0; flex-direction:row; align-items:center; gap:28px; padding:34px 36px; border-color:var(--border-gold); background:linear-gradient(180deg, rgba(196,159,71,0.08), rgba(28,28,28,0.4)); }
.alg-guide--featured:hover { border-color:var(--border-gold); background:linear-gradient(180deg, rgba(196,159,71,0.14), rgba(36,36,36,0.5)); }
.alg-guide__featic { flex:0 0 auto; width:64px; height:64px; border-radius:50%; border:1px solid var(--border-gold); display:grid; place-items:center; color:var(--gold); }
.alg-guide__featbody { display:flex; flex-direction:column; gap:8px; flex:1; }
.alg-guide__eyebrow { font-family:var(--font-sans); font-weight:500; font-size:var(--text-label); letter-spacing:var(--tracking-label); text-transform:uppercase; color:var(--gold); }
.alg-guide--featured .alg-guide__title { font-size:29px; margin-top:2px; }
.alg-guide--featured .alg-guide__read { margin-top:2px; }
@media (max-width:640px) { .alg-guide--featured { flex-direction:column; align-items:flex-start; gap:18px; } }

/* certification page: compact heading scale, scoped to .certpg (the rest of the
   site keeps its 46px headings). Section padding is left at the site default of
   112px, so it still steps down responsively on tablet and mobile. */
.certpg .alg-h2 { font-size:34px; line-height:1.15; }

/* ---- DS component: Form fields ---- */
.alg-field-group { display:flex; flex-direction:column; gap:8px; }
.alg-label { font-family:var(--font-sans); font-weight:500; font-size:var(--text-label); letter-spacing:0.08em; text-transform:uppercase; color:var(--text-secondary); }
.alg-field { width:100%; background:var(--surface-field); color:var(--text-primary); font-family:var(--font-sans); font-size:1rem; line-height:1.5; padding:12px 14px; border:1px solid var(--border-default); border-radius:var(--radius-sm); transition:border-color var(--duration-hover) var(--ease-standard), box-shadow var(--duration-hover) var(--ease-standard); }
.alg-field::placeholder { color:var(--text-muted); }
.alg-field:focus { outline:none; border-color:var(--border-gold); box-shadow:0 0 0 3px rgba(196,159,71,0.22); }
.alg-field:disabled { background:var(--surface-raised); color:var(--text-disabled); border-color:var(--border-subtle); cursor:not-allowed; }
.alg-field.is-error { border-color:var(--error); }
textarea.alg-field { min-height:120px; resize:vertical; }
.alg-select { appearance:none; -webkit-appearance:none; padding-right:40px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A8A8A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; cursor:pointer; }
.alg-hint { font-size:var(--text-caption); color:var(--text-muted); }
.alg-hint.is-error { color:var(--error-text); }

/* Contact page: the enquiry form (CF7 output) */
.alg-cform { margin-top:24px; }
.alg-cform .wpcf7-form { display:grid; gap:18px; }
.alg-cform .wpcf7-not-valid-tip { font-family:var(--font-sans); font-size:var(--text-caption); color:var(--error-text); margin-top:4px; }
.alg-cform .wpcf7-response-output { border:1px solid var(--border-subtle); padding:12px 16px; font-size:var(--text-caption); color:var(--text-secondary); margin:12px 0 0; }

/* checkbox + radio (visually hidden native input + styled box) */
.alg-check, .alg-radio { display:inline-flex; align-items:flex-start; gap:10px; cursor:pointer; font-family:var(--font-sans); font-size:0.95rem; line-height:1.4; color:var(--text-secondary); }
.alg-check input, .alg-radio input, .alg-switch input { position:absolute; width:1px; height:1px; opacity:0; margin:0; pointer-events:none; }
.alg-check__box, .alg-radio__box { width:20px; height:20px; flex:0 0 auto; margin-top:1px; border:1px solid var(--border-default); background:var(--surface-field); display:grid; place-items:center; color:var(--onyx); transition:background var(--duration-hover) var(--ease-standard), border-color var(--duration-hover) var(--ease-standard); }
.alg-check__box { border-radius:var(--radius-sm); }
.alg-radio__box { border-radius:50%; }
.alg-check__box .als-icon { opacity:0; transition:opacity var(--duration-hover) var(--ease-standard); }
.alg-check input:checked + .alg-check__box { background:var(--gradient-gold); border-color:transparent; }
.alg-check input:checked + .alg-check__box .als-icon { opacity:1; }
.alg-radio__box::after { content:""; width:8px; height:8px; border-radius:50%; background:var(--onyx); opacity:0; transition:opacity var(--duration-hover) var(--ease-standard); }
.alg-radio input:checked + .alg-radio__box { background:var(--gradient-gold); border-color:transparent; }
.alg-radio input:checked + .alg-radio__box::after { opacity:1; }
.alg-check input:focus-visible + .alg-check__box, .alg-radio input:focus-visible + .alg-radio__box { box-shadow:var(--ring-gold); }
.alg-check input:disabled ~ *, .alg-radio input:disabled ~ * { opacity:0.5; cursor:not-allowed; }

/* switch */
.alg-switch { display:inline-flex; align-items:center; gap:12px; cursor:pointer; font-family:var(--font-sans); font-size:0.95rem; color:var(--text-secondary); }
.alg-switch__track { width:46px; height:26px; flex:0 0 auto; border-radius:var(--radius-pill); background:var(--slate); border:1px solid var(--border-default); position:relative; transition:background var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard); }
.alg-switch__track::after { content:""; position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:var(--text-secondary); transition:transform var(--duration-base) var(--ease-standard), background var(--duration-base) var(--ease-standard); }
.alg-switch input:checked + .alg-switch__track { background:var(--gradient-gold); border-color:transparent; }
.alg-switch input:checked + .alg-switch__track::after { transform:translateX(20px); background:var(--onyx); }
.alg-switch input:focus-visible + .alg-switch__track { box-shadow:var(--ring-gold); }

/* disabled buttons (the gold/ghost buttons had no disabled state) */
.alg-btn-gold[disabled], .alg-btn-gold.is-disabled, .alg-btn-ghost[disabled], .alg-btn-ghost.is-disabled { background:var(--surface-card); color:var(--text-disabled); border:1px solid var(--border-subtle); box-shadow:none; filter:none; cursor:not-allowed; pointer-events:none; }

/* ---- DS component: Alert ---- */
.alg-alert { display:flex; gap:12px; align-items:flex-start; padding:16px 18px; border:1px solid transparent; border-radius:var(--radius-sm); }
.alg-alert__ic { flex:0 0 auto; margin-top:1px; }
.alg-alert__body { display:flex; flex-direction:column; gap:3px; }
.alg-alert__title { font-family:var(--font-sans); font-weight:500; font-size:0.95rem; line-height:1.3; }
.alg-alert__text { font-family:var(--font-sans); font-size:0.875rem; line-height:1.5; color:var(--text-secondary); }
.alg-alert--success { background:var(--success-soft); border-color:rgba(62,166,100,0.35); }
.alg-alert--success .alg-alert__ic, .alg-alert--success .alg-alert__title { color:var(--emerald-light); }
.alg-alert--info { background:var(--info-soft); border-color:rgba(78,129,219,0.35); }
.alg-alert--info .alg-alert__ic, .alg-alert--info .alg-alert__title { color:var(--sapphire); }
.alg-alert--warning { background:var(--warning-soft); border-color:rgba(224,165,58,0.35); }
.alg-alert--warning .alg-alert__ic, .alg-alert--warning .alg-alert__title { color:var(--amber); }
.alg-alert--error { background:rgba(217,72,92,0.12); border-color:rgba(217,72,92,0.40); }
.alg-alert--error .alg-alert__ic, .alg-alert--error .alg-alert__title { color:var(--error-text); }

/* ============================================================
   Topbar: announcement + header
   ============================================================ */
.alg-topbar { position:fixed; top:0; left:0; right:0; z-index:90; }
.alg-ann { background:#0E0E0E; transition:margin-top .4s var(--ease-standard),opacity .35s var(--ease-standard); position:relative; z-index:2; }
.alg-ann__bar { height:40px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.alg-ann-rot { position:relative; flex:1; height:18px; min-width:0; }
.alg-ann-msg { position:absolute; inset:0; display:flex; align-items:center; gap:9px; font-size:12px; letter-spacing:.07em; text-transform:uppercase; color:var(--text-secondary); white-space:nowrap; opacity:0; }
.alg-ann-msg.is-first { opacity:1; }
.alg-ann-dot { width:4px; height:4px; border-radius:999px; background:var(--gold); flex:0 0 auto; }
.alg-ann-side { display:flex; align-items:center; gap:18px; flex:0 0 auto; }
.alg-ann-contact { display:inline-flex; align-items:center; gap:7px; font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.alg-ann:hover .alg-ann-msg { animation-play-state:paused !important; }

.alg-fselect { appearance:none; -webkit-appearance:none; background:var(--surface-field); border:1px solid var(--border-default); border-radius:var(--radius-sm); color:var(--text-secondary); font-family:var(--font-sans); font-size:13px; padding:9px 30px 9px 12px; cursor:pointer; }

.alg-header { transition:background-color .35s var(--ease-standard),box-shadow .35s var(--ease-standard); position:relative; z-index:1; background-color:transparent; }
.alg-header__bar { height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.alg-logo { display:inline-flex; align-items:center; flex:0 0 auto; }
.alg-logo__img { height:80px; display:block; width:auto; }
.alg-nav-desktop { display:flex; align-items:center; gap:34px; }
.alg-navlink { font-size:14px; letter-spacing:.04em; color:var(--text-secondary); text-decoration:none; transition:var(--transition-color); }
.alg-navlink:hover { color:var(--text-primary); }
.alg-navlink.is-active { color:var(--text-primary); }
.alg-navlink.is-active:hover { color:var(--gold-champagne); }
.alg-actions { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.alg-iconlink { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-sm); color:var(--text-secondary); text-decoration:none; transition:var(--transition-color); position:relative; }
.alg-iconlink:hover { color:var(--text-primary); background:var(--surface-card-hover); }
.alg-burger { display:none; width:42px; height:42px; border-radius:var(--radius-sm); border:0; background:transparent; color:var(--text-primary); cursor:pointer; margin-left:4px; align-items:center; justify-content:center; }
.alg-sentinel { position:absolute; top:0; left:0; width:1px; height:18px; pointer-events:none; }
.alg-topbar-spacer { height:116px; }

/* mobile menu */
.alg-mobile-menu { position:fixed; inset:0; z-index:120; background:rgba(7,7,7,.82); backdrop-filter:blur(2px); }
.alg-mm__panel { position:absolute; top:0; right:0; bottom:0; width:min(86vw,380px); background:var(--surface-raised); border-left:1px solid var(--border-gold); box-shadow:var(--shadow-modal); display:flex; flex-direction:column; padding:22px; }
.alg-mm__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.alg-mm__logo { height:32px; }
.alg-mm__close { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border:0; background:transparent; color:var(--text-secondary); cursor:pointer; }
.alg-mm__rule { margin:8px 0 18px; }
.alg-mm__nav { display:flex; flex-direction:column; }
.alg-mm__link { font-family:var(--font-serif); font-size:26px; color:var(--text-primary); text-decoration:none; padding:13px 0; border-bottom:1px solid var(--border-subtle); }
.alg-mm__foot { margin-top:auto; display:flex; flex-direction:column; gap:14px; padding-top:22px; }
.alg-mm__account { display:inline-flex; align-items:center; gap:10px; color:var(--text-secondary); text-decoration:none; font-size:14px; }

/* ============================================================
   Mega menu: desktop dropdown panels + mobile accordion
   ============================================================ */
/* The panel is positioned to the header bar (not the item), so it spans the
   full content container as one floating card. The bar is the only ancestor
   made relative; the nav items stay static. */
.alg-header__bar { position:relative; }
.alg-navitem { display:flex; align-items:center; height:76px; }
.alg-navlink--mega { display:inline-flex; align-items:center; gap:7px; cursor:pointer; }
.alg-navlink__caret { display:inline-flex; color:var(--text-muted); transition:transform var(--duration-base) var(--ease-standard),color var(--duration-hover) var(--ease-standard); }
.alg-navitem:hover .alg-navlink__caret,
.alg-navitem:focus-within .alg-navlink__caret { transform:rotate(180deg); color:var(--text-secondary); }

/* the panel: full container width, a floating card below the bar. padding-top
   is a transparent, hoverable bridge so the hover never drops in the gap. */
.alg-mega { position:absolute; top:100%; left:0; right:0; z-index:5; padding-top:16px; opacity:0; visibility:hidden; transform:translateY(10px); pointer-events:none; transition:opacity 260ms var(--ease-standard),transform 260ms var(--ease-out),visibility 0s linear 260ms; }
.alg-navitem:hover .alg-mega,
.alg-navitem:focus-within .alg-mega { opacity:1; visibility:visible; transform:none; pointer-events:auto; transition:opacity 260ms var(--ease-standard),transform 260ms var(--ease-out),visibility 0s; }

.alg-mega__inner { background:var(--surface-raised); border:1px solid var(--border-subtle); border-radius:var(--radius-md); box-shadow:var(--shadow-modal); padding:34px 48px 40px; }

/* panel header strip: eyebrow + neutral "view all" link over a hairline */
.alg-mega__head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:18px; margin-bottom:24px; border-bottom:1px solid var(--border-subtle); }
.alg-mega__more { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:500; letter-spacing:.02em; color:var(--text-secondary); text-decoration:none; transition:var(--transition-color); }
.alg-mega__more:hover { color:var(--text-primary); }
.alg-mega__more .als-icon { transition:transform var(--duration-hover) var(--ease-standard); }
.alg-mega__more:hover .als-icon { transform:translateX(3px); }

.alg-mega__body { display:grid; grid-template-columns:1fr 320px; gap:44px; }
.alg-mega__cols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 28px; align-content:start; }

.alg-megalink { display:flex; align-items:center; gap:16px; padding:13px 16px; border-radius:var(--radius-sm); text-decoration:none; transition:background-color var(--duration-hover) var(--ease-standard); }
.alg-megalink:hover { background:var(--surface-card-hover); }
.alg-megalink__ic { width:42px; height:42px; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-sm); border:1px solid var(--border-subtle); background:var(--surface-card); color:var(--gold); }
.alg-megalink__txt { display:flex; flex-direction:column; gap:3px; min-width:0; flex:1 1 auto; }
.alg-megalink__name { font-family:var(--font-serif); font-size:18px; line-height:1.2; color:var(--text-primary); transition:color var(--duration-hover) var(--ease-standard); }
.alg-megalink:hover .alg-megalink__name { color:var(--gold-champagne); }
.alg-megalink__sub { font-size:13px; line-height:1.35; color:var(--text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.alg-megalink__arrow { flex:0 0 auto; display:inline-flex; color:var(--gold); opacity:0; transform:translateX(-6px); transition:opacity var(--duration-hover) var(--ease-standard),transform var(--duration-hover) var(--ease-standard); }
.alg-megalink:hover .alg-megalink__arrow { opacity:1; transform:none; }
.alg-megalink--guide { padding-left:18px; }

/* per-stone icon tints, echoing the homepage .alg-tile--{variant} palette */
.alg-megalink--blue   .alg-megalink__ic { color:#6E9BE6; border-color:rgba(78,129,219,.34); background:rgba(78,129,219,.10); }
.alg-megalink--padp   .alg-megalink__ic { color:#E78C78; border-color:rgba(231,140,120,.34); background:rgba(231,140,120,.10); }
.alg-megalink--yellow .alg-megalink__ic { color:var(--gold-champagne); border-color:rgba(224,165,58,.38); background:rgba(224,165,58,.10); }
.alg-megalink--fancy  .alg-megalink__ic { color:#5BC489; border-color:rgba(62,166,100,.34); background:rgba(62,166,100,.10); }
.alg-megalink--pink   .alg-megalink__ic { color:#E870AE; border-color:rgba(216,110,150,.34); background:rgba(216,110,150,.10); }
.alg-megalink--white  .alg-megalink__ic { color:var(--text-primary); border-color:rgba(247,244,237,.28); background:rgba(247,244,237,.06); }
.alg-megalink--star   .alg-megalink__ic { color:var(--gold-champagne); border-color:rgba(120,150,210,.34); background:rgba(120,150,210,.10); }
.alg-megalink--ruby   .alg-megalink__ic { color:#E8707E; border-color:rgba(217,72,92,.34); background:rgba(217,72,92,.10); }

/* the featured rail: the gem-motif media block is the panel's signature */
.alg-mega__feature { display:flex; flex-direction:column; padding-left:44px; border-left:1px solid var(--border-subtle); }
.alg-mega__media { position:relative; height:118px; margin-bottom:18px; display:flex; align-items:center; justify-content:center; border-radius:var(--radius-sm); border:1px solid var(--border-subtle); color:var(--gold-champagne); overflow:hidden; }
.alg-mega__media--gold { background:radial-gradient(120% 90% at 32% 24%,rgba(196,159,71,0.30),transparent 62%),radial-gradient(80% 80% at 74% 86%,rgba(156,122,51,0.22),transparent 70%),var(--surface-card); }
.alg-mega__media--blue { background:radial-gradient(120% 90% at 32% 24%,rgba(78,129,219,0.30),transparent 62%),radial-gradient(80% 80% at 74% 86%,rgba(15,82,186,0.20),transparent 70%),var(--surface-card); }
.alg-mega__media-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.alg-mega__media::after { content:""; position:absolute; top:8%; left:12%; width:24%; height:84%; background:linear-gradient(90deg,transparent,rgba(255,250,235,0.18),transparent); transform:skewX(-16deg); pointer-events:none; }
.alg-mega__feature .als-eyebrow { margin-bottom:8px; }
.alg-mega__ftitle { font-family:var(--font-serif); font-size:22px; line-height:1.2; color:var(--text-primary); margin-bottom:10px; }
.alg-mega__ftext { font-size:13px; line-height:1.6; color:var(--text-secondary); margin-bottom:20px; }
.alg-mega__btn { width:100%; }
.alg-mega__flink { display:inline-flex; align-items:center; gap:7px; margin-top:14px; font-size:13px; font-weight:500; letter-spacing:.02em; color:var(--text-secondary); text-decoration:none; transition:var(--transition-color); }
.alg-mega__flink:hover { color:var(--text-primary); }
.alg-mega__flink .als-icon { transition:transform var(--duration-hover) var(--ease-standard); }
.alg-mega__flink:hover .als-icon { transform:translateX(3px); }

/* visible gold focus ring for keyboard users */
.alg-navlink--mega:focus-visible,
.alg-megalink:focus-visible,
.alg-mega__more:focus-visible,
.alg-mega__flink:focus-visible,
.alg-mm__toggle:focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; border-radius:var(--radius-sm); }

/* mobile accordion (inside the burger drawer) */
.alg-mm__group { border-bottom:1px solid var(--border-subtle); }
.alg-mm__row { display:flex; align-items:center; }
.alg-mm__link--group { flex:1 1 auto; border-bottom:0; }
.alg-mm__toggle { flex:0 0 auto; width:48px; height:54px; display:inline-flex; align-items:center; justify-content:center; border:0; background:transparent; color:var(--text-secondary); cursor:pointer; }
.alg-mm__toggle .als-icon { transition:transform var(--duration-base) var(--ease-standard); }
.alg-mm__toggle.is-open .als-icon { transform:rotate(180deg); color:var(--gold); }
.alg-mm__sub { display:none; padding:2px 0 16px 8px; }
.alg-mm__sublink { display:block; font-size:15px; color:var(--text-secondary); text-decoration:none; padding:10px 2px; }
.alg-mm__sublink:hover { color:var(--text-primary); }

/* mega menu responsive (desktop nav only shows above 880px) */
@media (max-width:1080px) {
  .alg-mega__inner { padding:28px 30px 32px; }
  .alg-mega__body { grid-template-columns:1fr 270px; gap:32px; }
  .alg-mega__cols { gap:4px 16px; }
  .alg-mega__feature { padding-left:30px; }
}
@media (max-width:960px) {
  .alg-mega__body { grid-template-columns:1fr; gap:22px; }
  .alg-mega__feature { padding-left:0; padding-top:22px; border-left:0; border-top:1px solid var(--border-subtle); }
  .alg-mega__media { display:none; }
}

/* ============================================================
   Hero
   ============================================================ */
.alg-hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; background:var(--surface-base); }
.alg-hero__atmos { position:absolute; inset:0; background:radial-gradient(80% 70% at 50% 120%, rgba(8,8,8,1), rgba(10,10,10,1)); }
.alg-glow-b { position:absolute; right:-8%; top:8%; width:60vw; height:60vw; max-width:760px; max-height:760px; border-radius:50%; background:radial-gradient(circle at 50% 50%, rgba(78,129,219,0.20), transparent 62%); filter:blur(6px); }
.alg-glow-a { position:absolute; right:4%; top:24%; width:44vw; height:44vw; max-width:540px; max-height:540px; border-radius:50%; background:radial-gradient(circle at 46% 44%, rgba(196,159,71,0.22), transparent 60%); }
.alg-hero__stone { position:absolute; right:7%; top:0; bottom:0; display:flex; align-items:center; width:clamp(280px,38vw,520px); will-change:transform; }
.alg-hero__stone-box { position:relative; width:100%; aspect-ratio:1/1; }
.alg-hero__gem { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; transform-origin:50% 60%; color:rgba(227,203,142,0.9); }
.alg-glint { position:absolute; top:6%; left:6%; width:30%; height:88%; background:linear-gradient(90deg, transparent, rgba(255,250,235,0.5), transparent); transform:translateX(-160%) skewX(-18deg); pointer-events:none; }
.alg-hero__scrim-1 { position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,10,10,0.94) 0%, rgba(10,10,10,0.78) 34%, rgba(10,10,10,0.30) 64%, rgba(10,10,10,0.55) 100%); }
.alg-hero__scrim-2 { position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,10,0.65) 0%, transparent 24%, transparent 70%, rgba(10,10,10,0.85) 100%); }
.alg-hero__pad { position:relative; z-index:3; width:100%; padding-top:150px; padding-bottom:120px; }
.alg-hero-wrap { max-width:780px; display:flex; flex-direction:column; gap:28px; will-change:transform,opacity; }
.alg-hero-h1 { font-family:var(--font-serif); font-weight:400; font-size:50px; line-height:1.4; color:var(--text-primary); margin:0; }
.alg-hero-h1__line { display:block; }
.alg-hero-h1__line--soft { display:block; color:var(--text-secondary); }
.alg-hero-h1__gold { color:var(--gold); }
.alg-hero__lead { font-size:19px; line-height:1.62; color:var(--text-secondary); max-width:56ch; margin:0; }
.alg-hero__ctas { display:flex; gap:16px; margin-top:6px; }
/* Split hero: content left, real Ceylon stones right. The photo ships on a white
   studio ground, so a radial mask dissolves its edges into the dark atmosphere,
   the way the decorative gem motif it replaces did. .alg-hero__slider is the
   future bxSlider hook. */
.alg-hero__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr); align-items:center; gap:48px; width:100%; }
.alg-hero__media { position:relative; }
.alg-hero__slider { position:relative; aspect-ratio:1/1; }
.alg-hero__stone { display:none; }
/* Custom crossfade hero slider. Each .alg-hero__slide is an absolutely-stacked
   masked wrapper; the <img> inside carries the drop-shadow and the Ken Burns
   drift. Animated states are gated by .is-anim (added by JS only when there are
   2+ slides and motion is allowed), so a single slide, or reduced motion, is
   static with no auto-play and no zoom. */
.alg-hero__slide { position:absolute; inset:0; opacity:0; overflow:hidden; -webkit-mask-image:radial-gradient(circle at 50% 50%, #000 44%, rgba(0,0,0,0) 73%); mask-image:radial-gradient(circle at 50% 50%, #000 44%, rgba(0,0,0,0) 73%); }
.alg-hero__slide.is-active { opacity:1; z-index:1; }
.alg-hero__slideimg { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 26px 60px rgba(0,0,0,0.55)); }
.alg-hero__slider.is-anim .alg-hero__slide { transition:opacity 1200ms var(--ease-standard); }
.alg-hero__slider.is-anim .alg-hero__slideimg { transform:scale(1); transition:transform 6000ms var(--ease-out); }
.alg-hero__slider.is-anim .alg-hero__slide.is-active .alg-hero__slideimg { transform:scale(1.06); }
.alg-hero__dots { display:flex; justify-content:center; gap:10px; margin-top:24px; }
.alg-hero__dot { width:8px; height:8px; padding:0; border:0; border-radius:var(--radius-pill); background:rgba(196,159,71,0.32); cursor:pointer; transition:background var(--duration-hover) var(--ease-standard), transform var(--duration-hover) var(--ease-standard); }
.alg-hero__dot:hover { background:rgba(196,159,71,0.6); }
.alg-hero__dot.is-active { background:var(--gold); transform:scale(1.2); }
.alg-hero__dot:focus-visible { outline:2px solid var(--focus-ring); outline-offset:3px; }
.alg-cue { position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:3; display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--text-muted); }
.alg-cue__label { font-size:10px; letter-spacing:.22em; text-transform:uppercase; }
.alg-cue__ic { display:inline-flex; }
.alg-word { display:inline-block; }

/* ============================================================
   Trust strip (the promise)
   ============================================================ */
.alg-grid-6 { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border-subtle); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); overflow:hidden; }
.alg-pillar { display:flex; flex-direction:column; gap:14px; padding:34px 30px; background:var(--surface-card); text-decoration:none; transition:background-color var(--duration-hover) var(--ease-standard); }
.alg-pillar:hover { background:var(--surface-card-hover); }
.alg-pillar__ic { width:48px; height:48px; border-radius:999px; border:1px solid var(--border-gold); display:inline-flex; align-items:center; justify-content:center; color:var(--gold); }
.alg-pillar__title { font-family:var(--font-serif); font-size:22px; color:var(--text-primary); line-height:1.2; }
.alg-pillar__body { font-size:14px; line-height:1.6; color:var(--text-muted); }

/* ============================================================
   Shop by stone
   ============================================================ */
.alg-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.alg-tile { position:relative; display:flex; flex-direction:column; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); overflow:hidden; background:var(--surface-card); text-decoration:none; transition:border-color var(--duration-hover) var(--ease-standard); }
.alg-tile:hover { border-color:var(--border-default); }
.alg-tile__media { position:relative; aspect-ratio:1; overflow:hidden; display:block; background:var(--surface-raised); }
.alg-tile-media-img { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:rgba(196,159,71,0.55); transition:transform .5s var(--ease-out); }
.alg-tile:hover .alg-tile-media-img { transform:scale(1.06); }
.alg-tile__photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s var(--ease-out); }
.alg-tile:hover .alg-tile__photo { transform:scale(1.06); }
/* Ground the photo in the dark card and keep the Rare chip legible. */
.alg-tile__media:has(.alg-tile__photo)::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(to top, rgba(10,10,10,0.45) 0%, rgba(10,10,10,0) 46%); }
.alg-tile__chip, .alg-sweep { z-index:2; }
.alg-sweep { position:absolute; top:0; left:0; width:36%; height:100%; background:linear-gradient(90deg, transparent, rgba(255,250,235,0.35), transparent); transform:translateX(-130%) skewX(-16deg); pointer-events:none; }
.alg-tile:hover .alg-sweep { animation:algSweep .95s var(--ease-out); }
.alg-tile__chip { position:absolute; top:12px; left:12px; }
.alg-tile__body { display:flex; flex-direction:column; gap:5px; padding:18px 18px 20px; }
.alg-tile-name { font-family:var(--font-serif); font-size:21px; color:var(--text-primary); line-height:1.15; transition:color .2s var(--ease-standard); }
.alg-tile:hover .alg-tile-name { color:var(--gold-champagne); }
.alg-tile__sub { font-size:13px; color:var(--text-muted); line-height:1.45; }
/* stone variants: media tint + icon colour */
.alg-tile--blue   .alg-tile__media { background:radial-gradient(120% 90% at 32% 24%, rgba(78,129,219,0.34), transparent 62%), radial-gradient(80% 80% at 72% 84%, rgba(15,82,186,0.20), transparent 70%), var(--surface-raised); }
.alg-tile--blue   .alg-tile-media-img { color:rgba(196,159,71,0.55); }
.alg-tile--padp   .alg-tile__media { background:radial-gradient(120% 90% at 32% 24%, rgba(231,140,120,0.34), transparent 62%), radial-gradient(80% 80% at 72% 84%, rgba(227,150,175,0.22), transparent 70%), var(--surface-raised); }
.alg-tile--padp   .alg-tile-media-img { color:rgba(196,159,71,0.6); }
.alg-tile--yellow .alg-tile__media { background:radial-gradient(120% 90% at 32% 24%, rgba(224,165,58,0.36), transparent 62%), radial-gradient(80% 80% at 72% 84%, rgba(196,159,71,0.20), transparent 70%), var(--surface-raised); }
.alg-tile--yellow .alg-tile-media-img { color:rgba(196,159,71,0.6); }
.alg-tile--pink   .alg-tile__media { background:radial-gradient(120% 90% at 32% 24%, rgba(216,110,150,0.34), transparent 62%), radial-gradient(80% 80% at 72% 84%, rgba(231,140,170,0.20), transparent 70%), var(--surface-raised); }
.alg-tile--pink   .alg-tile-media-img { color:rgba(196,159,71,0.55); }
.alg-tile--white  .alg-tile__media { background:radial-gradient(120% 90% at 32% 24%, rgba(247,244,237,0.20), transparent 62%), radial-gradient(80% 80% at 72% 84%, rgba(184,184,184,0.12), transparent 70%), var(--surface-raised); }
.alg-tile--white  .alg-tile-media-img { color:rgba(247,244,237,0.55); }
.alg-tile--star   .alg-tile__media { background:radial-gradient(120% 90% at 32% 24%, rgba(120,150,210,0.30), transparent 62%), radial-gradient(80% 80% at 70% 80%, rgba(78,129,219,0.18), transparent 70%), var(--surface-raised); }
.alg-tile--star   .alg-tile-media-img { color:rgba(227,203,142,0.7); }
.alg-tile--fancy  .alg-tile__media { background:radial-gradient(120% 90% at 32% 24%, rgba(62,166,100,0.30), transparent 62%), radial-gradient(80% 80% at 72% 84%, rgba(60,150,150,0.20), transparent 70%), var(--surface-raised); }
.alg-tile--fancy  .alg-tile-media-img { color:rgba(196,159,71,0.55); }
.alg-tile--ruby   .alg-tile__media { background:radial-gradient(120% 90% at 32% 24%, rgba(217,72,92,0.32), transparent 62%), radial-gradient(80% 80% at 72% 84%, rgba(168,40,60,0.20), transparent 70%), var(--surface-raised); }
.alg-tile--ruby   .alg-tile-media-img { color:rgba(227,203,142,0.6); }
/* full-width banner below the stone tiles, so it never strands on its own row */
.alg-tile--all { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:center; text-align:center; gap:10px 20px; padding:30px 28px; border:1px solid var(--border-gold); background:linear-gradient(180deg, rgba(196,159,71,0.10), rgba(28,28,28,0.4)); transition:background var(--duration-hover) var(--ease-standard); }
.alg-tile--all:hover { background:linear-gradient(180deg, rgba(196,159,71,0.18), rgba(36,36,36,0.5)); }
.alg-tile--all .alg-tile__circle { width:48px; height:48px; flex:0 0 auto; border-radius:999px; border:1px solid var(--border-gold); display:inline-flex; align-items:center; justify-content:center; color:var(--gold); }
.alg-tile--all .alg-tile__alltitle { font-family:var(--font-serif); font-size:24px; color:var(--text-primary); line-height:1.2; }
.alg-tile--all .alg-tile__allsub { font-size:13px; color:var(--text-muted); line-height:1.5; max-width:42ch; }

/* ============================================================
   Choose your path
   ============================================================ */
.alg-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.alg-path { position:relative; display:flex; flex-direction:column; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); overflow:hidden; background:var(--surface-card); text-decoration:none; transition:border-color var(--duration-hover) var(--ease-standard); }
.alg-path-media { position:relative; aspect-ratio:16/11; overflow:hidden; display:block; transition:filter .3s var(--ease-standard); background:var(--surface-raised); }
.alg-path:hover .alg-path-media { filter:brightness(1.12) saturate(1.05); }
.alg-path-media__ic { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.alg-path-media__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.alg-path-media:has(.alg-path-media__img)::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(to top, rgba(10,10,10,0.45) 0%, rgba(10,10,10,0) 48%); }
.alg-path-media__bar { z-index:2; }
.alg-path-media__bar { position:absolute; top:0; left:0; right:0; height:2px; }
.alg-path__body { display:flex; flex-direction:column; gap:12px; padding:28px 26px 30px; }
.alg-path__title { font-family:var(--font-serif); font-size:26px; color:var(--text-primary); line-height:1.18; }
.alg-path__text { font-size:15px; line-height:1.6; color:var(--text-secondary); }
.alg-path__cta { display:inline-flex; align-items:center; gap:9px; color:var(--gold); font-weight:500; font-size:14px; letter-spacing:.03em; margin-top:4px; }
.alg-path-arrow { display:inline-flex; transition:transform .2s var(--ease-out); }
.alg-path:hover .alg-path-arrow { transform:translateX(6px); }
.alg-path--gold:hover { border-color:var(--border-gold); }
.alg-path--gold .alg-path-media { background:radial-gradient(120% 100% at 30% 20%, rgba(196,159,71,0.30), transparent 60%), radial-gradient(80% 80% at 75% 85%, rgba(227,203,142,0.16), transparent 70%), var(--surface-raised); }
.alg-path--gold .alg-path-media__ic { color:rgba(227,203,142,0.7); }
.alg-path--gold .alg-path-media__bar { background:var(--gradient-gold); }
.alg-path--sapphire:hover { border-color:var(--sapphire); }
.alg-path--sapphire .alg-path-media { background:radial-gradient(120% 100% at 30% 20%, rgba(78,129,219,0.32), transparent 60%), radial-gradient(80% 80% at 75% 85%, rgba(15,82,186,0.18), transparent 70%), var(--surface-raised); }
.alg-path--sapphire .alg-path-media__ic { color:rgba(120,160,230,0.8); }
.alg-path--sapphire .alg-path-media__bar { background:linear-gradient(90deg, var(--sapphire), transparent); }
.alg-path--emerald:hover { border-color:var(--emerald); }
.alg-path--emerald .alg-path-media { background:radial-gradient(120% 100% at 30% 20%, rgba(62,166,100,0.30), transparent 60%), radial-gradient(80% 80% at 75% 85%, rgba(37,107,67,0.18), transparent 70%), var(--surface-raised); }
.alg-path--emerald .alg-path-media__ic { color:rgba(111,196,140,0.85); }
.alg-path--emerald .alg-path-media__bar { background:linear-gradient(90deg, var(--emerald), transparent); }

/* ============================================================
   Provenance
   ============================================================ */
.alg-prov-media { position:relative; aspect-ratio:5/4; border:1px solid var(--border-subtle); border-radius:var(--radius-md); overflow:hidden; background:radial-gradient(120% 120% at 60% 40%, #14130F, #0B0B0B 70%); }
/* The real relief map sits in a centred square layer so the tall island is never
   cropped by the 5:4 panel. The map ships on a white ground, so a radial mask
   dissolves its edges into the dark panel. --rx/--ry is Ratnapura's position on
   the map (image space); the pin, rings and glow all read from it. */
.alg-prov-map { position:absolute; top:0; left:50%; transform:translateX(-50%); height:100%; aspect-ratio:1/1; --rx:47%; --ry:70%; }
.alg-prov-map__img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; -webkit-mask-image:radial-gradient(46% 60% at 50% 54%, #000 70%, rgba(0,0,0,0) 100%); mask-image:radial-gradient(46% 60% at 50% 54%, #000 70%, rgba(0,0,0,0) 100%); }
.alg-prov-media__glow { position:absolute; inset:0; background-image:radial-gradient(circle at var(--rx) var(--ry), rgba(196,159,71,0.14), transparent 38%); }
.alg-prov-rings { position:absolute; left:var(--rx); top:var(--ry); width:1px; height:1px; }
.alg-prov-rings__r1 { position:absolute; left:-90px; top:-90px; width:180px; height:180px; border:1px solid rgba(196,159,71,0.16); border-radius:50%; }
.alg-prov-rings__r2 { position:absolute; left:-140px; top:-140px; width:280px; height:280px; border:1px solid rgba(196,159,71,0.10); border-radius:50%; }
.alg-ping { position:absolute; left:-30px; top:-30px; width:60px; height:60px; border:1px solid var(--gold); border-radius:50%; }
.alg-prov-pin { position:absolute; left:var(--rx); top:var(--ry); transform:translate(-50%,-100%); display:flex; flex-direction:column; align-items:center; gap:7px; }
.alg-prov-pin__ic { color:var(--gold); display:inline-flex; filter:drop-shadow(0 4px 10px rgba(0,0,0,.6)); }
.alg-prov-label { position:absolute; left:var(--rx); top:var(--ry); transform:translate(-50%,14px); text-align:center; }
.alg-prov-label__name { font-family:var(--font-serif); font-size:17px; color:var(--text-primary); white-space:nowrap; }
.alg-prov-cap { position:absolute; left:22px; top:20px; display:flex; flex-direction:column; gap:3px; }
.alg-prov-cap__sub { font-size:12px; color:var(--text-muted); }
.alg-prov-text { font-size:17px; line-height:1.7; color:var(--text-secondary); margin:0; }
.alg-journey { display:flex; align-items:stretch; gap:0; margin-top:6px; }
.alg-journey__step { display:flex; flex-direction:column; gap:10px; flex:1; }
.alg-journey__ic { width:44px; height:44px; border-radius:999px; border:1px solid var(--border-gold); display:inline-flex; align-items:center; justify-content:center; color:var(--gold); }
.alg-journey__label { font-size:13px; color:var(--text-secondary); line-height:1.4; }
.alg-self-start { align-self:flex-start; margin-top:8px; }

/* ============================================================
   Heat & certification
   ============================================================ */
.alg-cert-links { display:flex; gap:28px; margin-top:4px; flex-wrap:wrap; }
.alg-cert-compare { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.alg-cmp { position:relative; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); overflow:hidden; background:var(--surface-card); }
.alg-cmp--rare { border:1px solid var(--border-gold); box-shadow:var(--glow-gold-soft); }
.alg-cmp__media { position:relative; aspect-ratio:3/2; display:block; background:radial-gradient(120% 100% at 40% 30%, rgba(78,129,219,0.34), transparent 62%), var(--surface-raised); }
.alg-cmp--rare .alg-cmp__media { background:radial-gradient(120% 100% at 40% 30%, rgba(78,129,219,0.5), transparent 62%), radial-gradient(70% 70% at 70% 80%, rgba(196,159,71,0.12), transparent 70%), var(--surface-raised); }
.alg-cmp__ic { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:rgba(120,160,230,0.7); }
.alg-cmp--rare .alg-cmp__ic { color:rgba(150,185,245,0.95); }
.alg-cmp__chip { position:absolute; top:9px; right:9px; }
.alg-cmp__foot { display:flex; align-items:center; justify-content:space-between; padding:12px 14px; }
.alg-cmp__name { font-size:13px; color:var(--text-secondary); }
.alg-cmp--rare .alg-cmp__name { color:var(--text-primary); }
.alg-cmp__note { font-size:11px; color:var(--text-muted); }
.alg-cmp--rare .alg-cmp__note { color:var(--gold); }
.alg-cert-card { position:relative; overflow:hidden; border-radius:var(--radius-md); }
.alg-mag { position:absolute; left:0; right:0; top:0; height:28%; background:linear-gradient(180deg, transparent, rgba(196,159,71,0.14), transparent); pointer-events:none; mix-blend-mode:screen; }
.alg-stack-22 { display:flex; flex-direction:column; gap:22px; }

/* ============================================================
   This week's stones
   ============================================================ */
.alg-recent-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:46px; }
.alg-recent-head__col { display:flex; flex-direction:column; gap:14px; }
.alg-recent-head__lead { font-size:16px; line-height:1.6; color:var(--text-secondary); max-width:52ch; margin:0; }
.alg-recent-head__link { display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:500; letter-spacing:.03em; white-space:nowrap; padding-bottom:6px; }
.alg-pcard { position:relative; display:flex; flex-direction:column; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); overflow:hidden; background:var(--surface-card); text-decoration:none; transition:transform .25s var(--ease-out), border-color .25s var(--ease-standard), box-shadow .25s var(--ease-standard); }
.alg-pcard:hover { transform:translateY(-5px); border-color:var(--border-default); box-shadow:var(--shadow-card); }
.alg-pcard__media { position:relative; aspect-ratio:1/1; overflow:hidden; display:block; background:var(--surface-raised); }
.alg-pcard-media-img { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; transition:transform .55s var(--ease-out); }
img.alg-pcard-media-img { width:100%; height:100%; object-fit:cover; }
.alg-pcard:hover .alg-pcard-media-img { transform:scale(1.05); }
.alg-sheen { position:absolute; top:0; left:0; width:45%; height:100%; background:linear-gradient(90deg, transparent, rgba(255,250,235,0.32), transparent); transform:translateX(-120%); pointer-events:none; }
.alg-pcard:hover .alg-sheen { animation:algSheen 1.15s var(--ease-out); }
.alg-badgewrap { position:absolute; top:12px; left:12px; display:flex; gap:7px; }
.alg-pcard-play { position:absolute; bottom:12px; right:12px; display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border-radius:999px; background:rgba(10,10,10,0.66); border:1px solid var(--border-default); color:var(--text-primary); font-size:11px; letter-spacing:.04em; opacity:0; transform:translateY(6px); transition:opacity .25s var(--ease-out), transform .25s var(--ease-out); }
.alg-pcard:hover .alg-pcard-play { opacity:1; transform:none; }
.alg-pcard__body { display:flex; flex-direction:column; gap:7px; padding:18px 18px 20px; }
.alg-pcard__name { font-family:var(--font-serif); font-size:22px; color:var(--text-primary); line-height:1.15; }
.alg-pcard__spec { font-size:13px; color:var(--text-muted); }
.alg-pcard__foot { display:flex; align-items:center; justify-content:space-between; margin-top:8px; }
.alg-pcard__price { font-family:var(--font-serif); font-size:22px; color:var(--gold); }
.alg-pcard--blue   .alg-pcard__media { background:radial-gradient(120% 100% at 32% 24%, rgba(78,129,219,0.36), transparent 60%), radial-gradient(80% 80% at 74% 84%, rgba(15,82,186,0.18), transparent 70%), var(--surface-raised); }
.alg-pcard--blue   .alg-pcard-media-img { color:rgba(150,185,245,0.85); }
.alg-pcard--yellow .alg-pcard__media { background:radial-gradient(120% 100% at 32% 24%, rgba(224,165,58,0.38), transparent 60%), radial-gradient(80% 80% at 74% 84%, rgba(196,159,71,0.18), transparent 70%), var(--surface-raised); }
.alg-pcard--yellow .alg-pcard-media-img { color:rgba(227,203,142,0.9); }
.alg-pcard--pink   .alg-pcard__media { background:radial-gradient(120% 100% at 32% 24%, rgba(216,110,150,0.36), transparent 60%), radial-gradient(80% 80% at 74% 84%, rgba(231,140,170,0.18), transparent 70%), var(--surface-raised); }
.alg-pcard--pink   .alg-pcard-media-img { color:rgba(235,165,195,0.9); }
.alg-pcard--padp   .alg-pcard__media { background:radial-gradient(120% 100% at 32% 24%, rgba(231,140,120,0.36), transparent 60%), radial-gradient(80% 80% at 74% 84%, rgba(227,150,175,0.20), transparent 70%), var(--surface-raised); }
.alg-pcard--padp   .alg-pcard-media-img { color:rgba(240,185,160,0.92); }
.alg-recent-foot { display:flex; justify-content:center; margin-top:48px; }

/* ============================================================
   Learning centre
   ============================================================ */
.alg-grid-5 { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.alg-guide { position:relative; display:flex; flex-direction:column; gap:14px; min-height:240px; padding:24px 22px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); background:var(--surface-card); text-decoration:none; overflow:hidden; transition:background-color var(--duration-hover) var(--ease-standard), border-color var(--duration-hover) var(--ease-standard); }
.alg-guide:hover { background:var(--surface-card-hover); border-color:var(--border-default); }
.alg-guide__num { color:var(--gold); }
.alg-guide__title { font-family:var(--font-serif); font-size:21px; color:var(--text-primary); line-height:1.25; margin-top:2px; }
.alg-guide__sub { font-size:13px; line-height:1.55; color:var(--text-muted); }
.alg-guide__read { margin-top:auto; display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--text-secondary); }
.alg-guide-arrow { display:inline-flex; opacity:0; transform:translateX(-4px); transition:opacity .2s, transform .2s; color:var(--gold); }
.alg-guide:hover .alg-guide-arrow { opacity:1; transform:none; }
.alg-learn-foot { display:flex; justify-content:center; margin-top:46px; }

/* ============================================================
   Reviews
   ============================================================ */
.alg-reviews-rating { display:flex; align-items:center; gap:12px; margin-top:2px; }
.alg-reviews-stars { display:inline-flex; gap:3px; color:var(--gold); }
.alg-reviews-rating__txt { font-size:14px; color:var(--text-secondary); }
/* grid-stack the slides so the stage sizes to the tallest quote (no overlap) */
.alg-tstage { display:grid; margin-top:44px; }
.alg-tslide { grid-area:1 / 1; display:flex; flex-direction:column; align-items:center; text-align:center; gap:22px; opacity:0; pointer-events:none; transition:opacity .5s var(--ease-out), transform .5s var(--ease-out); }
.alg-tslide.is-active { pointer-events:auto; }
.alg-tslide.is-active { opacity:1; }
.alg-tslide__quote-ic { color:var(--gold); opacity:.5; }
.alg-tslide__quote { font-family:var(--font-serif); font-size:26px; line-height:1.5; color:var(--text-primary); margin:0; max-width:30ch; }
.alg-tslide__who { font-size:13px; letter-spacing:.04em; color:var(--text-muted); }
/* Static testimonial card (reviews page). The home page's .alg-tslide is
   slider-coupled (grid-stacked slides), so standalone quotes use this card. */
.alg-quote-card { display:flex; flex-direction:column; gap:14px; padding:32px 30px; background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-md); }
.alg-quote-card__ic { color:var(--gold); opacity:.5; }
.alg-quote-card__quote { font-family:var(--font-serif); font-size:20px; line-height:1.55; color:var(--text-primary); margin:0; flex:1; }
.alg-quote-card__who { font-size:14px; line-height:1.5; color:var(--text-muted); }
.alg-tctrl { display:flex; align-items:center; justify-content:center; gap:22px; margin-top:18px; }
.alg-tnav { width:42px; height:42px; border-radius:999px; border:1px solid var(--border-default); background:transparent; color:var(--text-secondary); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--transition-color); }
.alg-tnav:hover { color:var(--text-primary); border-color:var(--border-strong); }
.alg-tdots { display:inline-flex; align-items:center; gap:8px; }
.alg-tdot { width:8px; height:8px; padding:0; border-radius:999px; border:0; background:var(--border-strong); cursor:pointer; transition:width .3s var(--ease-out), background .3s; }
.alg-tdot.is-active { width:26px; background:var(--gold); }
.alg-reviews-extra { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:44px; }
.alg-vbtn { display:inline-flex; align-items:center; gap:13px; padding:12px 18px 12px 12px; border-radius:999px; border:1px solid var(--border-default); background:var(--surface-card); cursor:pointer; color:var(--text-primary); transition:var(--transition-color); }
.alg-vbtn:hover { background:var(--surface-card-hover); border-color:var(--border-strong); }
.alg-vbtn__circle { width:44px; height:44px; border-radius:999px; background:radial-gradient(circle at 40% 36%, rgba(78,129,219,0.5), rgba(15,42,110,0.7)); display:inline-flex; align-items:center; justify-content:center; color:#fff; }
.alg-vbtn__txt { display:flex; flex-direction:column; align-items:flex-start; gap:1px; }
.alg-vbtn__title { font-size:14px; font-weight:500; }
.alg-vbtn__sub { font-size:12px; color:var(--text-muted); }
.alg-glink { display:inline-flex; align-items:center; gap:9px; font-size:14px; }

/* ============================================================
   Concierge
   ============================================================ */
.alg-concierge-card { position:relative; border:1px solid var(--border-subtle); border-radius:var(--radius-md); overflow:hidden; background:radial-gradient(120% 110% at 40% 24%, #16140F, #0B0B0B 72%); padding:34px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; }
.alg-concierge-av { position:relative; width:96px; height:96px; border-radius:999px; background:linear-gradient(160deg, #242424, #161616); border:1px solid var(--border-gold); display:inline-flex; align-items:center; justify-content:center; color:var(--gold); font-family:var(--font-serif); font-size:30px; }
.alg-concierge-av__dot { position:absolute; bottom:4px; right:6px; width:16px; height:16px; border-radius:999px; background:var(--emerald); border:2px solid #0B0B0B; }
.alg-concierge-id { display:flex; flex-direction:column; gap:4px; }
.alg-concierge-id__name { font-family:var(--font-serif); font-size:21px; color:var(--text-primary); }
.alg-concierge-id__role { font-size:13px; color:var(--text-muted); }
.alg-concierge-status { display:inline-flex; align-items:center; gap:8px; font-size:12px; color:var(--emerald-light); padding:6px 12px; border-radius:999px; background:var(--success-soft); border:1px solid rgba(62,166,100,0.35); }
.alg-concierge-status__dot { width:6px; height:6px; border-radius:999px; background:var(--emerald); }
.alg-concierge-text { font-size:17px; line-height:1.7; color:var(--text-secondary); margin:0; max-width:52ch; }
.alg-concierge-ctas { display:flex; gap:16px; margin-top:6px; }

/* ============================================================
   Footer
   ============================================================ */
.alg-footer { background:var(--surface-base); border-top:1px solid var(--border-gold); }
.alg-footer-band { padding:70px 0 70px; border-bottom:1px solid var(--border-subtle); }
.alg-footer-band__eyebrow { display:block; text-align:center; margin-bottom:26px; }
.alg-footer-badges { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px; }
.alg-badge { display:inline-flex; align-items:center; height:46px; padding:0 18px; border:1px solid var(--border-default); border-radius:2px; color:var(--text-muted); font-size:12px; letter-spacing:.06em; }
.alg-badge--lab { padding:0 22px; color:var(--text-secondary); font-family:var(--font-serif); font-size:16px; letter-spacing:.04em; }
.alg-badge--note { gap:8px; font-size:12px; letter-spacing:.04em; text-align:center; line-height:1.3; }
.alg-badge--note .alg-badge__ic { color:var(--gold); display:inline-flex; }
.alg-badge--pay { font-size:12px; letter-spacing:.04em; }
.alg-footer-vdiv { width:1px; height:22px; background:var(--border-subtle); }
.alg-footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding:70px 0 70px; }
.alg-footer-brand { display:flex; flex-direction:column; gap:18px; max-width:320px; }
.alg-footer-brand__logo { width:150px; display:block; }
.alg-footer-brand__text { font-size:14px; line-height:1.65; color:var(--text-muted); margin:0; }
.alg-footer-col { display:flex; flex-direction:column; gap:13px; }
.alg-footer-col__eyebrow { margin-bottom:4px; }
.alg-flink { font-size:14px; color:var(--text-secondary); text-decoration:none; transition:var(--transition-color); }
.alg-flink:hover { color:var(--text-primary); }
.alg-footer-selectors { display:flex; align-items:center; gap:16px; padding:24px 0; border-top:1px solid var(--border-subtle); flex-wrap:wrap; }
.alg-footer-selectors__label { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); }
.alg-footer-backtop { margin-left:auto; display:inline-flex; align-items:center; gap:8px; font-size:13px; }
.alg-footer-backtop__ic { display:inline-flex; transform:rotate(-90deg); }
.alg-footer-legal { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:40px 0 90px; border-top:1px solid var(--border-subtle); flex-wrap:wrap; }
.alg-footer-legal__links { display:flex; align-items:center; gap:18px; flex-wrap:wrap; font-size:14px; color:var(--text-muted); }
.alg-footer-legal__copy { font-size:14px; color:var(--text-muted); }

/* lightbox + floating concierge */
.alg-lightbox { position:fixed; inset:0; z-index:130; background:rgba(6,6,6,.86); display:flex; align-items:center; justify-content:center; padding:24px; }
.alg-lightbox__panel { position:relative; width:min(92vw,880px); aspect-ratio:16/9; border:1px solid var(--border-gold); border-radius:var(--radius-md); overflow:hidden; background:radial-gradient(120% 120% at 50% 40%, #15140F, #090909 72%); box-shadow:var(--shadow-modal); display:flex; align-items:center; justify-content:center; }
.alg-lightbox__inner { display:flex; flex-direction:column; align-items:center; gap:16px; }
.alg-lightbox__circle { width:72px; height:72px; border-radius:999px; background:radial-gradient(circle at 40% 36%, rgba(78,129,219,0.5), rgba(15,42,110,0.7)); display:inline-flex; align-items:center; justify-content:center; color:#fff; box-shadow:var(--glow-gold-soft); }
.alg-lightbox__title { font-family:var(--font-serif); font-size:20px; color:var(--text-primary); }
.alg-lightbox__note { font-size:13px; color:var(--text-muted); }
.alg-lightbox__close { position:absolute; top:14px; right:14px; }
.alg-floating { position:fixed; right:22px; bottom:22px; z-index:80; display:flex; align-items:center; gap:10px; border-radius:999px; }
.alg-floating-wa { width:52px; height:52px; border-radius:999px; background:var(--surface-card); border:1px solid var(--border-default); color:var(--emerald-light); display:inline-flex; align-items:center; justify-content:center; box-shadow:var(--shadow-card); transition:var(--transition-color); }
.alg-floating-wa:hover { background:var(--surface-card-hover); border-color:var(--border-strong); }
.alg-floating-ic { display:inline-flex; }

/* ---- icon-in-context colour helpers ---- */
.alg-ic-gold { color:var(--gold); display:inline-flex; }

/* ============================================================
   Keyframes
   ============================================================ */
@keyframes algAnn { 0% { opacity:0; transform:translateY(7px); } 4% { opacity:1; transform:none; } 28% { opacity:1; transform:none; } 33% { opacity:0; transform:translateY(-7px); } 100% { opacity:0; transform:translateY(-7px); } }
@keyframes algTilt { 0% { transform:rotate(-6deg) translateY(0); } 50% { transform:rotate(6deg) translateY(-10px); } 100% { transform:rotate(-6deg) translateY(0); } }
@keyframes algFloat { 0% { transform:translate(0,0) scale(1); opacity:.85; } 50% { transform:translate(2%, -3%) scale(1.05); opacity:1; } 100% { transform:translate(0,0) scale(1); opacity:.85; } }
@keyframes algGlint { 0% { transform:translateX(-160%) skewX(-18deg); opacity:0; } 12% { opacity:.55; } 26% { transform:translateX(160%) skewX(-18deg); opacity:0; } 100% { transform:translateX(160%) skewX(-18deg); opacity:0; } }
@keyframes algBob { 0% { transform:translateY(0); opacity:.65; } 50% { transform:translateY(8px); opacity:1; } 100% { transform:translateY(0); opacity:.65; } }
@keyframes algPulse { 0% { box-shadow:0 10px 30px rgba(0,0,0,.5), 0 0 0 0 rgba(196,159,71,.45); } 70% { box-shadow:0 10px 30px rgba(0,0,0,.5), 0 0 0 18px rgba(196,159,71,0); } 100% { box-shadow:0 10px 30px rgba(0,0,0,.5), 0 0 0 0 rgba(196,159,71,0); } }
@keyframes algRipple { 0% { transform:scale(.4); opacity:.7; } 100% { transform:scale(2.4); opacity:0; } }
@keyframes algSweep { 0% { transform:translateX(-130%) skewX(-16deg); opacity:0; } 18% { opacity:.7; } 100% { transform:translateX(130%) skewX(-16deg); opacity:0; } }
@keyframes algSheen { 0% { transform:translateX(-120%); opacity:0; } 20% { opacity:.8; } 100% { transform:translateX(120%); opacity:0; } }
@keyframes algMag { 0% { transform:translateY(-12%); opacity:0; } 14% { opacity:1; } 50% { transform:translateY(118%); opacity:1; } 64% { opacity:0; } 100% { transform:translateY(118%); opacity:0; } }

@media (prefers-reduced-motion: no-preference) {
  .alg-ann-msg { animation-name:algAnn; animation-duration:12s; animation-iteration-count:infinite; animation-timing-function:var(--ease-standard); }
  /* Stagger the three messages across the 12s cycle (each is visible for its 0-33% window). */
  .alg-ann-msg:nth-child(2) { animation-delay:4s; }
  .alg-ann-msg:nth-child(3) { animation-delay:8s; }
  .alg-hero__gem { animation:algTilt 18s var(--ease-in-out) infinite; }
  .alg-glow-a { animation:algFloat 14s var(--ease-in-out) infinite; }
  .alg-glow-b { animation:algFloat 19s var(--ease-in-out) infinite reverse; }
  .alg-glint { animation:algGlint 7.5s var(--ease-in-out) 1.5s infinite; }
  .alg-cue { animation:algBob 2.6s var(--ease-in-out) infinite; }
  .alg-ping { animation:algRipple 2.8s var(--ease-out) infinite; }
  .alg-mag { animation:algMag 6s var(--ease-in-out) 1.2s infinite; }
}
[data-motion="off"] .alg-page *, [data-motion="off"] .alg-page *::before, [data-motion="off"] .alg-page *::after { animation:none !important; transition-duration:1ms !important; }
[data-motion="calm"] .alg-hero__gem, [data-motion="calm"] .alg-glint, [data-motion="calm"] .alg-glow-a, [data-motion="calm"] .alg-glow-b, [data-motion="calm"] .alg-cue { animation:none !important; }
@media (prefers-reduced-motion: reduce) {
  .alg-page *, .alg-page *::before, .alg-page *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1080px) {
  .alg-pad { padding-left:30px; padding-right:30px; }
  .alg-grid-6 { grid-template-columns:repeat(3,1fr); }
  .alg-grid-4 { grid-template-columns:repeat(3,1fr); }
  .alg-grid-3 { grid-template-columns:1fr; }
  .alg-grid-5 { grid-template-columns:repeat(3,1fr); }
  .alg-hero-h1 { font-size:46px; }
  .alg-sec { padding-top:86px; padding-bottom:86px; }
  .alg-sec--p100, .alg-sec--p110, .alg-sec--p112 { padding-top:86px; padding-bottom:86px; }
  .alg-h2 { font-size:40px; }
  .alg-h2--44 { font-size:40px; }
}
@media (max-width: 880px) {
  .alg-nav-desktop { display:none; }
  .alg-burger { display:inline-flex; }
  .alg-split, .alg-split--cert, .alg-split--concierge { grid-template-columns:1fr; gap:44px; }
  .alg-footer-grid { grid-template-columns:1fr 1fr; }
  .alg-hide-md { display:none; }
  .alg-ann-side { display:none; }
  .alg-hero__grid { grid-template-columns:1fr; gap:20px; }
  .alg-hero__media { max-width:400px; margin-inline:auto; }
}
@media (max-width: 640px) {
  .alg-pad { padding-left:18px; padding-right:18px; }
  .alg-grid-6 { grid-template-columns:1fr; gap:14px; }
  .alg-grid-4 { grid-template-columns:repeat(2,1fr); gap:12px; }
  .alg-grid-5 { grid-template-columns:repeat(2,1fr); }
  .alg-hero-h1 { font-size:36px; line-height:1.2; }
  .alg-hero-wrap { max-width:100%; }
  .alg-hero__media { max-width:280px; }
  .alg-hero__pad { padding-top:128px; padding-bottom:80px; }
  .alg-sec, .alg-sec--p100, .alg-sec--p110, .alg-sec--p112 { padding-top:60px; padding-bottom:60px; }
  .alg-h2, .alg-h2--44 { font-size:31px; }
  .alg-carousel { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; margin-left:-18px; margin-right:-18px; padding:4px 18px 14px; gap:14px; }
  .alg-carousel > * { min-width:80%; flex:0 0 auto; scroll-snap-align:start; }
  .alg-footer-grid { grid-template-columns:1fr; gap:30px; }
  .alg-hide-sm { display:none; }
  .alg-concierge-label { display:none; }
  .alg-stack-sm { flex-direction:column; align-items:stretch; }
  .alg-recent-head, .alg-cert-links, .alg-concierge-ctas, .alg-hero__ctas, .alg-reviews-extra, .alg-footer-selectors, .alg-footer-legal { flex-wrap:wrap; }
  .alg-hero__ctas, .alg-concierge-ctas { flex-direction:column; align-items:stretch; }
  .alg-badgewrap { flex-wrap:wrap; }
}

/* ---- scroll reveal + hero intro (progressive enhancement; only when JS is on) ---- */
.alg-js [data-reveal] { opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.alg-js [data-reveal].is-in { opacity:1; transform:none; }
.alg-js .alg-hero .alg-word { opacity:0; transform:translateY(0.5em); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.alg-js .alg-hero .alg-word.is-in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
  .alg-js [data-reveal], .alg-js .alg-hero .alg-word { opacity:1; transform:none; transition:none; }
}
[data-motion="off"] [data-reveal], [data-motion="off"] .alg-hero .alg-word { opacity:1 !important; transform:none !important; }

/* ============================================================
   Single stone (/gems/{slug}/)
   ============================================================ */
.alg-stone { padding:40px 0 96px; }
.alg-breadcrumb__sep { color:var(--text-disabled); }
.alg-stone__crumb { margin-bottom:32px; }

/* top block: gallery + info */
.alg-stone__top { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:start; }

/* gallery */
.alg-stone-gallery { --alg-zoom:2.2; display:flex; flex-direction:column; gap:14px; }
.alg-stone-gallery__main { position:relative; aspect-ratio:1/1; border:1px solid var(--border-subtle); border-radius:var(--radius-md); overflow:hidden; background:var(--surface-raised); display:flex; align-items:center; justify-content:center; }
.alg-stone-gallery__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; cursor:zoom-in; transform-box:border-box; transform-origin:50% 50%; transition:opacity var(--duration-reveal) var(--ease-standard), transform var(--duration-hover) var(--ease-standard); }
.alg-stone-gallery__main.is-zoom .alg-stone-gallery__img { transform:scale(var(--alg-zoom)); }
.alg-stone-gallery__placeholder { color:var(--gold-champagne); opacity:.5; }
.alg-stone-gallery__zoom { position:absolute; top:14px; right:14px; width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-sm); border:1px solid var(--border-default); background:rgba(10,10,10,.6); color:var(--text-primary); cursor:pointer; transition:var(--transition-color); z-index:2; }
.alg-stone-gallery__zoom:hover { color:var(--gold); border-color:var(--border-gold); }

/* thumbnail strip: single row, native scroll, arrows only on overflow */
.alg-stone-gallery__thumbsWrap { position:relative; display:flex; align-items:center; gap:8px; }
.alg-stone-gallery__thumbs { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; -ms-overflow-style:none; flex:1 1 auto; min-width:0; }
.alg-stone-gallery__thumbs::-webkit-scrollbar { display:none; }
.alg-stone-gallery__thumb { flex:0 0 calc((100% - 40px) / 5); scroll-snap-align:start; aspect-ratio:1/1; padding:0; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); overflow:hidden; background:var(--surface-raised); cursor:pointer; transition:border-color var(--duration-hover) var(--ease-standard); }
.alg-stone-gallery__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.alg-stone-gallery__thumb:hover { border-color:var(--border-default); }
.alg-stone-gallery__thumb.is-active { border-color:var(--border-gold); }
.alg-stone-gallery__thumbNav { flex:0 0 auto; width:36px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-sm); border:1px solid var(--border-default); background:rgba(10,10,10,.6); color:var(--text-primary); cursor:pointer; transition:var(--transition-color); }
.alg-stone-gallery__thumbNav:hover { color:var(--gold); border-color:var(--border-gold); }
.alg-stone-gallery__thumbNav[hidden] { display:none; }
.alg-stone-gallery__thumbNav:disabled { opacity:.35; cursor:default; color:var(--text-primary); border-color:var(--border-default); }
@media (hover:none) { .alg-stone-gallery__thumbNav { display:none; } }

/* info column */
.alg-stone-info { display:flex; flex-direction:column; align-items:flex-start; }
.alg-stone-info .als-eyebrow { margin-bottom:14px; }
.alg-stone-info__title { font-family:var(--font-serif); font-size:40px; line-height:1.12; color:var(--text-primary); margin:0 0 12px; }
.alg-stone-info__spec { font-size:15px; color:var(--text-secondary); margin:0 0 18px; }
.alg-stone-info__chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.alg-stone-info__price { font-family:var(--font-serif); font-size:34px; color:var(--gold); margin-bottom:24px; }
.alg-stone-info__price--poa { font-size:24px; color:var(--text-secondary); }
.alg-stone-info__lead { font-size:16px; line-height:1.7; color:var(--text-secondary); margin-bottom:28px; }
.alg-stone-info__ctas { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-bottom:26px; }
.alg-stone-info__mail { font-size:14px; }
.alg-stone-info__trust { list-style:none; margin:0; padding:22px 0 0; border-top:1px solid var(--border-subtle); display:flex; flex-direction:column; gap:12px; width:100%; }
.alg-stone-info__trust li { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text-secondary); }
.alg-stone-info__trust li .als-icon { color:var(--gold); flex:0 0 auto; }

/* spec sheet */
.alg-stone-specs { margin-top:96px; }
.alg-stone-specs__list { margin:0 auto; max-width:760px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); overflow:hidden; }
.alg-stone-specs__row { display:grid; grid-template-columns:200px 1fr; gap:0; padding:16px 22px; border-bottom:1px solid var(--border-subtle); margin:0; }
.alg-stone-specs__row:last-child { border-bottom:0; }
.alg-stone-specs__row dt { font-size:13px; letter-spacing:.02em; color:var(--text-muted); margin:0; }
.alg-stone-specs__row dd { font-size:15px; color:var(--text-primary); margin:0; }
.alg-stone-specs__cert { margin-left:12px; font-size:13px; white-space:nowrap; }

/* certificate block */
.alg-stone-cert { margin-top:48px; max-width:760px; margin-left:auto; margin-right:auto; }

/* story */
.alg-stone-story { margin-top:96px; }
.alg-stone-story .alg-prose { margin:0 auto; }

/* trust links out */
.alg-stone-trust { margin-top:96px; }
.alg-stone-trust__card { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:28px 24px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); background:var(--surface-card); text-decoration:none; transition:border-color var(--duration-hover) var(--ease-standard), transform .25s var(--ease-out); }
.alg-stone-trust__card:hover { border-color:var(--border-default); transform:translateY(-4px); }
.alg-stone-trust__ic { width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-sm); border:1px solid var(--border-subtle); color:var(--gold); }
.alg-stone-trust__title { font-family:var(--font-serif); font-size:19px; line-height:1.2; color:var(--text-primary); }
.alg-stone-trust__body { font-size:13px; line-height:1.6; color:var(--text-secondary); }
.alg-stone-trust__link { display:inline-flex; align-items:center; gap:6px; margin-top:2px; font-size:13px; font-weight:500; color:var(--text-secondary); transition:var(--transition-color); }
.alg-stone-trust__card:hover .alg-stone-trust__link { color:var(--gold); }

/* related */
.alg-stone-related { margin-top:96px; }

/* image lightbox */
.alg-stone-lightbox { position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center; padding:48px; background:var(--surface-overlay); }
.alg-stone-lightbox[hidden] { display:none; }
.alg-stone-lightbox__img { max-width:min(92vw,1100px); max-height:86vh; object-fit:contain; border-radius:var(--radius-sm); }
.alg-stone-lightbox__close { position:absolute; top:22px; right:22px; }
.alg-stone-lightbox__close, .alg-stone-lightbox__nav { width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--border-default); border-radius:999px; background:rgba(10,10,10,.6); color:var(--text-primary); cursor:pointer; transition:var(--transition-color); }
.alg-stone-lightbox__close:hover, .alg-stone-lightbox__nav:hover { color:var(--gold); border-color:var(--border-gold); }
.alg-stone-lightbox__nav { position:absolute; top:50%; transform:translateY(-50%); }
.alg-stone-lightbox__nav[hidden] { display:none; }
.alg-stone-lightbox__nav--prev { left:22px; }
.alg-stone-lightbox__nav--next { right:22px; }

/* focus rings */
.alg-stone-gallery__zoom:focus-visible,
.alg-stone-gallery__thumb:focus-visible,
.alg-stone-gallery__thumbNav:focus-visible,
.alg-stone-trust__card:focus-visible,
.alg-stone-lightbox__close:focus-visible,
.alg-stone-lightbox__nav:focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; }

@media (prefers-reduced-motion: reduce) {
  .alg-stone-gallery__img { transition:opacity var(--duration-reveal) var(--ease-standard); }
}

/* responsive */
@media (max-width:900px) {
  .alg-stone__top { grid-template-columns:1fr; gap:36px; }
  .alg-stone-info__title { font-size:32px; }
  .alg-stone-specs, .alg-stone-story, .alg-stone-trust, .alg-stone-related { margin-top:64px; }
  .alg-stone-specs__row { grid-template-columns:140px 1fr; }
}
@media (max-width:560px) {
  /* show ~4.5 thumbs so the overflow row reads as scrollable (arrows hide on touch) */
  .alg-stone-gallery__thumb { flex-basis:calc((100% - 35px) / 4.5); }
  .alg-stone-specs__row { grid-template-columns:1fr; gap:4px; }
  .alg-stone-lightbox { padding:16px; }
  .alg-stone-lightbox__nav { width:42px; height:42px; }
}

/* ============================================================
   Style guide page chrome (dev reference only; scoped to .sg)
   ============================================================ */
.sg-head { display:flex; flex-direction:column; align-items:flex-start; gap:14px; max-width:64ch; }
.sg-head--mb { margin-bottom:48px; }
.sg-head__lead { font-size:17px; line-height:1.6; color:var(--text-secondary); margin:0; }
.sg-group { margin-top:40px; }
.sg-group__title { font-family:var(--font-sans); font-weight:500; font-size:13px; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-muted); margin:0 0 18px; }
.sg-swatches { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:16px; }
.sg-swatch { display:flex; flex-direction:column; gap:4px; }
.sg-swatch__chip { display:block; height:72px; border-radius:var(--radius-sm); border:1px solid var(--border-subtle); margin-bottom:10px; }
.sg-swatch__name { font-family:var(--font-sans); font-weight:500; font-size:14px; color:var(--text-primary); }
.sg-swatch__meta { font-family:var(--font-sans); font-size:12px; color:var(--text-muted); }
.sg-swatch__meta--hex { letter-spacing:0.04em; text-transform:uppercase; }

/* swatch fills (no inline styles in the template) */
.sg-chip--gold-champagne { background:var(--gold-champagne); }
.sg-chip--gold { background:var(--gold); }
.sg-chip--gold-antique { background:var(--gold-antique); }
.sg-chip--sapphire { background:var(--sapphire); }
.sg-chip--sapphire-royal { background:var(--sapphire-royal); }
.sg-chip--sapphire-navy { background:var(--sapphire-navy); }
.sg-chip--emerald-light { background:var(--emerald-light); }
.sg-chip--emerald { background:var(--emerald); }
.sg-chip--emerald-deep { background:var(--emerald-deep); }
.sg-chip--onyx { background:var(--onyx); }
.sg-chip--charcoal { background:var(--charcoal); }
.sg-chip--graphite { background:var(--graphite); }
.sg-chip--graphite-hi { background:var(--graphite-hi); }
.sg-chip--slate { background:var(--slate); }
.sg-chip--slate-hi { background:var(--slate-hi); }
.sg-chip--pearl { background:var(--pearl); }
.sg-chip--white { background:var(--white); }
.sg-chip--amber { background:var(--amber); }
.sg-chip--ruby { background:var(--ruby); }
.sg-chip--ruby-text { background:var(--ruby-text); }

/* type specimens */
.sg-type { display:flex; flex-direction:column; }
.sg-typerow { display:grid; grid-template-columns:200px 1fr; gap:32px; align-items:baseline; padding:22px 0; border-top:1px solid var(--border-subtle); }
.sg-typerow:first-child { border-top:0; }
.sg-typerow__meta { display:flex; flex-direction:column; gap:4px; }
.sg-typerow__name { font-family:var(--font-sans); font-weight:500; font-size:14px; color:var(--text-primary); }
.sg-typerow__spec { font-family:var(--font-sans); font-size:12px; color:var(--text-muted); }
.sg-spec { margin:0; color:var(--text-primary); }
.sg-spec--display { font-family:var(--font-serif); font-weight:400; font-size:var(--text-display); line-height:1.1; letter-spacing:var(--tracking-heading); }
.sg-spec--h1 { font-family:var(--font-serif); font-weight:400; font-size:var(--text-h1); line-height:1.22; letter-spacing:var(--tracking-heading); }
.sg-spec--h2 { font-family:var(--font-serif); font-weight:400; font-size:var(--text-h2); line-height:1.28; letter-spacing:var(--tracking-heading); }
.sg-spec--h3 { font-family:var(--font-serif); font-weight:400; font-size:var(--text-h3); line-height:1.375; }
.sg-spec--h4 { font-family:var(--font-serif); font-weight:400; font-size:var(--text-h4); line-height:1.45; }
.sg-spec--h5 { font-family:var(--font-sans); font-weight:500; font-size:var(--text-h5); line-height:1.55; }
.sg-spec--body-lg { font-family:var(--font-sans); font-weight:400; font-size:var(--text-body-lg); line-height:1.66; color:var(--text-secondary); }
.sg-spec--body { font-family:var(--font-sans); font-weight:400; font-size:var(--text-body); line-height:1.75; color:var(--text-secondary); }
.sg-spec--body-sm { font-family:var(--font-sans); font-weight:400; font-size:var(--text-body-sm); line-height:1.57; color:var(--text-secondary); }
.sg-spec--caption { font-family:var(--font-sans); font-weight:400; font-size:var(--text-caption); line-height:1.5; color:var(--text-muted); }
.sg-spec--quote { font-family:var(--font-serif); font-weight:400; font-size:var(--text-quote); line-height:1.46; color:var(--text-primary); }

@media (max-width:720px) {
  .sg-typerow { grid-template-columns:1fr; gap:10px; }
}

/* component demo layout */
.sg-block { margin-top:40px; }
.sg-block__label { font-family:var(--font-sans); font-weight:500; font-size:13px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-muted); margin:0 0 18px; }
.sg-row { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.sg-row--top { align-items:flex-start; }
.sg-panel { background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-sm); padding:28px; }
.sg-panel--center { display:flex; align-items:center; justify-content:center; }
.sg-stack { display:flex; flex-direction:column; gap:18px; }
.sg-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.sg-cardwrap { max-width:300px; }
.sg-certwrap { max-width:440px; }
.sg-motif { display:flex; align-items:center; justify-content:center; padding:40px 0; color:rgba(196,159,71,0.55); }
.sg-note { font-size:14px; line-height:1.6; color:var(--text-secondary); max-width:64ch; }
.sg-note code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12.5px; color:var(--gold-champagne); background:var(--surface-field); padding:2px 6px; border-radius:var(--radius-sm); }
@media (max-width:720px) {
  .sg-form-grid { grid-template-columns:1fr; }
}

/* ============================================================
   Collection and family listings (/gems/, /gemstones/{term})
   ============================================================ */
.alg-collection { padding:40px 0 96px; }
.alg-collection__crumb { margin-bottom:28px; }
.alg-collection__head { max-width:720px; margin-bottom:40px; }
.alg-collection__head .als-eyebrow { display:inline-block; margin-bottom:14px; }
.alg-collection__title { font-family:var(--font-serif); font-size:44px; line-height:1.1; color:var(--text-primary); margin:0 0 16px; }
.alg-collection__intro { font-size:16px; line-height:1.7; color:var(--text-secondary); margin:0; }

/* filter bar */
.alg-filterbar { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; padding:22px; margin-bottom:32px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); background:var(--surface-raised); }
.alg-filterbar__field { display:flex; flex-direction:column; gap:7px; flex:1 1 180px; min-width:0; }
.alg-filterbar__label { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.alg-filterbar__select { width:100%; }
.alg-filterbar__submit { flex:0 0 auto; }
.alg-filterbar__clear { flex:0 0 auto; align-self:center; font-size:14px; }

/* count */
.alg-collection__count { font-size:14px; color:var(--text-muted); margin:0 0 26px; }

/* grid (reuses .alg-grid-4) */
.alg-collection__grid { margin-bottom:56px; }

/* empty state */
.alg-collection__empty { padding:64px 0; text-align:center; display:flex; flex-direction:column; gap:14px; align-items:center; }
.alg-collection__empty p { font-size:16px; color:var(--text-secondary); margin:0; }

/* pagination */
.alg-pagination ul { list-style:none; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:0; padding:0; }
.alg-pagination a, .alg-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 12px; border:1px solid var(--border-subtle); border-radius:var(--radius-sm); color:var(--text-secondary); text-decoration:none; font-size:14px; transition:color var(--duration-hover) var(--ease-standard), border-color var(--duration-hover) var(--ease-standard); }
.alg-pagination a:hover { color:var(--text-primary); border-color:var(--border-default); }
.alg-pagination .current { color:var(--text-inverse); background:var(--gold); border-color:var(--gold); }
.alg-pagination .dots { border-color:transparent; }

/* focus rings */
.alg-filterbar__select:focus-visible,
.alg-filterbar__submit:focus-visible,
.alg-filterbar__clear:focus-visible,
.alg-pagination a:focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; }

/* responsive */
@media (max-width:720px) {
  .alg-collection__title { font-size:34px; }
  .alg-filterbar { flex-direction:column; align-items:stretch; }
  .alg-filterbar__field { flex:1 1 auto; }
  .alg-filterbar__submit { width:100%; }
  .alg-filterbar__clear { align-self:flex-start; }
}
