/* 
   Linear-Inspired Style Overlay for shawnstudio.org
   Focus: High-end developer aesthetic, precision typography, and dark-mode depth.
*/

:root {
    /* Backgrounds */
    --bg-marketing: #08090a;
    --bg-panel: #0f1011;
    --bg-surface: #191a1b;
    
    /* Text */
    --text-primary: #ffffff;
    --text-secondary: #d0d6e0;
    --text-tertiary: #8a8f98;
    --text-muted: #62666d;
    
    /* Brand Accent */
    --brand-indigo: #5e6ad2;
    --brand-accent: #7170ff;
    --brand-hover: #828fff;
    
    /* Borders */
    --border-standard: rgba(255,255,255,0.08);
    --border-subtle: rgba(255,255,255,0.05);
}

body {
    background-color: var(--bg-marketing);
    color: var(--text-secondary);
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    /* Linear's signature geometric alternates */
    font-feature-settings: "cv01", "ss03";
    -webkit-font-smoothing: antialiased;
}

/* Headlines: Engineered and Compressed */
h1, h2, h3 {
    color: var(--text-primary);
    font-weight: 510; /* Linear's signature weight */
    letter-spacing: -0.022em;
}

h1 { font-size: 48px; letter-spacing: -0.033em; }
h2 { font-size: 32px; letter-spacing: -0.022em; }

/* Service Cards: Luminous and Translucent */
.service-card, .card {
    background: rgba(255,255,255,0.02);
    border: 1px solid var(--border-standard);
    border-radius: 8px;
    padding: 24px;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.service-card:hover {
    background: rgba(255,255,255,0.04);
    border-color: rgba(255,255,255,0.12);
}

/* Primary CTA: High-Contrast Indigo */
.btn-primary, .cta-button {
    background-color: var(--brand-indigo);
    color: #ffffff;
    border-radius: 6px;
    font-weight: 510;
    padding: 10px 20px;
    border: none;
    transition: background-color 0.2s ease;
}

.btn-primary:hover {
    background-color: var(--brand-hover);
}

/* Secondary CTA: Ghostly and Transparent */
.btn-secondary, .btn-outline {
    background: rgba(255,255,255,0.02);
    border: 1px solid var(--border-standard);
    color: var(--text-primary);
    border-radius: 6px;
    font-weight: 510;
    padding: 10px 20px;
}

.btn-secondary:hover {
    background: rgba(255,255,255,0.05);
}

/* Navigation: Professional and Understated */
nav a {
    color: var(--text-tertiary);
    font-size: 14px;
    font-weight: 510;
    text-decoration: none;
    transition: color 0.2s ease;
}

nav a:hover, nav a.active {
    color: var(--text-primary);
}
