:root {
    --espresso: #251518;
    --plum: #4B1F38;
    --ivory: #F8F1E5;
    --sand: #E9D8BC;
    --chartreuse: #D8F268;
    --coral: #FF7B68;
    --ink-muted: #705d61;
    --line: rgba(37, 21, 24, .14);
    --white: #fffdf9;
    --display: "Cormorant Garamond", Georgia, serif;
    --sans: "Tajawal", "Helvetica Neue", Arial, sans-serif;
    --shadow: 0 28px 72px rgba(37, 21, 24, .14);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.site-body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--ivory);
    color: var(--espresso);
    font-family: var(--sans);
    -webkit-font-smoothing: antialiased;
}

body.site-body ::selection { background: var(--chartreuse); color: var(--espresso); }

.shell {
    width: min(100% - 48px, 1420px);
    margin-inline: auto;
}

.skip-link {
    position: fixed;
    z-index: 1000;
    inset-block-start: 12px;
    inset-inline-start: 12px;
    padding: 10px 16px;
    border-radius: 999px;
    background: var(--chartreuse);
    color: var(--espresso);
    font-weight: 800;
    transform: translateY(-160%);
}

.skip-link:focus { transform: translateY(0); }

a, button, input, select { outline-color: var(--coral); outline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--coral); }

.announcement {
    min-height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 7px 24px;
    background: var(--espresso);
    color: rgba(248, 241, 229, .83);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-align: center;
}

.announcement-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--chartreuse); }

.site-header {
    position: sticky;
    z-index: 50;
    top: 0;
    border-bottom: 1px solid var(--line);
    background: rgba(248, 241, 229, .94);
    backdrop-filter: blur(16px);
}

.nav-shell { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }

