
:root {
    --primary: #0b5cad;
    --secondary: #41c7f4;
    --light: #eef6ff;
    --dark: #031a38;

    --brand-blue: #0b5cad;
    --brand-blue-dark: #031a38;
    --brand-blue-mid: #07548b;
    --brand-sky: #41c7f4;
    --brand-aqua: #59d7ff;
    --brand-gold: #d9ad4b;
    --brand-light: #eef6ff;
    --brand-soft: rgba(11, 92, 173, 0.08);
    --brand-glass: rgba(255, 255, 255, 0.12);
    --text-dark: #102033;
    --muted: #65758a;
    --surface: #ffffff;
    --surface-alt: #f6fbff;
    --border-soft: rgba(11, 92, 173, 0.14);
    --shadow-soft: 0 22px 55px rgba(3, 26, 56, 0.12);
    --shadow-strong: 0 32px 90px rgba(3, 26, 56, 0.22);
    --ring: rgba(65, 199, 244, .28);
}

:root[data-palette="royal-blue"] {
    --primary: #1746d1;
    --brand-blue: #1746d1;
    --brand-blue-dark: #07184d;
    --brand-blue-mid: #215cda;
    --brand-sky: #6ea8ff;
    --brand-aqua: #74e2ff;
    --brand-light: #f1f5ff;
    --brand-soft: rgba(23, 70, 209, 0.08);
    --border-soft: rgba(23, 70, 209, 0.14);
    --ring: rgba(110, 168, 255, .30);
}

:root[data-palette="aqua-blue"] {
    --primary: #0089a7;
    --brand-blue: #0089a7;
    --brand-blue-dark: #042f43;
    --brand-blue-mid: #00a4c7;
    --brand-sky: #50e3ff;
    --brand-aqua: #8af5ff;
    --brand-light: #ecfbff;
    --brand-soft: rgba(0, 137, 167, 0.09);
    --border-soft: rgba(0, 137, 167, 0.16);
    --ring: rgba(80, 227, 255, .32);
}

:root[data-theme="dark"] {
    --text-dark: #eaf5ff;
    --muted: #afbed2;
    --surface: #07192d;
    --surface-alt: #0b213a;
    --brand-light: #051528;
    --border-soft: rgba(122, 203, 255, 0.16);
    --shadow-soft: 0 22px 55px rgba(0, 0, 0, 0.28);
    --shadow-strong: 0 32px 90px rgba(0, 0, 0, 0.42);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Open Sans', Arial, sans-serif;
    color: var(--text-dark);
    background:
        radial-gradient(circle at top left, rgba(65,199,244,.12), transparent 35rem),
        radial-gradient(circle at bottom right, rgba(11,92,173,.08), transparent 32rem),
        var(--surface);
    overflow-x: hidden;
    line-height: 1.72;
}
h1,h2,h3,h4,h5,h6,.navbar-brand,.section-title,.display-3,.display-4,.display-5 {
    font-family: 'Montserrat', Arial, sans-serif;
    letter-spacing: -0.035em;
    line-height: 1.12;
}
a { text-decoration: none !important; color: var(--brand-blue); }
a:hover { color: var(--brand-blue-mid); }
img { max-width: 100%; }

/* Header and navigation */
.orein-header { transition: transform .35s ease, box-shadow .35s ease; }
.topbar {
    background: linear-gradient(90deg, var(--brand-blue-dark), var(--brand-blue-mid));
    color: rgba(255,255,255,.92);
    font-size: .88rem;
    letter-spacing: .01em;
}
.site-navbar {
    background: rgba(3, 26, 56, 0.88);
    border-bottom: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition: padding .35s ease, background .35s ease, box-shadow .35s ease;
}
.orein-header.is-scrolled .site-navbar {
    background: rgba(3, 26, 56, 0.96);
    box-shadow: 0 22px 55px rgba(3, 26, 56, .28);
}
.brand-logo {
    width: 60px;
    height: 60px;
    object-fit: contain;
    border-radius: 16px;
    background: rgba(255,255,255,.96);
    padding: 5px;
    box-shadow: 0 12px 35px rgba(0,0,0,.18);
    transition: transform .4s ease, box-shadow .4s ease;
}
.navbar-brand:hover .brand-logo { transform: translateY(-2px) rotate(-2deg); box-shadow: 0 18px 45px rgba(65,199,244,.22); }
.navbar-dark .navbar-nav .nav-link {
    position: relative;
    overflow: hidden;
    padding: .78rem .92rem;
    margin: 0 .12rem;
    border-radius: 999px;
    font-size: .86rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: .02em;
    color: rgba(255,255,255,.84);
    text-decoration: none !important;
    transition: color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.navbar-dark .navbar-nav .nav-link::after { display: none !important; }
.navbar-dark .navbar-nav .nav-link::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.22) 45%, transparent 70%);
    transform: translateX(-120%);
    pointer-events: none;
}
.navbar-dark .navbar-nav .nav-link:hover::before { animation: navShimmer 1.05s ease forwards; }
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link:hover {
    color: #fff;
    background: rgba(255,255,255,.10);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.13), 0 10px 26px rgba(0,0,0,.14);
    transform: translateY(-1px);
}
@keyframes navShimmer { to { transform: translateX(120%); } }

.nav-container-custom { gap: .7rem; }
.mobile-nav-top { display: flex; align-items: center; justify-content: space-between; }
.mobile-nav-actions { align-items: center; gap: .65rem; margin-left: auto; }
.navbar-toggler { border: 1px solid rgba(255,255,255,.22); border-radius: 14px; padding: .55rem .7rem; }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem var(--ring); }

