:root {
    --sv-bg: #111014;
    --sv-panel: #17161A;
    --sv-panel-2: #1B1A1E;
    --sv-text: #FFF8ED;
    --sv-muted: #A8A29A;
    --sv-gold-1: #F0CF78;
    --sv-gold-2: #DDB24E;
    --sv-gold-3: #C99532;
    --sv-border: rgba(240, 207, 120, .22);
    --sv-shell: 1380px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    padding: 0;
    background: var(--sv-bg);
    color: var(--sv-text);
    font-family: Manrope, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

/* The theme deliberately adds no header spacing. Your pasted header controls its own dimensions. */
.starview-site-main { margin: 0; padding: 0; min-height: 1px; }
.starview-site-main > .elementor,
.starview-site-main > .elementor-location-single,
.starview-site-main > .elementor-location-archive { margin-top: 0 !important; padding-top: 0 !important; }

.starview-skip-link {
    position: fixed;
    left: 12px;
    top: -80px;
    z-index: 999999;
    padding: 10px 14px;
    background: var(--sv-gold-1);
    color: #111014;
    border-radius: 8px;
}
.starview-skip-link:focus { top: 12px; }

/* Lightweight fallback footer. Custom HTML/Elementor footers are not constrained by this. */
.starview-site-footer {
    background: #0D0C0F;
    border-top: 1px solid rgba(255,255,255,.06);
}
.starview-site-footer__inner {
    width: min(calc(100% - 40px), var(--sv-shell));
    margin: 0 auto;
    padding: 44px 0;
    display: grid;
    gap: 20px;
}
.starview-site-footer .custom-logo { width: auto; max-height: 55px; }
.starview-footer-menu { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:18px 26px; }
.starview-footer-menu a,
.starview-site-footer small { color: var(--sv-muted); font-size: 12px; }
.starview-custom-html-footer { width: 100%; margin: 0; padding: 0; }

/* Classic/non-Elementor content only. */
.starview-content-shell {
    width: min(calc(100% - 40px), var(--sv-shell));
    margin: 0 auto;
    padding: 56px 0 72px;
}
.starview-entry { padding: 30px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.starview-entry-title { margin: 0 0 16px; font-size: clamp(28px, 4vw, 52px); line-height: 1.05; }
.starview-entry-content { color: #D9D2C8; line-height: 1.8; }
.starview-entry-content a { color: var(--sv-gold-1); }
.starview-archive-header { margin-bottom: 28px; }
.starview-archive-header h1 { margin: 0; font-size: clamp(34px, 5vw, 68px); }

.starview-eyebrow {
    color: var(--sv-gold-1);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.starview-button {
    min-height: 52px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--sv-gold-1), var(--sv-gold-2) 55%, var(--sv-gold-3));
    color: #111014 !important;
    border: 1px solid #F6D989;
    border-radius: 13px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
    transition: transform .18s ease, box-shadow .18s ease;
}
.starview-button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(221,178,78,.16); }

/* Elementor receives the full viewport width with no theme padding. */
.elementor-page .starview-site-main,
.elementor-page .starview-content-shell { width: 100%; max-width: none; margin: 0; padding: 0; }
.starview-elementor-footer { width: 100%; margin: 0; padding: 0; }

@media (max-width: 640px) {
    .starview-site-footer__inner,
    .starview-content-shell { width: min(calc(100% - 28px), var(--sv-shell)); }
}

/* Starview Lite 1.4 — layout stability + rendering cost reductions. */
.starview-site-footer,
.starview-custom-html-footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 520px;
}

/* The ARK project slider is populated after page load. Reserve its final footprint
   immediately so the content below does not jump by hundreds of pixels. */
.ark-home-project-slider .ark-home-project-stage {
    min-height: 620px;
}
.ark-home-project-slider .ark-home-project-loading {
    min-height: 620px;
}
@media (max-width: 1024px) {
    .ark-home-project-slider .ark-home-project-stage,
    .ark-home-project-slider .ark-home-project-loading { min-height: 680px; }
}
@media (max-width: 767px) {
    .ark-home-project-slider .ark-home-project-stage,
    .ark-home-project-slider .ark-home-project-loading { min-height: 720px; }
}

/* Keyboard and reduced-motion defaults improve accessibility without changing design. */
:where(a,button,input,select,textarea,[tabindex]):focus-visible {
    outline: 2px solid #F0CF78;
    outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
