/* Orbro Pools — provisional brand shell. Clean aquatic palette on the Keen
   baseline. Final Orbro Pools brand assets land at kick-off and replace these
   tokens; the structure stays. */
:root {
    --orbro-deep: #0b3d5c;
    --orbro-water: #1486b8;
    --orbro-aqua: #21bfd4;
    --orbro-ink: #122a36;
    --orbro-mist: #f3f8fb;
    --orbro-line: #d9e6ee;
}

* { box-sizing: border-box; }

.orbro-body {
    margin: 0;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: var(--orbro-ink);
    background: #fff;
    line-height: 1.55;
}

.orbro-container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Header */
.orbro-header {
    border-bottom: 1px solid var(--orbro-line);
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 10;
}
.orbro-header-inner {
    display: flex;
    align-items: center;
    height: 72px;
}
.orbro-brand { text-decoration: none; display: flex; align-items: baseline; gap: 8px; }
.orbro-brand-mark {
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    color: var(--orbro-deep);
}
.orbro-brand-sub {
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--orbro-water);
}

/* Hero */
.orbro-hero {
    background: linear-gradient(135deg, var(--orbro-deep) 0%, var(--orbro-water) 100%);
    color: #fff;
    padding: 96px 0 104px;
}
.orbro-hero h1 {
    font-size: clamp(2.1rem, 4.5vw, 3.4rem);
    font-weight: 700;
    margin: 0 0 18px;
    max-width: 760px;
    line-height: 1.15;
}
.orbro-hero p.lead {
    font-size: 1.2rem;
    max-width: 620px;
    margin: 0 0 32px;
    color: rgba(255, 255, 255, 0.92);
}
.orbro-eyebrow {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--orbro-aqua);
    margin-bottom: 18px;
}

/* Sections */
.orbro-section { padding: 80px 0; }
.orbro-section--mist { background: var(--orbro-mist); }
.orbro-section h2 {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    color: var(--orbro-deep);
    margin: 0 0 12px;
}
.orbro-section .section-intro {
    color: #4a6573;
    max-width: 640px;
    margin: 0 0 44px;
    font-size: 1.08rem;
}

/* Feature cards */
.orbro-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}
.orbro-card {
    background: #fff;
    border: 1px solid var(--orbro-line);
    border-radius: 14px;
    padding: 30px 28px;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.orbro-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 38px rgba(11, 61, 92, 0.12);
}
.orbro-card .card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--orbro-mist);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}
.orbro-card .card-icon i { font-size: 1.5rem; color: var(--orbro-water); }
.orbro-card h3 { font-size: 1.18rem; font-weight: 600; margin: 0 0 8px; color: var(--orbro-ink); }
.orbro-card p { margin: 0; color: #54707d; font-size: 0.98rem; }

/* Divisions strip */
.orbro-divisions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}
.orbro-division {
    border-left: 4px solid var(--orbro-aqua);
    padding: 6px 0 6px 18px;
}
.orbro-division strong { display: block; color: var(--orbro-deep); font-size: 1.1rem; }
.orbro-division span { color: #5a7480; font-size: 0.96rem; }

/* Footer */
.orbro-footer {
    background: var(--orbro-ink);
    color: rgba(255, 255, 255, 0.78);
    padding: 28px 0;
    font-size: 0.92rem;
}
.orbro-footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.orbro-footer-links a { color: rgba(255, 255, 255, 0.78); text-decoration: none; }
.orbro-footer-links a:hover { color: #fff; }
