:root {
    --primary: #123C35;
    --primary-secondary: #1F5A50;
    --accent-gold: #C9A45C;
    --background: #F7F4EC;
    --surface: #FFFFFF;
    --text: #17211F;
    --soft-surface: #EAF1ED;
}

.ss-site {
    color: var(--text);
    background-color: var(--background);
}

.ss-site h1,
.ss-site h2,
.ss-site h3 {
    letter-spacing: -0.02em;
}

.ss-site h1 {
    font-weight: 700;
    line-height: 1.15;
}

.ss-site h2,
.ss-site h3 {
    font-weight: 600;
    line-height: 1.25;
}

/* Header — emerald field, gold hairline, quieter shadow */
.ss-site > header {
    border-bottom: 1px solid rgba(201, 164, 92, 0.32);
    box-shadow: 0 10px 28px rgba(18, 60, 53, 0.16);
}

.ss-site > header nav a {
    font-weight: 500;
}

.ss-site > header picture img {
    filter: drop-shadow(0 1px 0 rgba(201, 164, 92, 0.55));
}

.ss-site > header [aria-label="Menu"],
.ss-site > header [aria-label="Login"],
.ss-site > header [aria-label="Account"] {
    border-color: rgba(201, 164, 92, 0.38);
    color: #fff;
}

/* Hero — restrained concentric geometry, no symbols */
.ss-site main > section:first-child.bg-navy {
    position: relative;
    overflow: hidden;
}

.ss-site main > section:first-child.bg-navy::before,
.ss-site main > section:first-child.bg-navy::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    z-index: 1;
}

.ss-site main > section:first-child.bg-navy::before {
    right: -12%;
    top: -28%;
    width: min(58vw, 460px);
    height: min(58vw, 460px);
    border: 1px solid rgba(201, 164, 92, 0.16);
    box-shadow:
        0 0 0 26px rgba(201, 164, 92, 0.045),
        0 0 0 52px rgba(201, 164, 92, 0.03);
}

.ss-site main > section:first-child.bg-navy::after {
    left: -8%;
    bottom: -34%;
    width: min(42vw, 280px);
    height: min(42vw, 280px);
    border: 1px solid rgba(234, 241, 237, 0.08);
}

.ss-site main > section:first-child.bg-navy > .absolute {
    z-index: 0;
}

.ss-site main > section:first-child.bg-navy > .relative,
.ss-site main > section:first-child.bg-navy > .max-w-7xl {
    position: relative;
    z-index: 2;
}

.ss-site main > section:first-child h1 {
    margin-bottom: 0.85rem;
}

.ss-site main > section:first-child nav.text-sm {
    letter-spacing: 0.02em;
    margin-bottom: 1rem;
    color: rgba(247, 244, 236, 0.72);
}

/* Search — white surface, emerald primary action, gold hairline */
.ss-site [data-ss-search] {
    border: 1px solid rgba(201, 164, 92, 0.22);
}

.ss-site [data-ss-search].shadow-xl {
    box-shadow: 0 16px 40px rgba(18, 60, 53, 0.14);
}

.ss-site [data-ss-search] input[type="search"] {
    border-color: var(--soft-surface);
    color: var(--text);
}

.ss-site [data-ss-search] input[type="search"]:focus {
    border-color: rgba(201, 164, 92, 0.55);
    box-shadow: 0 0 0 3px rgba(201, 164, 92, 0.16);
}

.ss-site [data-ss-voice] {
    color: var(--primary-secondary);
    border-color: var(--soft-surface);
}

.ss-site [data-ss-search] button[type="submit"],
.ss-site #find-rent button[type="submit"],
.ss-site form button[type="submit"].bg-gold,
.ss-site a.bg-gold {
    background-color: var(--primary);
    color: #fff;
    font-weight: 600;
    box-shadow: inset 0 0 0 1px rgba(201, 164, 92, 0.42);
}

.ss-site [data-ss-search] button[type="submit"]:hover,
.ss-site #find-rent button[type="submit"]:hover,
.ss-site form button[type="submit"].bg-gold:hover,
.ss-site a.bg-gold:hover {
    background-color: var(--primary-secondary);
    color: #fff;
}

.ss-site form.bg-white.rounded-xl.border {
    border-color: rgba(18, 60, 53, 0.08);
    box-shadow: 0 12px 32px rgba(18, 60, 53, 0.05);
}

.ss-site form.bg-white.rounded-xl.border input,
.ss-site form.bg-white.rounded-xl.border select {
    border-color: var(--soft-surface);
    color: var(--text);
    border-radius: 0.65rem;
}

.ss-site form.bg-white.rounded-xl.border input:focus,
.ss-site form.bg-white.rounded-xl.border select:focus {
    outline: 2px solid rgba(201, 164, 92, 0.35);
    outline-offset: 1px;
    border-color: rgba(201, 164, 92, 0.45);
}

/* Cards — premium, not ornate */
.ss-site article.bg-white,
.ss-site a.group.bg-white.rounded-xl {
    border-color: rgba(18, 60, 53, 0.08);
    border-radius: 1rem;
    box-shadow: 0 10px 28px rgba(18, 60, 53, 0.05);
}

.ss-site article.bg-white:hover,
.ss-site a.group.bg-white.rounded-xl:hover {
    box-shadow: 0 16px 36px rgba(18, 60, 53, 0.09);
    border-color: rgba(201, 164, 92, 0.28);
}

.ss-site article.bg-white .text-gold.font-bold {
    letter-spacing: -0.01em;
}

.ss-site article.bg-white a.bg-navy,
.ss-site article.bg-white a.bg-navy:hover {
    background-color: var(--primary);
}

.ss-site article.bg-white a.border {
    border-color: rgba(31, 90, 80, 0.28);
    color: var(--primary-secondary);
}

.ss-site footer {
    border-top: 1px solid rgba(201, 164, 92, 0.22);
}

@media (max-width: 767px) {
    .ss-site main > section:first-child h1 {
        line-height: 1.2;
    }

    .ss-site [data-ss-search] button[type="submit"] {
        min-width: 3.25rem;
    }
}