.palette-switcher {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .32rem;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.12);
}
.palette-dot {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.45);
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.palette-dot:hover, .palette-dot.active { transform: scale(1.12); border-color: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,.14); }
.palette-deep { background: linear-gradient(135deg, #031a38, #0b5cad, #41c7f4); }
.palette-royal { background: linear-gradient(135deg, #07184d, #1746d1, #6ea8ff); }
.palette-aqua { background: linear-gradient(135deg, #042f43, #0089a7, #50e3ff); }
.theme-icon-switch {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.10);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    transition: transform .3s ease, background .3s ease;
}
.theme-icon-switch:hover { transform: translateY(-2px) rotate(6deg); background: rgba(255,255,255,.16); }
.theme-icon-switch .sun-icon { display: none; }
.theme-icon-switch.is-dark .moon-icon { display: none; }
.theme-icon-switch.is-dark .sun-icon { display: inline-flex; }

/* Buttons */
.btn { border-radius: 999px; }
.btn::after { display: none !important; }
.btn-brand,
.btn-primary {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(135deg, var(--brand-blue), var(--brand-sky));
    color: #fff !important;
    border: none;
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: .01em;
    text-transform: none;
    box-shadow: 0 16px 36px rgba(11,92,173,.28);
    transition: transform .32s ease, box-shadow .32s ease, filter .32s ease;
}
.btn-brand::before,
.btn-primary::before {
    content: '';
    position: absolute;
    inset: -2px;
    z-index: -1;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.42), transparent);
    transform: translateX(-120%);
}
.btn-brand:hover::before,
.btn-primary:hover::before { animation: buttonSweep .95s ease forwards; }
.btn-brand:hover,
.btn-primary:hover { transform: translateY(-3px); box-shadow: 0 24px 58px rgba(11,92,173,.34); filter: saturate(1.08); }
@keyframes buttonSweep { to { transform: translateX(120%); } }
.btn-outline-brand {
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.62);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
    font-weight: 800;
    text-transform: none;
    transition: transform .3s ease, background .3s ease, color .3s ease;
}
.btn-outline-brand:hover { background:#fff; color: var(--brand-blue-dark) !important; transform: translateY(-3px); }
.btn-outline-dark { border-color: var(--border-soft); color: var(--brand-blue-dark); font-weight: 800; text-transform: none; }
:root[data-theme="dark"] .btn-outline-dark { color: #fff; border-color: rgba(255,255,255,.22); }

/* Hero */
.hero-section {
    position: relative;
    overflow: hidden;
    background: var(--brand-blue-dark);
}
.hero-section::before,
.hero-section::after {
    content:'';
    position:absolute;
    pointer-events:none;
    z-index:2;
}
.hero-section::before {
    width: 46rem;
    height: 46rem;
    right: -18rem;
    top: -20rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(65,199,244,.25), transparent 58%);
    animation: slowFloat 12s ease-in-out infinite;
}
.hero-section::after {
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(90deg, #000 0, transparent 72%);
    opacity: .45;
    animation: gridDrift 24s linear infinite;
}
.hero-section .carousel-item {
    min-height: 90vh;
    background-size: cover;
    background-position: center center;
}
.hero-section .carousel-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(105deg, rgba(3,26,56,.94) 0%, rgba(5,54,104,.78) 46%, rgba(3,26,56,.42) 100%),
        radial-gradient(circle at 78% 18%, rgba(65,199,244,.28), transparent 38%);
}
.hero-section .carousel-item::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.08), transparent);
    transform: translateX(-100%);
    animation: heroLightSweep 6.5s ease-in-out infinite;
}
.hero-content {
    position: relative;
    z-index: 4;
    min-height: 90vh;
    display: flex;
    align-items: center;
    padding-top: 130px;
}
.hero-content h1,
.hero-content h2 {
    text-shadow: 0 14px 35px rgba(0,0,0,.35);
    letter-spacing: -0.06em;
}
.hero-content .lead {
    max-width: 850px;
    color: rgba(255,255,255,.88);
    font-size: clamp(1.02rem, 1.4vw, 1.24rem);
}
.hero-pill, .page-badge, .eyebrow {
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    background: rgba(255,255,255,.12);
    color:#fff;
    padding:.62rem 1.05rem;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 16px 34px rgba(0,0,0,.10);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.075em;
    text-transform:uppercase;
    backdrop-filter: blur(10px);
}
.hero-stat-card, .glass-card {
    background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.055));
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 22px 65px rgba(0,0,0,.22);
    border-radius: 1.55rem;
    color: #fff;
    padding: 1.35rem;
    backdrop-filter: blur(14px);
    animation: cardFloat 6s ease-in-out infinite;
}
.hero-card-grid .hero-stat-card:nth-child(2) { animation-delay: 1.2s; }
.carousel-control-prev-icon,
.carousel-control-next-icon { filter: drop-shadow(0 10px 24px rgba(0,0,0,.35)); }
@keyframes slowFloat { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(-30px,32px,0) scale(1.05); } }
@keyframes gridDrift { to { background-position: 128px 128px; } }
@keyframes heroLightSweep { 0%,45% { transform: translateX(-110%); } 75%,100% { transform: translateX(110%); } }
@keyframes cardFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* Page banners */
.page-hero {
    position: relative;
    overflow: hidden;
    padding: 150px 0 92px;
    background-size: cover;
    background-position: center;
}
.page-hero::after {
    content:'';
    position:absolute;
    inset:0;
    background: radial-gradient(circle at 20% 10%, rgba(80,227,255,.24), transparent 34%), linear-gradient(transparent, rgba(3,26,56,.18));
    pointer-events:none;
}
.page-hero .container { position: relative; z-index: 2; }
.page-hero h1 { animation: titleRise .8s ease both; }
.page-hero .breadcrumb-item,
.page-hero .breadcrumb-item a { color: rgba(255,255,255,.84); }
.page-hero .breadcrumb-item.active { color:#fff; }
@keyframes titleRise { from { opacity:0; transform: translateY(18px); } to { opacity:1; transform: translateY(0); } }

/* Sections and cards */
.py-6 { padding-top: 96px; padding-bottom: 96px; }
.bg-soft {
    background:
        linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.42)),
        radial-gradient(circle at 15% 0%, var(--brand-soft), transparent 28rem),
        var(--brand-light);
}
:root[data-theme="dark"] .bg-soft { background: linear-gradient(180deg, #07182b, #061424); }
.section-heading { margin-bottom: 2.2rem; }
.section-heading .section-label {
    color: var(--brand-blue);
    letter-spacing: .115em;
    text-transform: uppercase;
    font-size: .78rem;
    font-weight: 900;
    margin-bottom: .85rem;
    display:inline-flex;
    align-items: center;
    gap: .55rem;
}
.section-heading .section-label::before {
    content:'';
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--brand-blue), var(--brand-sky));
}
.text-center .section-label::after {
    content:'';
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--brand-sky), var(--brand-blue));
}
.section-heading h2 {
    font-size: clamp(2.05rem, 3.4vw, 3.35rem);
    color: var(--brand-blue-dark);
    margin-bottom: 1rem;
}
:root[data-theme="dark"] .section-heading h2 { color: #f4fbff; }
.section-heading p { color: var(--muted); max-width: 820px; }

.metric-card,
.feature-card,
.info-card,
.timeline-card,
.job-card,
.empty-jobs-card,
.icon-card,
.contact-card,
.gallery-card,
.profile-card,
.quote-card,
.license-card,
.asset-card,
.compact-card {
    position: relative;
    overflow: hidden;
    background: var(--surface);
    border-radius: 1.45rem;
    padding: 1.55rem;
    border: 1px solid var(--border-soft);
    box-shadow: var(--shadow-soft);
    height: 100%;
    transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease, border-color .4s ease;
}
.metric-card::before,
.feature-card::before,
.info-card::before,
.timeline-card::before,
.job-card::before,
.empty-jobs-card::before,
.icon-card::before,
.contact-card::before,
.profile-card::before,
.quote-card::before,
.license-card::before,
.asset-card::before,
.compact-card::before {
    content:'';
    position:absolute;
    inset:0;
    background: linear-gradient(135deg, rgba(65,199,244,.16), transparent 42%);
    opacity:0;
    transition: opacity .4s ease;
    pointer-events:none;
}
.metric-card:hover,
.feature-card:hover,
.info-card:hover,
.timeline-card:hover,
.job-card:hover,
.empty-jobs-card:hover,
.icon-card:hover,
.contact-card:hover,
.gallery-card:hover,
.profile-card:hover,
.quote-card:hover,
.license-card:hover,
.asset-card:hover,
.compact-card:hover {
    transform: translateY(-9px);
    box-shadow: var(--shadow-strong);
    border-color: rgba(65,199,244,.34);
}
.metric-card:hover::before,
.feature-card:hover::before,
.info-card:hover::before,
.timeline-card:hover::before,
.job-card:hover::before,
.empty-jobs-card:hover::before,
.icon-card:hover::before,
.contact-card:hover::before,
.profile-card:hover::before,
.quote-card:hover::before,
.license-card:hover::before,
.asset-card:hover::before,
.compact-card:hover::before { opacity: 1; }
.icon-badge {
    width: 66px;
    height: 66px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius: 20px;
    color:#fff;
    background: linear-gradient(135deg, var(--brand-blue), var(--brand-sky));
    font-size: 1.48rem;
    margin-bottom: 1rem;
    box-shadow: 0 16px 36px rgba(11,92,173,.23);
    animation: pulseBadge 3.2s ease-in-out infinite;
}
@keyframes pulseBadge {
    0%,100% { transform: scale(1); box-shadow: 0 16px 36px rgba(11,92,173,.23), 0 0 0 0 rgba(65,199,244,.24); }
    50% { transform: scale(1.045); box-shadow: 0 18px 42px rgba(11,92,173,.27), 0 0 0 18px rgba(65,199,244,0); }
}
.accent-line {
    width: 98px;
    height: 4px;
    background: linear-gradient(90deg, var(--brand-blue), var(--brand-sky), var(--brand-gold));
    border-radius: 999px;
    margin-bottom: 1.1rem;
    position: relative;
    overflow: hidden;
}
.accent-line::after {
    content:'';
    position:absolute;
    inset:0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
    animation: lineSweep 2.6s ease-in-out infinite;
}
@keyframes lineSweep { 0% { transform: translateX(-110%); } 60%,100% { transform: translateX(110%); } }
.text-muted-orein { color: var(--muted); }
.min-h-100 { min-height: 100%; }

.visual-stack { position: relative; min-height: 540px; perspective: 1000px; }
.visual-stack .main-image,
.visual-stack .card-image,
.rounded-media,
.gallery-card img,
.poster-img,
.side-image {
    width: 100%;
    object-fit: cover;
    border-radius: 1.55rem;
    box-shadow: var(--shadow-soft);
    border: 1px solid var(--border-soft);
    filter: saturate(1.04) contrast(1.02);
}
.visual-stack .main-image { height: 100%; min-height: 520px; transition: transform .6s ease; }
.visual-stack:hover .main-image { transform: rotateX(1deg) rotateY(-2deg) scale(1.015); }
.visual-stack .floating-card {
    position: absolute;
    right: -10px;
    bottom: 30px;
    max-width: 285px;
    background: rgba(255,255,255,.90);
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 1.3rem;
    padding: 1.05rem;
    box-shadow: 0 24px 60px rgba(3,26,56,.20);
    backdrop-filter: blur(18px);
    animation: cardFloat 5.8s ease-in-out infinite;
}
:root[data-theme="dark"] .visual-stack .floating-card { background: rgba(7,25,45,.88); border-color: rgba(255,255,255,.14); }
.list-check { list-style: none; padding: 0; margin: 0; }
.list-check li { position: relative; padding-left: 1.9rem; margin-bottom: .85rem; color: var(--text-dark); }
.list-check li::before {
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--brand-blue);
}
.promise-card { background: linear-gradient(160deg, var(--surface), var(--surface-alt)); border-left: 4px solid var(--brand-sky); }
.poster-img { max-width: 100%; border-radius: 1.5rem; animation: posterLift 7s ease-in-out infinite; }
@keyframes posterLift { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.overlay-strip {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    background: linear-gradient(90deg, rgba(3,26,56,.92), rgba(11,92,173,.86));
    color: #fff;
    border-radius: 1rem;
    padding: .95rem 1.1rem;
    transform: translateY(12px);
    opacity: .92;
    transition: transform .35s ease, opacity .35s ease;
}
.gallery-card { padding: 0; display:block; }
.gallery-card img { height: 280px; transition: transform .7s ease, filter .5s ease; }
.gallery-card:hover img { transform: scale(1.08); filter: saturate(1.1) contrast(1.06); }
.gallery-card:hover .overlay-strip { transform: translateY(0); opacity: 1; }
.mini-stat {
    background: linear-gradient(135deg, rgba(11,92,173,.08), rgba(65,199,244,.08));
    border-radius: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--border-soft);
}
.timeline-card .phase-number { font-size: 1.75rem; font-weight: 900; color: var(--brand-blue); }
.timeline-progress { position: relative; }
.timeline-progress::before {
    content:'';
    position:absolute;
    left: 26px;
    top: 10px;
    bottom: 10px;
    width: 3px;
    background: linear-gradient(var(--brand-blue), var(--brand-sky));
}
.timeline-row { position: relative; padding-left: 72px; margin-bottom: 2rem; }
.timeline-row .phase-dot {
    position:absolute;
    left: 13px;
    top: 10px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--brand-blue), var(--brand-sky));
    box-shadow: 0 0 0 6px rgba(11,92,173,.12);
    animation: dotPulse 2.8s ease-in-out infinite;
}
@keyframes dotPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.14); } }
.table-orein { width: 100%; border-collapse: separate; border-spacing: 0 12px; }
.table-orein th { color: var(--brand-blue-dark); font-size: .9rem; }
:root[data-theme="dark"] .table-orein th { color: #fff; }
.table-orein td,
.table-orein th { padding: 1rem 1.1rem; }
.table-orein tbody tr { background: var(--surface); box-shadow: var(--shadow-soft); }
.table-orein tbody tr td:first-child { border-radius: 1rem 0 0 1rem; }
.table-orein tbody tr td:last-child { border-radius: 0 1rem 1rem 0; }
.badge-soft {
    background: rgba(11,92,173,.11);
    color: var(--brand-blue-dark);
    border-radius: 999px;
    padding: .48rem .88rem;
    font-weight: 800;
    font-size: .8rem;
}
:root[data-theme="dark"] .badge-soft { color:#eaf5ff; background: rgba(65,199,244,.14); }
.asset-card .asset-icon { font-size: 2.05rem; color: var(--brand-blue); margin-bottom: .8rem; }
.job-card .job-meta span { display:inline-flex; align-items:center; gap:.4rem; margin-right: .8rem; color: var(--muted); }
.empty-jobs-card { padding: clamp(2rem, 5vw, 3.5rem); }
.empty-jobs-card h3 { color: var(--brand-blue-dark); font-size: clamp(2rem, 4vw, 3.1rem); }
:root[data-theme="dark"] .empty-jobs-card h3 { color: #fff; }

/* Forms and contact */
.form-control, .form-select, textarea {
    border-radius: 1rem;
    padding: .95rem 1rem;
    border: 1px solid var(--border-soft);
    background: var(--surface);
    color: var(--text-dark);
}
.form-control:focus, .form-select:focus, textarea:focus {
    border-color: var(--brand-blue);
    box-shadow: 0 0 0 .22rem var(--ring);
    background: var(--surface);
    color: var(--text-dark);
}
.map-placeholder {
    background: linear-gradient(135deg, rgba(11,92,173,.08), rgba(65,199,244,.08));
    border-radius: 1.5rem;
    min-height: 100%;
    padding: 2rem;
    border: 1px solid var(--border-soft);
}
.small-label { color: var(--brand-blue); font-weight: 900; text-transform: uppercase; letter-spacing: .065em; font-size: .78rem; }
.floating-chip {
    display:inline-flex; align-items:center; gap:.5rem;
    padding:.58rem .95rem; border-radius:999px;
    background: rgba(11,92,173,.09); color: var(--brand-blue-dark); font-weight:800;
}
:root[data-theme="dark"] .floating-chip { color: #fff; background: rgba(65,199,244,.12); }
.hero-card-grid { display:grid; gap:1rem; }
.qr-box img { max-width: 190px; border-radius: 1rem; box-shadow: var(--shadow-soft); background:#fff; padding:.5rem; }

/* Footer */
.site-footer {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, var(--brand-blue-dark), #020b1a 68%);
    color: rgba(255,255,255,.82);
}
.site-footer::before {
    content:'';
    position:absolute;
    width: 40rem;
    height: 40rem;
    right: -18rem;
    top: -18rem;
    border-radius:50%;
    background: radial-gradient(circle, rgba(65,199,244,.18), transparent 62%);
}
.site-footer .container { position: relative; z-index: 1; }
.site-footer h5 { color: #fff; margin-bottom: 1.1rem; }
.footer-tagline { color: rgba(255,255,255,.72); }
.footer-copy { color: rgba(255,255,255,.74); }
.footer-links li { margin-bottom: .75rem; }
.footer-links a { color: rgba(255,255,255,.78); transition: color .28s ease, padding-left .28s ease; }
.footer-links a:hover { color: #fff; padding-left: .25rem; }
.contact-list li { display:flex; align-items:flex-start; gap:.8rem; }
.contact-list i { margin-top: .25rem; color: var(--brand-sky); }
.footer-mini-card > div { padding: .8rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-mini-card > div:last-child { border-bottom: 0; }
.social-circle {
    width: 42px; height: 42px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    background: rgba(255,255,255,.08); color:#fff;
    transition: .35s ease;
}
.social-circle:hover { background: var(--brand-blue); color:#fff; transform: translateY(-5px) rotate(8deg); box-shadow: 0 16px 35px rgba(65,199,244,.20); }
.footer-divider { border-color: rgba(255,255,255,.08); margin: 2rem 0 1.2rem; }
.back-to-top { right: 24px; left: auto; bottom: 24px; margin-left: 0; border-radius: 50%; }

/* Scroll animation */
.reveal-up {
    opacity: 0;
    transform: translateY(38px) scale(.985);
    transition: opacity .78s ease, transform .78s cubic-bezier(.2,.8,.2,1);
}
.reveal-up.visible { opacity: 1; transform: translateY(0) scale(1); }
.reveal-up.visible:nth-child(2) { transition-delay: .05s; }
.reveal-up.visible:nth-child(3) { transition-delay: .10s; }
.reveal-up.visible:nth-child(4) { transition-delay: .15s; }

/* Template clean-up */
.page-header { background: linear-gradient(rgba(3,26,56,.78), rgba(3,26,56,.78)), url(../img/orein-field-1.jpg) center center no-repeat; background-size: cover; }
.bg-dark-radial, .bg-light-radial { background-image: none; }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active { color:#fff; }

@media (max-width: 1199.98px) {
    .navbar-dark .navbar-nav .nav-link { padding: .7rem .64rem; font-size: .82rem; }
}
@media (max-width: 991.98px) {
    .site-navbar { padding: .7rem 0; }
    .nav-container-custom { flex-direction: column; align-items: stretch; }
    .mobile-nav-top { width: 100%; }
    .mobile-nav-actions { width: 100%; display:flex; justify-content: space-between; margin: .75rem 0 .35rem; }
    .mobile-palette-switcher { order: 0; }
    #mainNav { width: 100%; padding-top: .4rem; }
    .navbar-dark .navbar-nav { align-items: stretch !important; gap: .25rem; }
    .navbar-dark .navbar-nav .nav-link { padding: .82rem 1rem; margin: .05rem 0; }
    .brand-logo { width: 54px; height: 54px; }
    .hero-section .carousel-item, .hero-content { min-height: 80vh; }
    .hero-content { padding-top: 170px; }
    .visual-stack { min-height: auto; }
    .visual-stack .main-image { min-height: 380px; }
    .visual-stack .floating-card { position: static; margin-top: 1rem; max-width: none; }
    .py-6 { padding-top: 76px; padding-bottom: 76px; }
}
@media (max-width: 575.98px) {
    .brand-logo { width: 50px; height: 50px; }
    .hero-pill, .page-badge { font-size: .68rem; padding: .52rem .8rem; }
    .section-heading h2 { font-size: 1.72rem; }
    .hero-content { padding-top: 190px; }
    .hero-section .carousel-item, .hero-content { min-height: 86vh; }
    .palette-dot { width: 20px; height: 20px; }
    .theme-icon-switch { width: 42px; height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }
}


/* --------------------------------------------------------------------------
   Orein management colour refinement: sand + black only (no blue variants)
   Swatch basis: #E3D8C6 from management reference image.
   -------------------------------------------------------------------------- */
:root {
    --orein-sand: #e3d8c6;
    --orein-sand-light: #f6efe5;
    --orein-sand-soft: #fbf7f1;
    --orein-sand-deep: #c8b59b;
    --orein-black: #050608;
    --orein-charcoal: #11151c;
    --orein-graphite: #1b2128;

    --primary: var(--orein-sand-deep);
    --secondary: var(--orein-sand);
    --light: var(--orein-sand-soft);
    --dark: var(--orein-black);
    --brand-blue: var(--orein-sand-deep);
    --brand-blue-dark: var(--orein-black);
    --brand-blue-mid: var(--orein-charcoal);
    --brand-sky: var(--orein-sand-light);
    --brand-aqua: var(--orein-sand-soft);
    --brand-gold: var(--orein-sand);
    --brand-light: var(--orein-sand-soft);
    --brand-soft: rgba(227, 216, 198, 0.42);
    --brand-glass: rgba(255, 255, 255, 0.15);
    --text-dark: #11151c;
    --muted: #666158;
    --surface: #ffffff;
    --surface-alt: #f5efe5;
    --border-soft: rgba(17, 21, 28, 0.11);
    --shadow-soft: 0 24px 58px rgba(5, 6, 8, 0.11);
    --shadow-strong: 0 36px 96px rgba(5, 6, 8, 0.20);
    --ring: rgba(227, 216, 198, .34);
}

:root[data-palette="sand-black"] {
    --primary: var(--orein-sand-deep);
    --secondary: var(--orein-sand);
    --brand-blue: var(--orein-sand-deep);
    --brand-blue-dark: var(--orein-black);
    --brand-blue-mid: var(--orein-charcoal);
    --brand-sky: var(--orein-sand-light);
    --brand-aqua: var(--orein-sand-soft);
    --brand-gold: var(--orein-sand);
    --brand-light: var(--orein-sand-soft);
    --brand-soft: rgba(227, 216, 198, 0.46);
    --border-soft: rgba(17, 21, 28, 0.11);
    --ring: rgba(227, 216, 198, .34);
}

/* Force any old saved palette names to resolve to the same sand-black system */
:root[data-palette="charcoal-gold"],
:root[data-palette="navy-blue"],
:root[data-palette="deep-blue"],
:root[data-palette="bright-blue"],
:root[data-palette="royal-blue"],
:root[data-palette="aqua-blue"] {
    --primary: var(--orein-sand-deep);
    --secondary: var(--orein-sand);
    --brand-blue: var(--orein-sand-deep);
    --brand-blue-dark: var(--orein-black);
    --brand-blue-mid: var(--orein-charcoal);
    --brand-sky: var(--orein-sand-light);
    --brand-aqua: var(--orein-sand-soft);
    --brand-gold: var(--orein-sand);
    --brand-light: var(--orein-sand-soft);
    --brand-soft: rgba(227, 216, 198, 0.46);
    --border-soft: rgba(17, 21, 28, 0.11);
    --ring: rgba(227, 216, 198, .34);
}

:root[data-theme="dark"] {
    --text-dark: #f3ebdf;
    --muted: #beb7aa;
    --surface: #0b0d11;
    --surface-alt: #121720;
    --brand-light: #06080c;
    --brand-soft: rgba(227, 216, 198, 0.08);
    --border-soft: rgba(227, 216, 198, 0.16);
    --shadow-soft: 0 24px 58px rgba(0, 0, 0, 0.34);
    --shadow-strong: 0 36px 96px rgba(0, 0, 0, 0.52);
}

body {
    background:
        radial-gradient(circle at top left, rgba(227,216,198,.42), transparent 30rem),
        radial-gradient(circle at bottom right, rgba(17,21,28,.10), transparent 34rem),
        linear-gradient(180deg, #fffdf8 0%, var(--surface) 38%, var(--surface) 100%);
}
:root[data-theme="dark"] body {
    background:
        radial-gradient(circle at 15% 0%, rgba(227,216,198,.08), transparent 34rem),
        radial-gradient(circle at 80% 12%, rgba(255,255,255,.03), transparent 30rem),
        linear-gradient(180deg, #050608 0%, #0b0d11 45%, #050608 100%);
}

.topbar {
    background: linear-gradient(90deg, #050608 0%, #11151c 52%, #1b2128 100%);
    border-bottom: 1px solid rgba(227,216,198,.12);
    color: rgba(243,235,223,.92);
}
.site-navbar {
    background: rgba(5, 6, 8, 0.92);
    border-bottom: 1px solid rgba(227,216,198,.14);
    box-shadow: 0 10px 34px rgba(0,0,0,.18);
}
.orein-header.is-scrolled .site-navbar {
    background: rgba(5, 6, 8, 0.98);
    box-shadow: 0 24px 64px rgba(0,0,0,.34);
}
.brand-logo {
    background: linear-gradient(145deg, var(--orein-sand-light), #ffffff);
    border: 1px solid rgba(227,216,198,.9);
    box-shadow: 0 18px 46px rgba(0,0,0,.24), 0 0 0 6px rgba(227,216,198,.08);
}
.navbar-brand:hover .brand-logo { box-shadow: 0 22px 58px rgba(227,216,198,.22), 0 0 0 7px rgba(227,216,198,.08); }
.navbar-dark .navbar-nav .nav-link {
    color: rgba(243,235,223,.82);
    text-transform: uppercase;
    font-size: .80rem;
    letter-spacing: .055em;
    border: 1px solid transparent;
}
.navbar-dark .navbar-nav .nav-link::before {
    background: linear-gradient(115deg, transparent 0%, rgba(227,216,198,.34) 45%, transparent 70%);
}
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link:hover {
    color: var(--orein-sand-light);
    background: linear-gradient(135deg, rgba(227,216,198,.14), rgba(255,255,255,.04));
    border-color: rgba(227,216,198,.18);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 12px 28px rgba(0,0,0,.22), 0 0 26px rgba(227,216,198,.10);
}

.palette-switcher {
    gap: .45rem;
    padding: .36rem .48rem;
    background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(227,216,198,.08));
    border: 1px solid rgba(227,216,198,.20);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 34px rgba(0,0,0,.18);
}
.palette-title {
    display: inline-flex;
    align-items: center;
    color: rgba(243,235,223,.78);
    font-size: .64rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: 0 .22rem 0 .38rem;
}
.palette-dot {
    position: relative;
    width: 24px;
    height: 24px;
    border: 1px solid rgba(227,216,198,.58);
    box-shadow: inset 0 0 0 2px rgba(0,0,0,.14), 0 8px 18px rgba(0,0,0,.20);
}
.palette-dot::after {
    content: '';
    position: absolute;
    inset: -7px;
    border-radius: 999px;
    border: 1px solid transparent;
    opacity: 0;
    transform: scale(.8);
    transition: opacity .25s ease, transform .25s ease, border-color .25s ease;
}
.palette-dot:hover,
.palette-dot.active {
    transform: translateY(-2px) scale(1.12);
    border-color: #fff;
    box-shadow: 0 0 0 4px rgba(227,216,198,.12), 0 12px 26px rgba(0,0,0,.28);
}
.palette-dot.active::after { opacity: 1; transform: scale(1); border-color: rgba(227,216,198,.50); }
.palette-sand,
.palette-charcoal,
.palette-navy,
.palette-bright,
.palette-deep,
.palette-royal,
.palette-aqua { background: linear-gradient(135deg, #e3d8c6 0 49%, #050608 50% 100%); }

.theme-icon-switch {
    width: auto;
    min-width: 146px;
    height: 42px;
    padding: .26rem .46rem;
    gap: .42rem;
    border-radius: 999px;
    border: 1px solid rgba(227,216,198,.24);
    background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(227,216,198,.08));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 30px rgba(0,0,0,.18);
    color: var(--orein-sand-light);
    cursor: pointer;
}
.theme-icon-switch:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, rgba(227,216,198,.16), rgba(255,255,255,.04));
}
.switch-label {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: .64rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: rgba(243,235,223,.52);
    transition: color .25s ease;
}
.theme-icon-switch.is-light .switch-bright,
.theme-icon-switch.is-dark .switch-dark { color: var(--orein-sand-light); }
.switch-track {
    width: 48px;
    height: 24px;
    padding: 3px;
    border-radius: 999px;
    background: linear-gradient(135deg, #e3d8c6, #ffffff);
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), 0 0 18px rgba(227,216,198,.22);
    position: relative;
}
.switch-knob {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 3px;
    top: 3px;
    background: #050608;
    color: #e3d8c6;
    font-size: .72rem;
    transition: left .28s ease, background .28s ease, color .28s ease, box-shadow .28s ease;
    box-shadow: 0 6px 14px rgba(0,0,0,.26);
}
.theme-icon-switch .moon-icon { display: none; }
.theme-icon-switch .sun-icon { display: inline-flex; }
.theme-icon-switch.is-dark .switch-track { background: linear-gradient(135deg, #050608, #11151c); box-shadow: inset 0 0 0 1px rgba(227,216,198,.18), 0 0 18px rgba(227,216,198,.14); }
.theme-icon-switch.is-dark .switch-knob { left: 27px; background: #e3d8c6; color: #050608; box-shadow: 0 0 18px rgba(227,216,198,.30); }
.theme-icon-switch.is-dark .moon-icon { display: inline-flex; }
.theme-icon-switch.is-dark .sun-icon { display: none; }

.btn-brand,
.btn-primary {
    background: linear-gradient(135deg, var(--orein-black), var(--orein-charcoal) 50%, var(--orein-sand-deep) 100%);
    color: #fff !important;
    border: 1px solid rgba(227,216,198,.20);
    box-shadow: 0 18px 42px rgba(5,6,8,.24), 0 0 0 1px rgba(227,216,198,.06);
}
.btn-brand:hover,
.btn-primary:hover { box-shadow: 0 26px 64px rgba(5,6,8,.34), 0 0 34px rgba(227,216,198,.18); }
.btn-outline-brand {
    color: var(--orein-sand-light) !important;
    border-color: rgba(227,216,198,.58);
    background: rgba(5,6,8,.20);
}
.btn-outline-brand:hover { color: #050608 !important; background: var(--orein-sand); }
.btn-outline-dark {
    border-color: rgba(5,6,8,.18);
    color: #050608;
    background: linear-gradient(135deg, rgba(255,255,255,.55), rgba(227,216,198,.20));
}
.btn-outline-dark:hover { background: #050608; color: var(--orein-sand-light); }
:root[data-theme="dark"] .btn-outline-dark { color: var(--orein-sand-light); border-color: rgba(227,216,198,.22); background: rgba(227,216,198,.06); }
:root[data-theme="dark"] .btn-outline-dark:hover { background: var(--orein-sand); color: #050608; }

.hero-section { background: #050608; }
.hero-section::before { background: radial-gradient(circle, rgba(227,216,198,.22), transparent 58%); }
.hero-section::after {
    background-image:
        linear-gradient(rgba(227,216,198,.050) 1px, transparent 1px),
        linear-gradient(90deg, rgba(227,216,198,.038) 1px, transparent 1px);
}
.hero-section .carousel-item::before {
    background:
        linear-gradient(105deg, rgba(5,6,8,.96) 0%, rgba(17,21,28,.84) 44%, rgba(5,6,8,.36) 100%),
        radial-gradient(circle at 78% 18%, rgba(227,216,198,.18), transparent 38%);
}
.hero-section .carousel-item::after { background: linear-gradient(120deg, transparent, rgba(227,216,198,.10), transparent); }
.hero-pill,
.page-badge,
.eyebrow {
    background: rgba(227,216,198,.12);
    color: var(--orein-sand-light);
    border-color: rgba(227,216,198,.24);
}
.hero-card-grid .hero-stat-card,
.hero-stat-card,
.glass-card {
    background: linear-gradient(145deg, rgba(227,216,198,.15), rgba(5,6,8,.36));
    border-color: rgba(227,216,198,.23);
    box-shadow: 0 24px 72px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.07);
}
.small-label { color: var(--orein-sand-deep); }
.hero-content h1,
.hero-content h2 { color: var(--orein-sand-light); text-shadow: 0 20px 46px rgba(0,0,0,.48); }

.bg-soft {
    background:
        linear-gradient(180deg, rgba(255,255,255,.72), rgba(227,216,198,.38)),
        radial-gradient(circle at 15% 0%, rgba(227,216,198,.52), transparent 28rem),
        var(--brand-light);
}
:root[data-theme="dark"] .bg-soft {
    background:
        radial-gradient(circle at 20% 0%, rgba(227,216,198,.075), transparent 28rem),
        linear-gradient(180deg, #0b0d11, #06080c);
}
.section-heading .section-label { color: var(--orein-sand-deep); }
.section-heading .section-label::before,
.text-center .section-label::after,
.accent-line {
    background: linear-gradient(90deg, var(--orein-sand), var(--orein-sand-deep), var(--orein-charcoal));
}
.section-heading h2 { color: #050608; }
:root[data-theme="dark"] .section-heading h2 { color: var(--orein-sand-light); }

.metric-card,
.feature-card,
.info-card,
.timeline-card,
.job-card,
.empty-jobs-card,
.icon-card,
.contact-card,
.gallery-card,
.profile-card,
.quote-card,
.license-card,
.asset-card,
.compact-card {
    background: linear-gradient(155deg, var(--surface), var(--surface-alt));
    border-color: var(--border-soft);
    box-shadow: var(--shadow-soft);
}
.metric-card::before,
.feature-card::before,
.info-card::before,
.timeline-card::before,
.job-card::before,
.empty-jobs-card::before,
.icon-card::before,
.contact-card::before,
.profile-card::before,
.quote-card::before,
.license-card::before,
.asset-card::before,
.compact-card::before {
    background: linear-gradient(135deg, rgba(227,216,198,.26), transparent 42%), radial-gradient(circle at 85% 10%, rgba(17,21,28,.08), transparent 34%);
}
.metric-card:hover,
.feature-card:hover,
.info-card:hover,
.timeline-card:hover,
.job-card:hover,
.empty-jobs-card:hover,
.icon-card:hover,
.contact-card:hover,
.gallery-card:hover,
.profile-card:hover,
.quote-card:hover,
.license-card:hover,
.asset-card:hover,
.compact-card:hover {
    border-color: rgba(227,216,198,.56);
    box-shadow: var(--shadow-strong), 0 0 36px rgba(227,216,198,.12);
}
:root[data-theme="dark"] .metric-card,
:root[data-theme="dark"] .feature-card,
:root[data-theme="dark"] .info-card,
:root[data-theme="dark"] .timeline-card,
:root[data-theme="dark"] .job-card,
:root[data-theme="dark"] .empty-jobs-card,
:root[data-theme="dark"] .icon-card,
:root[data-theme="dark"] .contact-card,
:root[data-theme="dark"] .gallery-card,
:root[data-theme="dark"] .profile-card,
:root[data-theme="dark"] .quote-card,
:root[data-theme="dark"] .license-card,
:root[data-theme="dark"] .asset-card,
:root[data-theme="dark"] .compact-card {
    background: linear-gradient(155deg, rgba(17,21,28,.96), rgba(8,10,14,.98));
}
.icon-badge {
    background: linear-gradient(135deg, #050608, var(--orein-charcoal) 45%, var(--orein-sand-deep));
    color: var(--orein-sand-light);
    border: 1px solid rgba(227,216,198,.18);
    box-shadow: 0 18px 42px rgba(5,6,8,.24), 0 0 0 7px rgba(227,216,198,.08);
}
.visual-stack .floating-card {
    background: rgba(255,253,248,.90);
    border-color: rgba(227,216,198,.70);
}
:root[data-theme="dark"] .visual-stack .floating-card { background: rgba(11,13,17,.88); border-color: rgba(227,216,198,.20); }
.floating-chip { background: rgba(227,216,198,.44); color: #050608; }
:root[data-theme="dark"] .floating-chip { color: var(--orein-sand-light); background: rgba(227,216,198,.10); }
.promise-card { border-left-color: var(--brand-gold); }
.overlay-strip {
    background: linear-gradient(90deg, rgba(5,6,8,.94), rgba(17,21,28,.86));
    border: 1px solid rgba(227,216,198,.16);
}
.badge-soft { background: rgba(227,216,198,.44); color: #050608; }
:root[data-theme="dark"] .badge-soft { color: var(--orein-sand-light); background: rgba(227,216,198,.12); }
.empty-jobs-card h3 { color: #050608; }
:root[data-theme="dark"] .empty-jobs-card h3 { color: var(--orein-sand-light); }
.form-control, .form-select, textarea { background: var(--surface); color: var(--text-dark); border-color: var(--border-soft); }
.map-placeholder { background: linear-gradient(135deg, rgba(227,216,198,.32), rgba(17,21,28,.06)); }

.site-footer {
    background:
        radial-gradient(circle at 88% 0%, rgba(227,216,198,.12), transparent 28rem),
        linear-gradient(160deg, #050608 0%, #11151c 58%, #020306 100%);
    border-top: 1px solid rgba(227,216,198,.14);
}
.site-footer::before { background: radial-gradient(circle, rgba(227,216,198,.14), transparent 62%); }
.site-footer h5,
.site-footer h4 { color: var(--orein-sand-light) !important; }
.contact-list i { color: var(--brand-gold); }
.footer-links a:hover { color: var(--orein-sand-light); }
.social-circle {
    background: rgba(227,216,198,.09);
    border: 1px solid rgba(227,216,198,.14);
}
.social-circle:hover { background: var(--orein-sand); color:#050608; box-shadow: 0 16px 35px rgba(227,216,198,.20); }

@media (max-width: 1199.98px) {
    .theme-icon-switch { min-width: 126px; }
    .switch-label { display: none; }
}
@media (max-width: 991.98px) {
    .mobile-nav-actions { gap: .6rem; flex-wrap: wrap; }
    .theme-icon-switch { min-width: 58px; }
    .switch-label { display: none; }
    .palette-title { display: none; }
    .palette-dot { width: 22px; height: 22px; }
}
@media (max-width: 575.98px) {
    .mobile-touch-btn { display: none; }
    .mobile-nav-actions { justify-content: flex-end; }
}


/* --------------------------------------------------------------------------
   Sand-first refinement: remove colour theme switcher, keep only light/dark
   -------------------------------------------------------------------------- */
.palette-switcher,
.mobile-palette-switcher { display: none !important; }

.topbar {
    background: linear-gradient(90deg, #e3d8c6 0%, #efe6d8 55%, #f6efe5 100%);
    border-bottom: 1px solid rgba(5,6,8,.08);
    color: #11151c;
}
.topbar i { color: #050608; }

.site-navbar {
    background: rgba(243, 235, 223, 0.96);
    border-bottom: 1px solid rgba(5,6,8,.08);
    box-shadow: 0 10px 34px rgba(5,6,8,.08);
}
.orein-header.is-scrolled .site-navbar {
    background: rgba(243, 235, 223, 0.985);
    box-shadow: 0 16px 40px rgba(5,6,8,.12);
}
.navbar-dark .navbar-nav .nav-link {
    color: #11151c;
    border-color: transparent;
}
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link:hover {
    color: #050608;
    background: linear-gradient(135deg, rgba(200,181,155,.40), rgba(227,216,198,.75));
    border-color: rgba(5,6,8,.08);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.25), 0 10px 24px rgba(5,6,8,.10);
}
.navbar-toggler {
    border: 1px solid rgba(5,6,8,.15);
    background: rgba(255,255,255,.25);
}
.navbar-dark .navbar-toggler-icon {
    filter: invert(1) brightness(.25);
}

.btn-brand,
.btn-primary {
    background: linear-gradient(135deg, #d9c9b2 0%, #e3d8c6 52%, #f6efe5 100%);
    color: #050608 !important;
    border: 1px solid rgba(5,6,8,.10);
    box-shadow: 0 14px 34px rgba(5,6,8,.12), 0 0 0 1px rgba(255,255,255,.18);
}
.btn-brand:hover,
.btn-primary:hover {
    color: #050608 !important;
    box-shadow: 0 22px 44px rgba(5,6,8,.16), 0 0 30px rgba(227,216,198,.24);
    filter: none;
}
.btn-outline-brand {
    color: #050608 !important;
    border-color: rgba(5,6,8,.16);
    background: rgba(227,216,198,.65);
}
.btn-outline-brand:hover {
    background: #050608;
    color: #f6efe5 !important;
}

.small-label,
.section-heading .section-label,
a,
.footer-links a:hover,
.contact-list i {
    color: #8c775a;
}
a:hover { color: #6f5d45; }
.icon-badge {
    background: linear-gradient(135deg, #cbb89d, #e3d8c6 60%, #f6efe5 100%);
    color: #050608;
    border: 1px solid rgba(5,6,8,.10);
    box-shadow: 0 14px 30px rgba(5,6,8,.10), 0 0 0 7px rgba(227,216,198,.16);
}
.overlay-strip {
    background: linear-gradient(90deg, rgba(227,216,198,.95), rgba(243,235,223,.92));
    color: #050608;
    border: 1px solid rgba(5,6,8,.08);
}
.social-circle {
    background: rgba(227,216,198,.40);
    border: 1px solid rgba(227,216,198,.55);
    color: #f6efe5;
}

:root[data-theme="dark"] .topbar {
    background: linear-gradient(90deg, #11151c 0%, #191d24 55%, #20242c 100%);
    color: #f3ebdf;
    border-bottom: 1px solid rgba(227,216,198,.10);
}
:root[data-theme="dark"] .topbar i { color: #e3d8c6; }
:root[data-theme="dark"] .site-navbar {
    background: rgba(17,21,28,.96);
    border-bottom: 1px solid rgba(227,216,198,.12);
    box-shadow: 0 14px 38px rgba(0,0,0,.22);
}
:root[data-theme="dark"] .orein-header.is-scrolled .site-navbar {
    background: rgba(11,13,17,.98);
}
:root[data-theme="dark"] .navbar-dark .navbar-nav .nav-link {
    color: #f3ebdf;
}
:root[data-theme="dark"] .navbar-dark .navbar-nav .nav-link.active,
:root[data-theme="dark"] .navbar-dark .navbar-nav .nav-link:hover {
    color: #f6efe5;
    background: linear-gradient(135deg, rgba(227,216,198,.12), rgba(255,255,255,.04));
    border-color: rgba(227,216,198,.16);
}
:root[data-theme="dark"] .navbar-toggler {
    border: 1px solid rgba(227,216,198,.18);
    background: rgba(227,216,198,.06);
}
:root[data-theme="dark"] .navbar-dark .navbar-toggler-icon {
    filter: none;
}
:root[data-theme="dark"] .btn-brand,
:root[data-theme="dark"] .btn-primary {
    background: linear-gradient(135deg, #cbb89d 0%, #e3d8c6 58%, #f6efe5 100%);
    color: #050608 !important;
    border-color: rgba(227,216,198,.18);
    box-shadow: 0 18px 42px rgba(0,0,0,.28), 0 0 28px rgba(227,216,198,.14);
}
:root[data-theme="dark"] .btn-outline-brand {
    color: #f6efe5 !important;
    border-color: rgba(227,216,198,.35);
    background: rgba(227,216,198,.08);
}
:root[data-theme="dark"] .btn-outline-brand:hover {
    background: #e3d8c6;
    color: #050608 !important;
}