.wordmark { display: flex; align-items: center; gap: 12px; color: var(--espresso); text-decoration: none; font-size: 20px; font-weight: 800; letter-spacing: -.045em; }
.wordmark-seal { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50% 50% 50% 11px; background: var(--plum); color: var(--chartreuse); font-family: var(--display); font-size: 28px; font-style: italic; transform: rotate(-6deg); }
.wordmark-dot { color: var(--coral); }
.wordmark small { display: block; margin-top: 1px; color: #887276; font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.primary-nav { display: flex; align-items: center; gap: 34px; }
.primary-nav a { position: relative; color: #463639; text-decoration: none; font-size: 13px; font-weight: 600; }
.primary-nav a::after { content: ""; position: absolute; inset-inline: 0 100%; bottom: -8px; height: 1px; background: var(--plum); transition: inset-inline-end .25s ease; }
.primary-nav a:hover::after { inset-inline-end: 0; }

.nav-actions { display: flex; align-items: center; gap: 10px; }
.language-switch { display: flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; font-size: 11px; font-weight: 700; }
.language-switch a { color: #988387; text-decoration: none; }
.language-switch a[aria-current="true"] { color: var(--plum); }
.nav-icon { position: relative; width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--espresso); text-decoration: none; transition: .2s ease; }
.nav-icon:hover { background: var(--plum); color: var(--ivory); transform: translateY(-2px); }
.nav-login { color: var(--plum); font-size: 12px; font-weight: 800; text-decoration: none; }
.admin-link { color: var(--coral); }
.cart-link { background: var(--espresso); color: var(--ivory); }
.cart-count { position: absolute; inset-block-start: -5px; inset-inline-end: -5px; min-width: 18px; height: 18px; padding: 0 4px; display: grid; place-items: center; border: 2px solid var(--ivory); border-radius: 99px; background: var(--coral); color: var(--espresso); font-size: 9px; font-weight: 800; }

.site-main { flex: 1; }

.hero-section { position: relative; overflow: hidden; padding: 72px 0 0; background: radial-gradient(circle at 55% 48%, rgba(233,216,188,.62), transparent 29%), var(--ivory); }
.hero-orbit { position: absolute; border: 1px solid rgba(75,31,56,.14); border-radius: 50%; pointer-events: none; }
.hero-orbit-one { width: 560px; height: 560px; inset-inline-start: -330px; bottom: 70px; }
.hero-orbit-two { width: 80px; height: 80px; inset-inline-start: 46%; top: 61%; }
.hero-grid { min-height: 610px; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(480px, .96fr); align-items: center; gap: 86px; }
.hero-copy { position: relative; z-index: 2; padding-block-end: 66px; }
.eyebrow, .section-kicker { margin: 0 0 20px; color: var(--plum); font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 11px; }
.eyebrow span { width: 31px; height: 8px; border-radius: 99px 99px 3px 99px; background: var(--coral); }
.hero-copy h1 { max-width: 720px; margin: 0; font-family: var(--display); font-size: clamp(62px, 6.2vw, 92px); font-weight: 500; line-height: .89; letter-spacing: -.055em; }
.hero-copy h1 em { position: relative; z-index: 0; color: var(--plum); font-weight: 500; }
.hero-copy h1 em::after { content: ""; position: absolute; z-index: -1; inset-inline: 0 -3%; bottom: 6px; height: 11px; border-radius: 99px 4px; background: var(--chartreuse); transform: rotate(-1deg); }
.hero-intro { max-width: 610px; margin: 27px 0 30px; color: var(--ink-muted); font-size: 17px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { min-height: 53px; padding: 0 23px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--espresso); border-radius: 999px; color: var(--espresso); text-decoration: none; font-size: 13px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { border-color: var(--plum); background: var(--plum); color: var(--ivory); box-shadow: 0 13px 30px rgba(75,31,56,.2); }
.button-ghost:hover { background: var(--white); }
.button-accent { border-color: var(--chartreuse); background: var(--chartreuse); }
.trust-line { margin: 29px 0 0; display: flex; align-items: center; gap: 10px; color: #766266; font-size: 11px; font-weight: 700; letter-spacing: .035em; }
.trust-line > span { width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--chartreuse); color: var(--espresso); font-size: 10px; }

.hero-spotlight { position: relative; min-height: 560px; display: grid; place-items: center; }
.hero-spotlight::before { content: ""; position: absolute; width: 530px; height: 530px; border-radius: 51% 49% 60% 40% / 44% 48% 52% 56%; background: var(--sand); transform: rotate(-7deg); }
.hero-spotlight::after { content: ""; position: absolute; width: 505px; height: 510px; border: 1px solid rgba(75,31,56,.2); border-radius: 42% 58% 40% 60% / 55% 44% 56% 45%; transform: translate(30px,-10px) rotate(7deg); }
.spotlight-card { position: relative; z-index: 3; width: min(410px, 83%); padding: 14px; border: 1px solid rgba(255,255,255,.58); border-radius: 170px 170px 28px 28px; background: rgba(255,253,249,.93); box-shadow: var(--shadow); transform: rotate(2deg); transition: .35s cubic-bezier(.2,.8,.2,1); }
.spotlight-card:hover { transform: rotate(0) translateY(-6px); }
.spotlight-image { position: relative; height: 330px; overflow: hidden; border-radius: 155px 155px 17px 17px; background: var(--sand); }
.spotlight-image img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.availability { position: absolute; z-index: 2; inset-block-start: 16px; inset-inline-end: 16px; padding: 8px 11px; border-radius: 99px; background: rgba(248,241,229,.94); color: var(--espresso); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.availability i { margin-inline-end: 5px; color: #7f9d1c; font-size: 6px; vertical-align: middle; }
.availability.is-booked i { color: var(--coral); }
.spotlight-info { padding: 20px 10px 15px; display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.spotlight-kicker { margin: 0 0 3px; color: var(--coral) !important; font-size: 8px !important; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.spotlight-info h2 { max-width: 235px; margin: 0; font-family: var(--display); font-size: 29px; font-weight: 600; line-height: 1; }
.spotlight-info p { margin: 6px 0 0; color: #7c696d; font-size: 11px; }
.spotlight-price { color: var(--plum); font-size: 14px; font-weight: 800; white-space: nowrap; text-align: end; }
.spotlight-price small { display: block; margin-top: 3px; color: #947f83; font-size: 8px; font-weight: 600; }
.spotlight-links { display: flex; gap: 8px; padding: 0 10px 7px; }
.spotlight-links a { flex: 1; padding: 10px; border-radius: 99px; background: var(--espresso); color: var(--ivory); text-align: center; text-decoration: none; font-size: 10px; font-weight: 800; }
.spotlight-links a:last-child { background: var(--chartreuse); color: var(--espresso); }
.concierge-note { position: absolute; z-index: 4; inset-inline-start: -2px; top: 133px; width: 165px; padding: 16px 17px; border-radius: 18px 18px 18px 5px; background: var(--espresso); color: var(--ivory); box-shadow: 0 16px 35px rgba(37,21,24,.2); transform: rotate(-5deg); }
[dir="rtl"] .concierge-note { border-radius: 18px 18px 5px 18px; transform: rotate(5deg); }
.concierge-note span { display: block; margin-bottom: 6px; color: var(--chartreuse); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.concierge-note strong { display: block; font-family: var(--display); font-size: 18px; font-weight: 500; line-height: 1.15; }
.empty-spotlight { position: relative; z-index: 3; width: 330px; padding: 50px; border-radius: 170px 170px 28px 28px; background: var(--white); text-align: center; box-shadow: var(--shadow); }
.empty-spotlight span { font-family: var(--display); font-size: 100px; color: var(--plum); }

.search-wrap { position: relative; z-index: 5; margin-top: -24px; }
.discovery-search { min-height: 112px; display: grid; grid-template-columns: repeat(3,1fr) auto; align-items: end; gap: 0; padding: 20px; border: 1px solid rgba(75,31,56,.09); border-radius: 24px; background: var(--white); box-shadow: 0 24px 60px rgba(37,21,24,.11); }
.search-field { position: relative; padding: 2px 24px; border-inline-end: 1px solid var(--line); }
.search-field label { display: block; margin-bottom: 7px; color: #9a8488; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.search-field select { width: 100%; padding: 6px 25px 6px 0; border: 0; background: transparent; color: var(--espresso); font-family: var(--sans); font-size: 13px; font-weight: 700; }
[dir="rtl"] .search-field select { padding: 6px 0 6px 25px; }
.search-submit { min-height: 61px; margin-inline-start: 18px; padding: 0 25px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 16px; background: var(--plum); color: var(--ivory); font-family: var(--sans); font-size: 12px; font-weight: 800; cursor: pointer; transition: .2s ease; }
.search-submit:hover { background: var(--espresso); transform: translateY(-2px); }

.section { padding: 112px 0; }
.section-heading { margin-bottom: 48px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.section-heading h2, .process-intro h2, .compliance-grid h2, .closing-inner h2 { margin: 0; font-family: var(--display); font-size: clamp(43px, 4vw, 61px); font-weight: 500; line-height: .98; letter-spacing: -.035em; }
.section-heading > p { max-width: 370px; margin: 0; color: var(--ink-muted); font-size: 14px; line-height: 1.7; }
.section-kicker { margin-bottom: 13px; color: var(--coral); }
.text-link { color: var(--plum); text-decoration: none; font-size: 12px; font-weight: 800; white-space: nowrap; }
.text-link i { margin-inline-start: 8px; }

.services-section { background: var(--ivory); }
.services-heading h2 { max-width: 680px; }
.category-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-inline-start: 1px solid var(--line); }
.category-card { position: relative; min-height: 285px; padding: 29px; border-inline-end: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--espresso); text-decoration: none; overflow: hidden; transition: .3s ease; }
.category-card::before { content: ""; position: absolute; width: 170px; height: 170px; inset-inline-end: -80px; bottom: -90px; border-radius: 50%; background: var(--chartreuse); opacity: 0; transform: scale(.5); transition: .35s ease; }
.category-card:hover { background: var(--white); transform: translateY(-5px); box-shadow: 0 22px 45px rgba(37,21,24,.1); }
.category-card:hover::before { opacity: 1; transform: scale(1); }
.category-number { display: block; color: #a48e91; font-family: var(--display); font-size: 17px; font-style: italic; }
.category-icon { width: 59px; height: 59px; margin: 43px 0 24px; display: grid; place-items: center; border-radius: 50% 50% 50% 15px; background: var(--sand); color: var(--plum); font-size: 20px; }
.category-card h3 { margin: 0 0 5px; font-family: var(--display); font-size: 26px; font-weight: 600; }
.category-card p { margin: 0; color: #8c777b; font-size: 11px; }
.category-arrow { position: absolute; z-index: 2; inset-inline-end: 27px; bottom: 28px; color: var(--espresso); font-size: 13px; }

.candidates-section { background: #f0e4d1; }
.candidate-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.candidate-card { overflow: hidden; border: 1px solid rgba(75,31,56,.1); border-radius: 26px; background: var(--white); box-shadow: 0 15px 45px rgba(37,21,24,.06); transition: .3s ease; }
.candidate-card:hover { transform: translateY(-7px); box-shadow: 0 24px 58px rgba(37,21,24,.13); }
.candidate-photo { position: relative; height: 335px; display: block; overflow: hidden; background: var(--sand); }
.candidate-photo::after { content: ""; position: absolute; inset: 65% 0 0; background: linear-gradient(transparent,rgba(37,21,24,.22)); }
.candidate-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .5s ease; }
.candidate-card:hover .candidate-photo img { transform: scale(1.025); }
.candidate-content { padding: 23px; }
.candidate-title-row { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.candidate-title-row h3 { max-width: 230px; margin: 0; font-family: var(--display); font-size: 27px; font-weight: 600; line-height: 1; }
.candidate-title-row h3 a { color: var(--espresso); text-decoration: none; }
.candidate-title-row p { margin: 6px 0 0; color: #8d787c; font-size: 11px; }
.candidate-rate { color: var(--plum) !important; font-size: 14px !important; font-weight: 800; white-space: nowrap; text-align: end; }
.candidate-rate small { display: block; margin-top: 2px; color: #9a878a; font-size: 8px; font-weight: 600; }
.candidate-facts { margin: 21px 0 17px; padding: 15px 0; display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid var(--line); }
.candidate-facts div { padding-inline: 12px; border-inline-end: 1px solid var(--line); }
.candidate-facts div:first-child { padding-inline-start: 0; }
.candidate-facts div:last-child { padding-inline-end: 0; border: 0; }
.candidate-facts dt { color: #a08c8f; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.candidate-facts dd { margin: 4px 0 0; overflow: hidden; color: var(--espresso); font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.skill-list { min-height: 28px; display: flex; flex-wrap: wrap; gap: 6px; }
.skill-list span { padding: 5px 8px; border-radius: 6px; background: var(--ivory); color: var(--plum); font-size: 9px; font-weight: 700; }
.candidate-actions { margin-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.profile-link { color: var(--plum); font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.interview-link { min-height: 39px; padding: 0 14px; display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; background: var(--espresso); color: var(--ivory); font-size: 10px; font-weight: 800; text-decoration: none; }
.interview-link:hover { background: var(--plum); }

.process-section { position: relative; overflow: hidden; background: var(--plum); color: var(--ivory); }
.process-section::after { content: ""; position: absolute; width: 620px; height: 620px; inset-inline-end: -290px; bottom: -420px; border: 1px solid rgba(248,241,229,.18); border-radius: 50%; }
.process-shell { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; gap: 120px; }
.process-intro .section-kicker { color: var(--chartreuse); }
.process-intro > p:last-child { max-width: 470px; margin: 25px 0 0; color: rgba(248,241,229,.67); font-size: 14px; line-height: 1.8; }
.process-list { margin: 0; padding: 0; list-style: none; }
.process-list li { padding: 25px 0; display: grid; grid-template-columns: 70px 1fr; gap: 22px; border-top: 1px solid rgba(248,241,229,.2); }
.process-list li:last-child { border-bottom: 1px solid rgba(248,241,229,.2); }
.process-list > li > span { color: var(--chartreuse); font-family: var(--display); font-size: 25px; font-style: italic; }
.process-list h3 { margin: 0 0 8px; font-family: var(--display); font-size: 27px; font-weight: 600; }
.process-list p { margin: 0; color: rgba(248,241,229,.65); font-size: 13px; line-height: 1.65; }

.compliance-section { padding: 90px 0; background: var(--ivory); }
.compliance-grid { display: grid; grid-template-columns: 150px 1fr .9fr; align-items: center; gap: 60px; }
.compliance-mark { width: 132px; height: 132px; display: grid; place-items: center; border-radius: 50% 50% 50% 28px; background: var(--sand); color: var(--plum); transform: rotate(-5deg); }
.compliance-mark span { font-family: var(--display); font-size: 80px; font-style: italic; transform: rotate(5deg); }
.compliance-grid h2 { max-width: 600px; }
.compliance-grid ul { margin: 0; padding: 0; list-style: none; }
.compliance-grid li { padding: 12px 0; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); color: #655256; font-size: 12px; font-weight: 600; }
.compliance-grid li i { width: 24px; height: 24px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--chartreuse); color: var(--espresso); font-size: 9px; }

.closing-cta { padding: 110px 0; background: var(--espresso); color: var(--ivory); text-align: center; }
.closing-inner > p { margin: 0 0 16px; color: var(--coral); font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.closing-inner h2 { max-width: 760px; margin-inline: auto; font-size: clamp(54px, 6vw, 80px); }
.closing-inner .button { margin-top: 34px; }

.site-footer { margin-top: auto; padding: 72px 0 26px; background: #1d1013; color: rgba(248,241,229,.68); }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 60px; }
.footer-wordmark { display: inline-block; margin-bottom: 18px; color: var(--ivory); font-size: 24px; font-weight: 800; letter-spacing: -.04em; text-decoration: none; }
.footer-wordmark span { color: var(--coral); }
.footer-brand p { max-width: 330px; margin: 0; font-size: 13px; line-height: 1.8; }
.social-links { margin-top: 23px; display: flex; gap: 8px; }
.social-links a { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(248,241,229,.18); border-radius: 50%; color: var(--ivory); text-decoration: none; }
.social-links a:hover { border-color: var(--chartreuse); color: var(--chartreuse); }
.site-footer h2 { margin: 4px 0 22px; color: var(--ivory); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin-bottom: 13px; }
.site-footer li a, .footer-contact a { color: rgba(248,241,229,.62); font-size: 12px; text-decoration: none; }
.site-footer a:hover { color: var(--chartreuse); }
.footer-contact p { margin: 0 0 17px; display: flex; align-items: start; gap: 11px; font-size: 12px; line-height: 1.6; }
.footer-contact i { margin-top: 3px; color: var(--coral); }
.footer-bottom { margin-top: 56px; padding-top: 23px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(248,241,229,.12); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.licensed { display: flex; align-items: center; gap: 7px; }
.licensed i { color: var(--chartreuse); }

/* Shared Warm Gulf system for the customer journey. */
.public-page {
    position: relative;
    isolation: isolate;
    width: 100%;
    background: var(--ivory) !important;
    color: var(--espresso);
    font-family: var(--sans) !important;
}
.public-page::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset-block-start: -180px;
    inset-inline-end: -180px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(75,31,56,.11);
    border-radius: 50%;
    pointer-events: none;
}
.public-page h1,
.public-page h2,
.public-page h3,
.public-page .brand-font {
    color: var(--espresso);
    font-family: var(--display) !important;
    font-weight: 600 !important;
    letter-spacing: -.025em !important;
    text-transform: none !important;
}
.public-page h1 { font-size: clamp(42px, 5vw, 68px) !important; line-height: .98 !important; }
.public-page h2 { letter-spacing: -.018em !important; }
.public-page label,
.public-page dt,
.public-page [class*="uppercase"] {
    letter-spacing: .08em;
}
.public-page a,
.public-page button,
.public-page input,
.public-page select,
.public-page textarea { font-family: var(--sans); }
.public-page input:not([type="radio"]):not([type="checkbox"]),
.public-page select,
.public-page textarea {
    border-color: rgba(75,31,56,.16) !important;
    border-radius: 13px !important;
    background-color: rgba(255,253,249,.88) !important;
    color: var(--espresso) !important;
    box-shadow: none !important;
}
.public-page input:focus,
.public-page select:focus,
.public-page textarea:focus {
    border-color: var(--plum) !important;
    outline: 3px solid rgba(216,242,104,.42) !important;
    outline-offset: 1px;
}
.public-page input[type="radio"],
.public-page input[type="checkbox"] { accent-color: var(--plum) !important; }
.public-page [class*="text-teal-9"],
.public-page [class*="text-teal-8"],
.public-page [class*="text-zinc-9"],
.public-page [class*="text-gray-9"] { color: var(--espresso) !important; }
.public-page [class*="text-teal-7"],
.public-page [class*="text-teal-6"],
.public-page [class*="text-amber-6"] { color: var(--plum) !important; }
.public-page [class*="text-teal-5"],
.public-page [class*="text-teal-4"] { color: var(--coral) !important; }
.public-page [class*="bg-teal-9"],
.public-page [class*="bg-zinc-9"],
.public-page [class*="bg-black"] { background-color: var(--espresso) !important; }
.public-page [class*="bg-teal-8"],
.public-page [class*="bg-teal-7"],
.public-page [class*="bg-teal-6"] { background-color: var(--plum) !important; }
.public-page [class*="bg-teal-5"],
.public-page [class*="bg-teal-4"] { background-color: var(--coral) !important; }
.public-page [class*="bg-teal-1"],
.public-page [class*="bg-teal-0"],
.public-page [class*="bg-gray-50"],
.public-page [class*="bg-zinc-50"] { background-color: #f4e7d3 !important; }
.public-page [class*="border-teal"],
.public-page [class*="border-gray-1"],
.public-page [class*="border-gray-2"],
.public-page [class*="border-zinc-2"],
.public-page [class*="border-zinc-3"] { border-color: rgba(75,31,56,.14) !important; }
.public-page [class*="shadow"] { --tw-shadow-color: rgba(37,21,24,.11) !important; }
.public-page a[class*="bg-teal"],
.public-page button[class*="bg-teal"],
.public-page a[class*="bg-zinc-9"],
.public-page button[class*="bg-zinc-9"],
.public-page a[class*="bg-black"],
.public-page button[class*="bg-black"] {
    border-radius: 999px !important;
    color: var(--ivory) !important;
    box-shadow: 0 13px 30px rgba(75,31,56,.17) !important;
}
.public-page a[class*="bg-teal"]:hover,
.public-page button[class*="bg-teal"]:hover,
.public-page a[class*="bg-zinc-9"]:hover,
.public-page button[class*="bg-zinc-9"]:hover,
.public-page a[class*="bg-black"]:hover,
.public-page button[class*="bg-black"]:hover {
    background-color: var(--plum) !important;
    transform: translateY(-2px);
}
.public-page [class*="rounded-3xl"],
.public-page [class*="rounded-[2"],
.public-page [class*="rounded-[3"] { border-radius: 26px !important; }

/* Authentication */
.page-login,
.page-signup,
.page-interview {
    min-height: 760px;
    padding-block: clamp(64px, 9vw, 120px) !important;
    background:
        radial-gradient(circle at 18% 15%, rgba(216,242,104,.9) 0 7%, transparent 7.3%),
        radial-gradient(circle at 82% 80%, rgba(255,123,104,.48) 0 13%, transparent 13.3%),
        var(--sand) !important;
}
.page-login > .absolute.inset-0 { display: none; }
.page-login > .w-full,
.page-signup > .w-full,
.page-interview > .max-w-md {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(75,31,56,.12) !important;
    border-radius: 32px 32px 32px 9px !important;
    background: rgba(255,253,249,.96) !important;
    box-shadow: 0 35px 90px rgba(37,21,24,.17) !important;
}
[dir="rtl"] .page-login > .w-full,
[dir="rtl"] .page-signup > .w-full,
[dir="rtl"] .page-interview > .max-w-md { border-radius: 32px 32px 9px 32px !important; }
.page-login > .w-full::before,
.page-signup > .w-full::before {
    content: "MAIDS.BH";
    display: block;
    margin: -48px -48px 34px;
    padding: 20px 32px;
    background: var(--espresso);
    color: var(--ivory);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-align: start;
}
.page-signup > .w-full::before { margin: -40px -40px 34px; }
.page-login .text-center > div:first-child {
    border-radius: 50% 50% 50% 14px !important;
    background: var(--chartreuse) !important;
    color: var(--espresso) !important;
}
.page-login button[id^="btn-"],
.page-signup button,
.page-interview button {
    border: 0;
    border-radius: 999px !important;
    background: var(--plum) !important;
    color: var(--ivory) !important;
}
.page-login > .absolute.bottom-6 { color: rgba(37,21,24,.55) !important; }
.page-interview > div > div:first-child { background: var(--espresso) !important; }
.page-interview > div > div:first-child h2 { color: var(--ivory) !important; }
.page-interview > div > div:first-child p { color: var(--sand) !important; }

/* Editorial information pages */
.page-contact > div:first-child,
.page-faq > div:first-child,
.page-policy > div:first-child {
    position: relative;
    overflow: hidden;
    padding-block: clamp(76px, 9vw, 126px) !important;
    border-color: rgba(75,31,56,.12) !important;
    background: var(--sand);
}
.page-contact > div:first-child::after,
.page-faq > div:first-child::after,
.page-policy > div:first-child::after {
    content: "";
    position: absolute;
    inset-inline-end: 8%;
    bottom: -135px;
    width: 270px;
    height: 270px;
    border: 52px solid rgba(75,31,56,.13);
    border-radius: 50% 50% 16px 50%;
}
.page-contact > div:first-child h1,
.page-faq > div:first-child h1,
.page-policy > div:first-child h1 { position: relative; z-index: 1; }
.page-contact > div:nth-child(2) > div {
    overflow: hidden;
    border-color: rgba(75,31,56,.12) !important;
    border-radius: 30px 30px 30px 9px;
    background: var(--white) !important;
    box-shadow: 0 30px 80px rgba(37,21,24,.08) !important;
}
.page-contact [class*="text-[#B08D55]"] { color: var(--plum) !important; }
.page-contact [class*="border-[#B08D55]"],
.page-faq [class*="border-[#B08D55]"] { border-color: var(--plum) !important; }
.page-contact button[type="submit"] {
    border-radius: 999px !important;
    background: var(--plum) !important;
    color: var(--ivory) !important;
}
.page-contact > div:last-child { background: var(--sand) !important; border-color: rgba(75,31,56,.12) !important; }
.page-contact > div:last-child span { border-radius: 999px; color: var(--plum) !important; }
.page-faq #faq-container { max-width: 860px; }
.page-faq .faq-item {
    margin-bottom: 13px;
    overflow: hidden;
    border-color: rgba(75,31,56,.13) !important;
    border-radius: 18px;
    background: var(--white) !important;
}
.page-faq .faq-item button { min-height: 80px; }
.page-faq .faq-item button span:first-child { color: var(--espresso) !important; font-family: var(--display); font-size: 22px; font-weight: 600; }
.page-faq .icon-toggle { color: var(--plum) !important; }
.page-faq a[class*="border"] { border-radius: 999px; border-color: var(--plum) !important; color: var(--plum) !important; }
.page-faq a[class*="border"]:hover { background: var(--plum) !important; color: var(--ivory) !important; }
.page-policy nav { border-color: rgba(75,31,56,.16) !important; }
.page-policy nav a { color: #836e72 !important; }
.page-policy nav a:hover { color: var(--plum) !important; }
.page-policy section { padding-bottom: 8px; }
.page-policy section h2 { font-size: 36px !important; }
.page-policy section [class*="bg-[#F5F2EB]"] { border-radius: 18px; background: var(--sand) !important; border-color: rgba(75,31,56,.12) !important; }

/* Search, profiles and transactional pages */
.page-search,
.page-product,
.page-account { max-width: 1420px !important; padding-block: clamp(54px, 7vw, 96px) !important; }
.page-search form {
    border: 1px solid rgba(75,31,56,.12) !important;
    border-radius: 24px;
    background: var(--sand) !important;
    box-shadow: 0 22px 60px rgba(37,21,24,.08);
}
.page-search form button { border-radius: 999px; background: var(--plum) !important; color: var(--ivory) !important; }
.page-search .grid > .group,
.page-category .grid > .group,
.page-category .grid > div.group {
    overflow: hidden;
    border-color: rgba(75,31,56,.11) !important;
    border-radius: 22px !important;
    background: var(--white) !important;
    box-shadow: 0 16px 44px rgba(37,21,24,.07);
}
.page-search .grid > .group:hover,
.page-category .grid > .group:hover,
.page-category .grid > div.group:hover { transform: translateY(-6px); box-shadow: 0 25px 55px rgba(37,21,24,.13); }
.page-search .grid > .group img { filter: none !important; }
.page-search .grid > .group [class*="text-amber"] { color: var(--plum) !important; }
.page-category { padding-block: clamp(54px, 7vw, 96px) !important; }
.page-category > .container > div:first-child { border-color: rgba(75,31,56,.14) !important; }
.page-category form { border-color: rgba(75,31,56,.12) !important; border-radius: 22px !important; background: var(--white) !important; }
.page-product { background: var(--ivory); }
.page-product > div:nth-child(2) > div:first-child > div {
    border-color: rgba(75,31,56,.12) !important;
    border-radius: 180px 180px 28px 28px !important;
    box-shadow: 0 28px 70px rgba(37,21,24,.13) !important;
}
.page-product .candidate-inline-3d { background: linear-gradient(180deg, var(--sand), #ead3b2) !important; }
.page-product [id="cvModal"] > div:first-child { background: rgba(37,21,24,.92) !important; }
.page-cart,
.page-checkout { padding-block: clamp(54px, 7vw, 96px) !important; }
.page-cart > .container > div:first-child,
.page-checkout > .container > div:first-child,
.page-account > div:first-child { border-color: rgba(75,31,56,.15) !important; }
.page-cart [class*="bg-white"],
.page-checkout [class*="bg-white"],
.page-account [class*="bg-white"] { border-color: rgba(75,31,56,.11) !important; }
.page-cart a[href*="checkout"] {
    border-radius: 999px !important;
    background: var(--chartreuse) !important;
    color: var(--espresso) !important;
}
.page-checkout button[type="submit"],
.page-account button[type="submit"] {
    border-radius: 999px !important;
    background: var(--plum) !important;
    color: var(--ivory) !important;
}
.page-account > .grid > div > div,
.page-account > .grid > div > div > div { border-color: rgba(75,31,56,.11) !important; }
.page-success {
    margin-block: 70px;
    padding: clamp(40px, 7vw, 72px) !important;
    border: 1px solid rgba(75,31,56,.12);
    border-radius: 34px 34px 34px 10px;
    background: var(--white) !important;
    box-shadow: 0 30px 80px rgba(37,21,24,.1);
}
.page-success > div:first-child { background: var(--chartreuse) !important; }
.page-success > div:first-child svg { color: var(--espresso) !important; }

[dir="rtl"] .public-page h1,
[dir="rtl"] .public-page h2,
[dir="rtl"] .public-page h3 { font-family: var(--sans) !important; }

[dir="rtl"] body.site-body { letter-spacing: 0; }
[dir="rtl"] .hero-copy h1, [dir="rtl"] .section-heading h2, [dir="rtl"] .process-intro h2, [dir="rtl"] .compliance-grid h2, [dir="rtl"] .closing-inner h2, [dir="rtl"] .candidate-title-row h3, [dir="rtl"] .spotlight-info h2, [dir="rtl"] .category-card h3, [dir="rtl"] .process-list h3 { font-family: var(--sans); letter-spacing: -.025em; }
[dir="rtl"] .hero-copy h1 { line-height: 1.1; }
[dir="rtl"] .rtl-flip { transform: rotate(180deg); }

@media (max-width: 1120px) {
    .primary-nav { display: none; }
    .hero-grid { grid-template-columns: 1fr 470px; gap: 30px; }
    .hero-copy h1 { font-size: 68px; }
    .concierge-note { inset-inline-start: -18px; }
    .category-grid { grid-template-columns: repeat(2,1fr); }
    .candidate-grid { grid-template-columns: repeat(2,1fr); }
    .process-shell { gap: 65px; }
    .compliance-grid { grid-template-columns: 120px 1fr; }
    .compliance-grid ul { grid-column: 2; }
    .footer-grid { grid-template-columns: 1.2fr repeat(3,1fr); gap: 35px; }
}

@media (max-width: 860px) {
    .shell { width: min(100% - 32px, 1420px); }
    .nav-shell { min-height: 74px; }
    .wordmark small, .admin-link { display: none; }
    .hero-section { padding-top: 54px; }
    .hero-grid { grid-template-columns: 1fr; gap: 15px; text-align: center; }
    .hero-copy { padding-bottom: 15px; }
    .eyebrow, .hero-actions, .trust-line { justify-content: center; }
    .hero-copy h1, .hero-intro { margin-inline: auto; }
    .hero-spotlight { min-height: 560px; }
    .concierge-note { inset-inline-start: calc(50% - 260px); }
    .search-wrap { margin-top: 15px; }
    .discovery-search { grid-template-columns: repeat(3,1fr); }
    .search-submit { grid-column: 1 / -1; margin: 15px 0 0; }
    .section { padding: 85px 0; }
    .section-heading { align-items: start; flex-direction: column; gap: 18px; }
    .process-shell { grid-template-columns: 1fr; gap: 45px; }
    .compliance-grid { grid-template-columns: 105px 1fr; gap: 35px; }
    .compliance-mark { width: 100px; height: 100px; }
    .compliance-mark span { font-size: 60px; }
    .footer-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 620px) {
    .announcement { font-size: 9px; letter-spacing: .025em; }
    .wordmark-seal { width: 35px; height: 35px; font-size: 24px; }
    .wordmark { gap: 8px; font-size: 17px; }
    .nav-actions { gap: 6px; }
    .nav-login { display: none; }
    .language-switch { padding: 8px 10px; }
    .nav-icon { width: 35px; height: 35px; }
    .hero-copy h1 { font-size: 55px; }
    .hero-intro { font-size: 15px; }
    .hero-actions { flex-direction: column; }
    .hero-actions .button { width: 100%; }
    .trust-line { align-items: flex-start; text-align: start; line-height: 1.5; }
    .hero-spotlight { min-height: 505px; margin-inline: -10px; }
    .hero-spotlight::before { width: 410px; height: 410px; }
    .hero-spotlight::after { width: 390px; height: 390px; }
    .spotlight-card { width: min(345px, 90%); }
    .spotlight-image { height: 270px; }
    .concierge-note { display: none; }
    .discovery-search { grid-template-columns: 1fr; border-radius: 18px; }
    .search-field { padding: 13px 8px; border-inline-end: 0; border-bottom: 1px solid var(--line); }
    .search-submit { grid-column: auto; }
    .section-heading h2, .process-intro h2, .compliance-grid h2 { font-size: 42px; }
    .category-grid, .candidate-grid { grid-template-columns: 1fr; }
    .category-card { min-height: 235px; }
    .category-icon { margin-top: 25px; }
    .candidate-photo { height: 370px; }
    .compliance-grid { grid-template-columns: 1fr; text-align: center; }
    .compliance-mark { margin-inline: auto; }
    .compliance-grid ul { grid-column: auto; text-align: start; }
    .closing-inner h2 { font-size: 54px; }
    .footer-grid { grid-template-columns: 1fr; gap: 40px; }
    .footer-bottom { align-items: start; flex-direction: column; }
}

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