/* HS Group Luxury Light 2026
   Premium light-only visual system. Loaded after the base stylesheet. */

:root,
html[data-theme="light"],
html[data-theme="dark"] {
    --bg: #fbf8f1;
    --bg2: #f3eee1;
    --surface: rgba(255, 255, 255, .82);
    --surface-solid: #fffdf8;
    --surface-soft: #f5efe2;
    --text: #0c2b20;
    --text-2: #46574f;
    --muted: #79847e;
    --line: rgba(164, 122, 30, .18);
    --gold: #c6972d;
    --gold-2: #efcf75;
    --gold-deep: #8d6517;
    --green: #0b4f35;
    --green-bright: #62a83b;
    --emerald: #073c2a;
    --danger: #b44747;
    --success: #2f8b58;
    --shadow: 0 26px 80px rgba(94, 67, 15, .12);
    --shadow-soft: 0 14px 40px rgba(96, 73, 26, .08);
    --radius: 28px;
    --shell: min(1460px, calc(100% - 56px));
    color-scheme: light !important;
}

html { color-scheme: light !important; background: #fbf8f1; }
body.luxury-light-site {
    color: var(--text) !important;
    background:
        radial-gradient(circle at 82% 4%, rgba(232, 197, 99, .15), transparent 28%),
        radial-gradient(circle at 8% 30%, rgba(32, 105, 69, .055), transparent 28%),
        linear-gradient(180deg, #fffdfa 0%, #f9f4e9 48%, #fffdf8 100%) !important;
    font-family: "Manrope", "Cairo", system-ui, sans-serif !important;
}
body.luxury-light-site::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -3;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(149, 111, 28, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(149, 111, 28, .035) 1px, transparent 1px);
    background-size: 86px 86px;
    mask-image: linear-gradient(to bottom, black, transparent 75%);
}
body.has-premium-cursor,
body.has-premium-cursor a,
body.has-premium-cursor button,
body.has-premium-cursor input,
body.has-premium-cursor select,
body.has-premium-cursor textarea { cursor: none !important; }

h1, h2, h3 { color: var(--text); }
h1, h2 {
    font-family: "Cormorant Garamond", "Cairo", Georgia, serif !important;
    letter-spacing: -.035em;
}
p { color: var(--text-2); }
::selection { background: rgba(208, 167, 64, .28); color: #0b2e22; }

.ambient {
    background:
        radial-gradient(circle at 82% 10%, rgba(230, 192, 86, .16), transparent 30%),
        radial-gradient(circle at 14% 78%, rgba(40, 118, 78, .08), transparent 25%),
        linear-gradient(145deg, #fffdfa, #f8f3e7) !important;
    opacity: 1;
}
.ambient canvas { opacity: .22 !important; }
.ambient__grid { opacity: .42; }
.ambient__orb { filter: blur(24px); opacity: .22 !important; }
.ambient__orb--one { background: radial-gradient(circle, rgba(238, 204, 116, .58), transparent 68%) !important; }
.ambient__orb--two { background: radial-gradient(circle, rgba(51, 132, 85, .19), transparent 68%) !important; }
.ambient__orb--three { background: radial-gradient(circle, rgba(244, 223, 165, .42), transparent 70%) !important; }
.ambient__grain { opacity: .018 !important; }
.hs-progress { height: 3px; background: linear-gradient(90deg, var(--green), var(--gold-2), var(--gold-deep)) !important; }

.shell { width: var(--shell); }
.section { padding: 84px 0; }
.section-kicker {
    color: var(--gold-deep) !important;
    letter-spacing: .13em;
    font-weight: 800;
}
.section-kicker::before { background: linear-gradient(90deg, var(--gold), transparent) !important; }

/* Header */
.site-header.luxury-header {
    position: sticky;
    top: 0;
    z-index: 1200;
    border: 0 !important;
    border-bottom: 1px solid rgba(176, 132, 34, .16) !important;
    background: rgba(255, 253, 248, .88) !important;
    backdrop-filter: blur(24px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
    box-shadow: none;
}
.site-header.luxury-header::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(203, 153, 47, .72), transparent);
}
.site-header.luxury-header.is-scrolled {
    background: rgba(255, 253, 248, .96) !important;
    box-shadow: 0 16px 42px rgba(85, 65, 24, .09) !important;
}
.luxury-header .nav-shell {
    height: 76px !important;
    gap: 28px !important;
}
.luxury-header .brand {
    width: 185px !important;
    height: 58px !important;
    padding: 4px 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.luxury-header .brand img { object-fit: contain; }
.luxury-header .desktop-nav {
    display: flex;
    gap: clamp(15px, 1.55vw, 28px) !important;
    margin-inline: auto !important;
}
.luxury-header .desktop-nav a {
    color: #34473f !important;
    font-size: .76rem !important;
    font-weight: 720 !important;
    letter-spacing: -.01em;
}
.luxury-header .desktop-nav a::after {
    bottom: -14px !important;
    background: linear-gradient(90deg, var(--gold), var(--gold-2)) !important;
}
.luxury-header .desktop-nav a:hover,
.luxury-header .desktop-nav a.active { color: var(--green) !important; }
.luxury-header .nav-actions { gap: 9px !important; }
.header-search,
.luxury-header .mobile-toggle {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 12px;
    color: var(--text);
    background: transparent;
    transition: .22s ease;
}
.header-search:hover,
.luxury-header .mobile-toggle:hover { background: rgba(196, 147, 39, .1); color: var(--gold-deep); }
.luxury-header .language-menu { position: relative; }
.luxury-header .language-button {
    min-height: 39px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    border: 0;
    border-inline-start: 1px solid var(--line);
    color: var(--text);
    background: transparent;
    font-size: .73rem;
    font-weight: 800;
}
.luxury-header .language-button i { font-size: .58rem; }
.luxury-header .dropdown-panel {
    right: 0;
    background: rgba(255, 253, 248, .98) !important;
    border-color: rgba(183, 137, 34, .22) !important;
    box-shadow: 0 24px 60px rgba(81, 61, 18, .15) !important;
}
.luxury-header .dropdown-panel a { color: var(--text-2) !important; }
.luxury-header .dropdown-panel a:hover { background: #f5eedf !important; color: var(--green) !important; }
.button {
    border-radius: 12px !important;
    letter-spacing: .005em;
}
.button--green {
    color: #fff !important;
    background: linear-gradient(135deg, #0b5238, #073c2a) !important;
    border: 1px solid #0b5238 !important;
    box-shadow: 0 12px 28px rgba(8, 72, 48, .2), inset 0 1px rgba(255,255,255,.16) !important;
}
.button--green:hover { box-shadow: 0 18px 38px rgba(8, 72, 48, .28), 0 0 0 5px rgba(205, 160, 55, .09) !important; }
.button--outline {
    color: var(--gold-deep) !important;
    background: rgba(255,255,255,.52) !important;
    border-color: rgba(183, 132, 27, .48) !important;
    box-shadow: 0 8px 22px rgba(109, 78, 16, .06) !important;
}
.button--outline:hover { color: var(--green) !important; border-color: var(--green) !important; background: #fff !important; }
.luxury-header .nav-portal { min-height: 40px !important; padding: 0 15px !important; font-size: .7rem !important; }
.luxury-header .nav-cta { min-height: 40px !important; padding: 0 16px !important; font-size: .7rem !important; }
.luxury-header .mobile-toggle { display: none; }
.luxury-header .mobile-menu { background: rgba(255, 253, 248, .98); }
.luxury-header .mobile-menu a { color: var(--text-2); }

/* Search overlay */
.site-search[hidden] { display: none; }
.site-search { position: fixed; inset: 0; z-index: 2200; display: grid; place-items: start center; padding-top: 104px; }
.site-search__backdrop { position: absolute; inset: 0; border: 0; background: rgba(13, 39, 29, .28); backdrop-filter: blur(10px); }
.site-search__panel {
    position: relative;
    width: min(760px, calc(100% - 32px));
    padding: 38px;
    border: 1px solid rgba(192, 145, 39, .28);
    border-radius: 28px;
    background: rgba(255, 253, 248, .98);
    box-shadow: 0 40px 100px rgba(66, 49, 14, .22);
}
.site-search__panel h2 { margin: 8px 0 24px; font-size: clamp(2.1rem, 5vw, 3.6rem); }
.site-search__close { position: absolute; top: 18px; right: 18px; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--text); }
.site-search__links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.site-search__links a { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: #fff; transition: .25s; }
.site-search__links a:hover { transform: translateY(-3px); border-color: rgba(193, 143, 31, .5); box-shadow: var(--shadow-soft); }
.site-search__links i { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(135deg, #f8ecd0, #fff); color: var(--gold-deep); }
.site-search__links strong,.site-search__links small { display: block; }
.site-search__links strong { font-size: .82rem; }
.site-search__links small { margin-top: 3px; color: var(--muted); font-size: .65rem; }
body.search-open { overflow: hidden; }

/* Hero */
.lux-hero {
    position: relative;
    min-height: 620px;
    display: grid;
    align-items: stretch;
    border-bottom: 1px solid rgba(191, 143, 36, .22);
    overflow: hidden;
}
.lux-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 83% 22%, rgba(241, 209, 127, .26), transparent 26%),
        linear-gradient(108deg, rgba(255,253,248,.98) 0%, rgba(255,253,248,.95) 31%, rgba(255,253,248,.15) 62%, rgba(255,253,248,.04) 100%);
    z-index: 2;
}
.lux-hero::after {
    content: "";
    position: absolute;
    left: 7%;
    top: 12%;
    width: 520px;
    height: 330px;
    border-radius: 50%;
    border: 1px solid rgba(203, 154, 43, .1);
    transform: rotate(-18deg);
    box-shadow: 0 0 80px rgba(230, 199, 118, .12);
}
.lux-hero__grid {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(470px, .82fr) minmax(680px, 1.35fr);
    align-items: stretch;
    gap: 28px;
}
.lux-hero__copy {
    position: relative;
    z-index: 3;
    align-self: center;
    padding: 72px 0 66px;
}
.lux-overline {
    display: inline-block;
    margin-bottom: 14px;
    color: #263c33;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.lux-hero h1 {
    max-width: 650px;
    margin: 0 0 18px;
    color: var(--green);
    font-size: clamp(3.55rem, 5.2vw, 6.15rem) !important;
    line-height: .86;
    font-weight: 700;
}
.lux-hero h1 > span {
    display: block;
    margin-bottom: 16px;
    font-family: "Manrope", "Cairo", sans-serif;
    font-size: .34em;
    line-height: 1;
    letter-spacing: .18em;
    text-transform: uppercase;
    background: linear-gradient(90deg, var(--green), var(--gold), var(--gold-deep));
    -webkit-background-clip: text;
    color: transparent;
}
.lux-hero h1 em { color: var(--gold-deep); font-style: normal; }
.lux-hero__copy > p { max-width: 570px; margin-bottom: 0; font-size: .94rem; line-height: 1.78; }
.lux-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.lux-hero__actions .button { min-height: 52px !important; padding-inline: 20px !important; font-size: .72rem !important; }
.lux-hero__visual {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    width: 67%;
    overflow: hidden;
}
.lux-hero__visual > img { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; filter: saturate(.92) contrast(1.02) brightness(1.05); }
.lux-hero__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,253,248,.98) 0%, rgba(255,253,248,.6) 14%, transparent 39%), linear-gradient(0deg, rgba(255,252,244,.26), transparent 38%);
}
.lux-hero__globe { position: absolute; z-index: 2; right: 12%; top: 8%; width: 260px; height: 260px; display: grid; place-items: center; border-radius: 50%; color: rgba(202, 151, 38, .23); font-size: 210px; filter: drop-shadow(0 0 35px rgba(226, 192, 104, .25)); animation: globePulse 6s ease-in-out infinite; }
.lux-hero__badge { position: absolute; z-index: 4; right: 5%; bottom: 10%; display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; width: 220px; padding: 14px; border: 1px solid rgba(190, 142, 33, .24); border-radius: 16px; background: rgba(255, 253, 248, .88); backdrop-filter: blur(18px); box-shadow: 0 20px 52px rgba(86, 63, 15, .15); }
.lux-hero__badge > i { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(190, 142, 33, .32); border-radius: 50%; color: var(--gold-deep); }
.lux-hero__badge strong,.lux-hero__badge span { display: block; }
.lux-hero__badge strong { color: var(--green); font-family: "Cormorant Garamond"; font-size: 1.05rem; }
.lux-hero__badge span { color: var(--text-2); font-size: .62rem; line-height: 1.45; }
.lux-hero__insight { position: absolute; z-index: 4; left: 48%; bottom: 15%; display: grid; gap: 4px; padding: 13px 16px; border-radius: 999px; background: rgba(7, 59, 41, .87); color: var(--gold-2); font-size: .56rem; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; box-shadow: 0 18px 40px rgba(4, 46, 31, .2); }
@keyframes globePulse { 0%,100% { transform: scale(1); opacity: .72; } 50% { transform: scale(1.04); opacity: 1; } }

/* Research ribbon */
.research-ribbon { position: relative; border-bottom: 1px solid rgba(189, 141, 31, .18); background: rgba(255, 253, 248, .82); overflow: hidden; }
.research-ribbon::after { content: ""; position: absolute; right: -140px; bottom: -180px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(236, 201, 112, .22), transparent 68%); }
.research-ribbon__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 245px minmax(0, 1fr) 360px; align-items: stretch; gap: 16px; padding-top: 18px; padding-bottom: 18px; }
.research-ribbon__intro { padding: 18px 16px 18px 0; align-self: center; }
.research-ribbon__intro .section-kicker { font-size: .62rem; line-height: 1.35; }
.research-ribbon__intro h2 { margin: 10px 0 10px; font-size: 2.15rem !important; line-height: .98; }
.research-ribbon__intro p { margin-bottom: 14px; font-size: .68rem; line-height: 1.55; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-deep); font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.text-link:hover { color: var(--green); }
.research-capabilities { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.capability-card { position: relative; min-height: 210px; padding: 18px 15px 32px; border: 1px solid rgba(184, 137, 31, .2); border-radius: 14px; background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(250,246,237,.92)); box-shadow: 0 10px 25px rgba(94, 67, 13, .07); transition: .28s ease; }
.capability-card:hover { transform: translateY(-6px); border-color: rgba(186, 137, 29, .5); box-shadow: 0 20px 42px rgba(95, 66, 10, .12); }
.capability-card > i { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 12px; border: 1px solid rgba(189, 141, 33, .25); border-radius: 14px; color: var(--green); background: linear-gradient(145deg, #fffdf7, #f7efd8); font-size: 1.25rem; }
.capability-card h3 { margin-bottom: 7px; font-family: "Manrope", sans-serif; font-size: .66rem; line-height: 1.25; letter-spacing: .02em; text-transform: uppercase; }
.capability-card p { font-size: .58rem; line-height: 1.55; }
.capability-card__plus { position: absolute; right: 10px; bottom: 9px; width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid rgba(186, 137, 29, .38); border-radius: 50%; color: var(--gold-deep); font-size: .55rem; }
.research-ribbon__lab { min-height: 220px; border-radius: 14px; overflow: hidden; border: 1px solid rgba(183, 135, 30, .2); }
.research-ribbon__lab img { width: 100%; height: 100%; object-fit: cover; }

/* Portfolio */
.portfolio-lux { padding: 18px 0 28px !important; border-bottom: 1px solid rgba(189, 141, 31, .18); background: linear-gradient(180deg, rgba(255,253,248,.98), rgba(250,246,236,.98)); }
.portfolio-lux__layout { display: grid; grid-template-columns: 245px minmax(0, 1.35fr) minmax(260px, .72fr); gap: 14px; align-items: stretch; }
.portfolio-lux__intro { padding: 18px 16px 18px 0; align-self: center; }
.portfolio-lux__intro h2 { margin: 10px 0; font-size: 2.15rem !important; line-height: .95; }
.portfolio-lux__intro p { font-size: .68rem; }
.portfolio-lux__featured { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.venture-card { min-height: 260px; position: relative; display: grid; grid-template-columns: .52fr .48fr; overflow: hidden; border: 1px solid rgba(184, 137, 31, .21); border-radius: 15px; background: #fff; box-shadow: 0 12px 30px rgba(88, 64, 16, .08); transition: .28s ease; }
.venture-card:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(88, 64, 16, .13); border-color: rgba(184, 137, 31, .45); }
.venture-card__media { min-height: 100%; overflow: hidden; order: 2; }
.venture-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.venture-card:hover .venture-card__media img { transform: scale(1.05); }
.venture-card__body { position: relative; z-index: 2; padding: 20px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(90deg, rgba(255,253,248,1), rgba(255,253,248,.93)); }
.venture-card__logo { max-width: 170px; max-height: 70px; object-fit: contain; object-position: left center; margin-bottom: 10px; }
.venture-card__body p { font-size: .62rem; line-height: 1.55; }
.venture-card__body a { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; color: var(--gold-deep); font-size: .6rem; font-weight: 850; text-transform: uppercase; }
.portfolio-lux__minor { display: grid; grid-template-columns: 1fr; gap: 8px; }
.minor-venture { min-height: 57px; display: grid; grid-template-columns: 56px 1fr auto; align-items: center; gap: 12px; padding: 9px 12px; border: 1px solid rgba(184, 137, 31, .2); border-radius: 13px; background: rgba(255,255,255,.78); transition: .25s ease; }
.minor-venture:hover { transform: translateX(4px); border-color: rgba(184, 137, 31, .48); background: #fff; box-shadow: var(--shadow-soft); }
.minor-venture > img { width: 56px; height: 42px; object-fit: contain; }
.minor-venture > span strong,.minor-venture > span small { display: block; }
.minor-venture > span strong { color: var(--gold-deep); font-family: "Cormorant Garamond"; font-size: .94rem; }
.minor-venture > span small { color: var(--muted); font-size: .55rem; }
.minor-venture > i:last-child { color: var(--gold-deep); font-size: .7rem; }
.minor-venture--more > i:first-child { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; border: 1px dashed rgba(184,137,31,.45); color: var(--gold-deep); font-size: 1.15rem; }

/* Partners */
.partners-lux { padding: 22px 0 24px !important; background: rgba(255,253,248,.9); border-bottom: 1px solid rgba(189, 141, 31, .18); }
.partners-lux__head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 14px; }
.partners-lux__head h2 { margin: 5px 0 2px; font-size: 2.25rem !important; }
.partners-lux__head p { margin: 0; font-size: .68rem; }
.partner-zone-tabs { display: flex; align-items: center; gap: 8px; overflow-x: auto; padding: 3px 0 10px; scrollbar-width: none; }
.partner-zone-tabs::-webkit-scrollbar { display: none; }
.partner-zone-tabs button { flex: 0 0 auto; min-width: 120px; min-height: 31px; padding: 0 16px; border: 1px solid rgba(184,137,31,.18); border-radius: 999px; color: var(--text-2); background: rgba(255,255,255,.75); font-size: .58rem; font-weight: 800; text-transform: uppercase; transition: .22s ease; }
.partner-zone-tabs button.active,.partner-zone-tabs button:hover { color: #fff; background: linear-gradient(135deg, #0d5a3d, #073c2a); border-color: #0b4d35; box-shadow: 0 8px 20px rgba(7,60,42,.16); }
.partner-carousel { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; padding: 10px; border: 1px solid rgba(184,137,31,.18); border-radius: 15px; background: rgba(255,255,255,.74); }
.partner-lux-card { min-height: 92px; display: grid; grid-template-columns: 68px 1fr; align-items: center; gap: 10px; padding: 10px; border-right: 1px solid rgba(184,137,31,.14); transition: .22s ease; }
.partner-lux-card:nth-child(6n) { border-right: 0; }
.partner-lux-card:hover { transform: translateY(-3px); background: #fff; border-radius: 11px; box-shadow: var(--shadow-soft); }
.partner-lux-card.is-hidden { display: none; }
.partner-lux-card img { width: 68px; height: 52px; object-fit: contain; }
.partner-lux-card strong,.partner-lux-card small { display: block; }
.partner-lux-card strong { font-size: .64rem; line-height: 1.25; }
.partner-lux-card small { margin-top: 3px; color: var(--muted); font-size: .52rem; }

/* Impact */
.impact-strip { padding: 16px 0; border-bottom: 1px solid rgba(189, 141, 31, .18); background: linear-gradient(90deg, #fffdfa, #f9f2e2, #fffdfa); }
.impact-strip__grid { display: grid; grid-template-columns: repeat(6, 1fr); }
.impact-strip__grid > div { min-height: 78px; display: grid; grid-template-columns: 44px auto; grid-template-rows: auto auto; align-items: center; column-gap: 10px; padding: 8px 16px; border-right: 1px solid rgba(184,137,31,.18); }
.impact-strip__grid > div:last-child { border-right: 0; }
.impact-strip__grid i { grid-row: 1/3; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(184,137,31,.3); border-radius: 50%; color: var(--gold-deep); }
.impact-strip__grid strong { align-self: end; font-family: "Cormorant Garamond"; color: var(--green); font-size: 1.85rem; line-height: .9; }
.impact-strip__grid span { align-self: start; color: var(--text-2); font-size: .49rem; line-height: 1.35; text-transform: uppercase; }

/* Final CTA */
.luxury-final-cta { padding: 62px 0 !important; }
.luxury-final-cta .final-cta__panel { position: relative; overflow: hidden; padding: 42px; border: 1px solid rgba(183,137,31,.28); border-radius: 26px; background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,239,215,.88)); box-shadow: 0 24px 65px rgba(92,67,15,.1); }
.luxury-final-cta .final-cta__panel::before { content: ""; position: absolute; right: -80px; top: -110px; width: 320px; height: 320px; border-radius: 50%; border: 1px solid rgba(183,137,31,.18); box-shadow: 0 0 80px rgba(225,190,100,.22); }
.luxury-final-cta h2 { font-size: clamp(2.5rem, 4vw, 4.6rem) !important; }

/* Footer */
.site-footer.luxury-footer { margin-top: 0 !important; padding: 42px 0 18px !important; border-top: 1px solid rgba(184,137,31,.22) !important; background: linear-gradient(180deg, #f8f2e5, #fffdfa) !important; color: var(--text) !important; }
.luxury-footer .footer-grid { display: grid; grid-template-columns: 1.35fr repeat(4, .78fr) 1.25fr !important; gap: 30px !important; }
.luxury-footer .footer-brand img { width: 190px; height: 70px; object-fit: contain; object-position: left center; }
.luxury-footer .footer-brand p,.luxury-footer p,.luxury-footer a { color: var(--text-2) !important; font-size: .64rem !important; }
.luxury-footer h3 { color: var(--green) !important; font-family: "Manrope", sans-serif !important; font-size: .67rem !important; letter-spacing: .04em; text-transform: uppercase; }
.luxury-footer .socials a { color: var(--gold-deep) !important; background: rgba(255,255,255,.78) !important; border-color: rgba(184,137,31,.22) !important; }
.luxury-footer .socials a:hover { color: #fff !important; background: var(--green) !important; }
.footer-newsletter form { display: grid; grid-template-columns: 1fr 42px; margin-top: 12px; border: 1px solid rgba(184,137,31,.24); border-radius: 11px; overflow: hidden; background: #fff; }
.footer-newsletter input { min-width: 0; height: 42px; padding: 0 12px; border: 0; outline: 0; background: transparent; color: var(--text); font-size: .62rem; }
.footer-newsletter button { border: 0; color: #fff; background: linear-gradient(135deg, var(--green), var(--emerald)); }
.luxury-footer .footer-bottom { margin-top: 28px !important; padding-top: 14px !important; border-top-color: rgba(184,137,31,.18) !important; color: var(--muted) !important; font-size: .56rem !important; }
.luxury-footer .footer-bottom div { display: flex; gap: 18px; }

/* Premium cursor */
.gold-cursor { width: 8px !important; height: 8px !important; border-radius: 2px 7px 7px 7px !important; background: linear-gradient(135deg, #fff2aa, #c18a1e) !important; box-shadow: 0 0 16px rgba(205,154,42,.75) !important; transform: rotate(-45deg); }
.gold-cursor-ring { width: 34px !important; height: 34px !important; border: 1px solid rgba(188,137,28,.7) !important; box-shadow: 0 0 22px rgba(219,177,72,.24), inset 0 0 14px rgba(219,177,72,.12) !important; }
body.cursor-active .gold-cursor-ring { width: 50px !important; height: 50px !important; border-color: var(--green) !important; background: rgba(11,79,53,.05) !important; }

/* Secondary public pages: force a coherent light-only treatment */
.page-hero,.research-program,.company-row,.partner-filter,.partner-directory__card,.contact-panel,.contact-form,.login-shell,.login-card,.admin-panel,.admin-form,.admin-table-wrap,.admin-partner-card,.inquiry-list article {
    background: rgba(255, 253, 248, .9) !important;
    border-color: rgba(184, 137, 31, .2) !important;
    box-shadow: var(--shadow-soft) !important;
}
.page-hero { border-bottom: 1px solid rgba(184,137,31,.18) !important; }
.page-hero h1,.page-hero h2,.research-program h2,.company-row h2 { color: var(--green) !important; }
input,select,textarea { color: var(--text) !important; background: #fff !important; border-color: rgba(184,137,31,.22) !important; }
input:focus,select:focus,textarea:focus { border-color: var(--gold) !important; box-shadow: 0 0 0 4px rgba(202,151,45,.1) !important; }
.admin-layout,.admin-main,.admin-content { background: #f9f5ec !important; }
.admin-sidebar { background: #fffdf8 !important; border-color: rgba(184,137,31,.18) !important; }
.admin-sidebar a,.admin-sidebar button { color: var(--text-2) !important; }
.admin-topbar { background: rgba(255,253,248,.94) !important; border-color: rgba(184,137,31,.18) !important; }

/* Reveal animation */
[data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }
[data-reveal].revealed { opacity: 1; transform: none; }

/* RTL */
html[dir="rtl"] .luxury-header .dropdown-panel { right: auto; left: 0; }
html[dir="rtl"] .venture-card__logo { object-position: right center; }
html[dir="rtl"] .research-ribbon__intro,
html[dir="rtl"] .portfolio-lux__intro { padding-right: 0; padding-left: 16px; }
html[dir="rtl"] .partner-lux-card,.impact-strip__grid > div { border-right: 0; border-left: 1px solid rgba(184,137,31,.14); }

/* Responsive */
@media (max-width: 1380px) {
    :root { --shell: min(1280px, calc(100% - 36px)); }
    .luxury-header .desktop-nav { gap: 15px !important; }
    .luxury-header .desktop-nav a { font-size: .7rem !important; }
    .luxury-header .nav-portal { display: none; }
    .lux-hero__grid { grid-template-columns: minmax(430px,.82fr) minmax(560px,1.25fr); }
    .research-ribbon__grid { grid-template-columns: 220px minmax(0,1fr) 290px; }
    .capability-card { padding-inline: 12px; }
    .partner-carousel { grid-template-columns: repeat(4,1fr); }
    .partner-lux-card:nth-child(6n) { border-right: 1px solid rgba(184,137,31,.14); }
    .partner-lux-card:nth-child(4n) { border-right: 0; }
    .luxury-footer .footer-grid { grid-template-columns: 1.2fr repeat(3,.8fr) 1.15fr !important; }
    .luxury-footer .footer-contact { display: none; }
}

@media (max-width: 1100px) {
    .luxury-header .desktop-nav,.luxury-header .nav-cta { display: none !important; }
    .luxury-header .mobile-toggle { display: grid !important; }
    .luxury-header .nav-actions { margin-inline-start: auto; }
    .lux-hero { min-height: auto; padding-top: 0; }
    .lux-hero__grid { display: grid; grid-template-columns: 1fr; }
    .lux-hero__copy { padding: 64px 0 48px; max-width: 720px; }
    .lux-hero__visual { position: relative; width: calc(100% + 36px); height: 420px; margin-inline: -18px; grid-row: 2; }
    .lux-hero__visual::after { background: linear-gradient(180deg, rgba(255,253,248,.9), transparent 24%), linear-gradient(90deg, rgba(255,253,248,.3), transparent 24%); }
    .lux-hero__insight { left: 8%; }
    .research-ribbon__grid { grid-template-columns: 1fr; padding-block: 28px; }
    .research-ribbon__intro { max-width: 650px; }
    .research-capabilities { grid-template-columns: repeat(5,minmax(180px,1fr)); overflow-x: auto; padding-bottom: 10px; }
    .research-ribbon__lab { min-height: 280px; }
    .portfolio-lux__layout { grid-template-columns: 1fr; }
    .portfolio-lux__intro { max-width: 680px; }
    .portfolio-lux__featured { grid-template-columns: 1fr 1fr; }
    .portfolio-lux__minor { grid-template-columns: 1fr 1fr; }
    .impact-strip__grid { grid-template-columns: repeat(3,1fr); }
    .impact-strip__grid > div:nth-child(3) { border-right: 0; }
    .impact-strip__grid > div:nth-child(-n+3) { border-bottom: 1px solid rgba(184,137,31,.18); }
    .luxury-footer .footer-grid { grid-template-columns: 1.2fr repeat(2,.8fr) 1.2fr !important; }
    .luxury-footer .footer-grid > div:nth-child(4) { display: none; }
}

@media (max-width: 760px) {
    :root { --shell: min(100% - 24px, 720px); }
    .luxury-header .nav-shell { height: 68px !important; }
    .luxury-header .brand { width: 148px !important; height: 48px !important; }
    .luxury-header .header-search,.luxury-header .language-menu { display: none; }
    .site-search__panel { padding: 28px 20px; }
    .site-search__links { grid-template-columns: 1fr; }
    .lux-hero__copy { padding: 52px 0 38px; }
    .lux-hero h1 { font-size: clamp(3.2rem, 15vw, 4.8rem) !important; }
    .lux-hero__copy > p { font-size: .86rem; }
    .lux-hero__actions { display: grid; }
    .lux-hero__actions .button { width: 100%; }
    .lux-hero__visual { height: 360px; }
    .lux-hero__globe { width: 180px; height: 180px; font-size: 150px; }
    .lux-hero__badge { right: 14px; bottom: 14px; width: 205px; }
    .lux-hero__insight { display: none; }
    .research-capabilities { grid-template-columns: repeat(5, 210px); }
    .portfolio-lux { padding-block: 38px !important; }
    .portfolio-lux__featured { grid-template-columns: 1fr; }
    .venture-card { grid-template-columns: 1fr; }
    .venture-card__media { height: 180px; order: 0; }
    .venture-card__body { min-height: 210px; }
    .portfolio-lux__minor { grid-template-columns: 1fr; }
    .partners-lux__head { align-items: flex-start; flex-direction: column; }
    .partner-carousel { grid-template-columns: 1fr 1fr; }
    .partner-lux-card,.partner-lux-card:nth-child(4n),.partner-lux-card:nth-child(6n) { border-right: 0; border-bottom: 1px solid rgba(184,137,31,.14); }
    .impact-strip__grid { grid-template-columns: 1fr 1fr; }
    .impact-strip__grid > div,.impact-strip__grid > div:nth-child(3) { border-right: 0; border-bottom: 1px solid rgba(184,137,31,.18); }
    .impact-strip__grid > div:nth-child(odd) { border-right: 1px solid rgba(184,137,31,.18); }
    .luxury-final-cta .final-cta__panel { padding: 28px; grid-template-columns: 1fr; }
    .luxury-footer .footer-grid { grid-template-columns: 1fr 1fr !important; }
    .luxury-footer .footer-brand,.luxury-footer .footer-newsletter { grid-column: 1/-1; }
    .luxury-footer .footer-grid > div:nth-child(4) { display: block; }
    .luxury-footer .footer-bottom { display: grid !important; gap: 10px; }
}

@media (max-width: 480px) {
    .lux-hero__visual { height: 300px; }
    .lux-hero h1 { font-size: clamp(2.85rem, 16vw, 4rem) !important; }
    .partner-carousel { grid-template-columns: 1fr; }
    .impact-strip__grid { grid-template-columns: 1fr; }
    .impact-strip__grid > div:nth-child(odd) { border-right: 0; }
    .luxury-footer .footer-grid { grid-template-columns: 1fr !important; }
    .luxury-footer .footer-brand,.luxury-footer .footer-newsletter { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    [data-reveal] { opacity: 1 !important; transform: none !important; }
    .gold-cursor,.gold-cursor-ring { display: none !important; }
}
