/* Landing page styles extracted from Index.cshtml */
* { margin:0; padding:0; box-sizing:border-box; }
:root { --primary-color:#2E5C3E; --secondary-color:#4A7C59; --accent-color:#6B9B7A; --light-green:#E8F5E8; --background-color:#F8FDF8; --text-dark:#1A3A1A; --text-medium:#2E5C3E; --white:#FFFFFF; --shadow:0 4px 20px rgba(46,92,62,0.1); --border-radius:12px; }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height:1.6; color:var(--text-dark); background-color:var(--background-color); }
.container{ max-width:1200px; margin:0 auto; padding:0 20px; }
.header{ background:var(--white); box-shadow:var(--shadow); position:fixed; top:0; left:0; right:0; z-index:1000; }
.nav{ display:flex; justify-content:space-between; align-items:center; padding:1rem 0; }
.logo{ display:flex; align-items:center; gap:0.5rem; font-size:1.5rem; font-weight:700; color:var(--primary-color); text-decoration:none; }
.nav-links{ display:flex; list-style:none; gap:2rem; align-items:center; }
.nav-links a{ text-decoration:none; color:var(--text-medium); font-weight:500; }
.login-btn{ background:var(--primary-color); color:var(--white); padding:0.75rem 1.5rem; border-radius:var(--border-radius); text-decoration:none; font-weight:600; }
.hero{ position:relative; overflow:hidden; isolation:isolate; background:linear-gradient(135deg,var(--light-green) 0%,var(--background-color) 100%); padding:120px 0 80px; text-align:center; }
.hero__bg{ position:absolute; inset:0; background-image:url('/images/background.png'); background-size:cover; background-position:center bottom; background-repeat:no-repeat; z-index:0; }
.hero__mask{ position:absolute; inset:0; z-index:1; pointer-events:none; display:block; }
.hero-content{ position:relative; z-index:2; max-width:800px; margin:0 auto; }
.hero h1{ font-size:3.5rem; font-weight:700; color:var(--primary-color); margin-bottom:1.5rem; line-height:1.2; }
.hero p{ font-size:1.25rem; color:var(--text-medium); margin-bottom:2.5rem; max-width:600px; margin-left:auto; margin-right:auto; }
.cta-buttons{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.btn-primary{ background:var(--primary-color); color:var(--white); padding:1rem 2rem; border-radius:var(--border-radius); text-decoration:none; font-weight:600; font-size:1.1rem; border:none; cursor:pointer; }
.btn-secondary{ background:transparent; color:var(--primary-color); padding:1rem 2rem; border:2px solid var(--primary-color); border-radius:var(--border-radius); text-decoration:none; font-weight:600; }
.features{ padding:80px 0; background:var(--white); }
.section-title{ text-align:center; margin-bottom:3rem; }
.section-title h2{ font-size:2.5rem; color:var(--primary-color); margin-bottom:1rem; font-weight:700; }
.features-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2rem; margin-top:3rem; }
.feature-card{ background:var(--light-green); padding:2.5rem; border-radius:var(--border-radius); text-align:center; transition:all 0.3s ease; border:1px solid rgba(46,92,62,0.1); }
.feature-icon{ width:80px; height:80px; background:var(--primary-color); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; color:var(--white); font-size:2rem; }
.feature-card h3{ font-size:1.5rem; color:var(--primary-color); margin-bottom:1rem; font-weight:600; }
.feature-card p{ color:var(--text-medium); line-height:1.6; }
.landing-video-promo{ display:grid; grid-template-columns:minmax(320px, 1.05fr) minmax(280px, 0.95fr); gap:2rem; align-items:center; margin-top:3rem; }
.landing-video-thumb{ position:relative; display:block; overflow:hidden; border-radius:20px; box-shadow:0 18px 44px rgba(46,92,62,0.14); background:#dfece1; text-decoration:none; }
.landing-video-thumb img{ display:block; width:100%; height:auto; }
.landing-video-thumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(26,58,26,0.03), rgba(26,58,26,0.24)); }
.landing-video-play{ position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:86px; height:86px; border-radius:50%; background:rgba(255,255,255,0.94); color:var(--primary-color); display:flex; align-items:center; justify-content:center; font-size:2rem; box-shadow:0 10px 30px rgba(0,0,0,0.16); z-index:1; }
.landing-video-copy{ text-align:left; }
.landing-video-kicker{ display:inline-block; margin-bottom:0.75rem; padding:0.35rem 0.75rem; border-radius:999px; background:#e0efe3; color:var(--primary-color); font-size:0.82rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; }
.landing-video-copy h3{ font-size:2rem; line-height:1.2; color:var(--primary-color); margin-bottom:1rem; }
.landing-video-copy p{ color:var(--text-medium); font-size:1.05rem; }
.landing-video-actions{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.5rem; }
.landing-video-note{ margin-top:1rem; font-size:0.92rem; color:#5f6f63; }
.modal{ display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:2000; backdrop-filter:blur(5px); }
.modal.active{ display:flex; align-items:center; justify-content:center; }
.modal-content{ background:var(--white); padding:3rem; border-radius:var(--border-radius); width:90%; max-width:450px; position:relative; box-shadow:0 20px 60px rgba(0,0,0,0.2); }
.modal-close{ position:absolute; top:1rem; right:1rem; background:none; border:none; font-size:1.5rem; color:var(--text-medium); cursor:pointer; padding:0.5rem; border-radius:50%; }
.login-form h2{ text-align:center; color:var(--primary-color); margin-bottom:2rem; font-size:2rem; font-weight:700; }
.form-group{ margin-bottom:1.5rem; }
.form-group label{ display:block; margin-bottom:0.5rem; color:var(--text-medium); font-weight:500; }
.form-group input{ width:100%; padding:1rem; border:2px solid var(--light-green); border-radius:var(--border-radius); font-size:1rem; background:var(--background-color); }
.form-options{ display:flex; justify-content:space-between; align-items:center; margin-bottom:2rem; font-size:0.9rem; }
.remember-me{ display:flex; align-items:center; gap:0.5rem; color:var(--text-medium); }
.forgot-password{ color:var(--primary-color); text-decoration:none; }
.login-submit{ width:100%; margin-bottom:1.5rem; }
.signup-link{ text-align:center; color:var(--text-medium); }
.stats{ background:var(--primary-color); color:var(--white); padding:60px 0; }
.stats-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:2rem; text-align:center; }
.stat-item h3{ font-size:3rem; font-weight:700; margin-bottom:0.5rem; }
.alert{ padding:1rem; margin-bottom:1rem; border-radius:var(--border-radius); font-weight:500; }
.alert-danger{ background-color:#f8d7da; border:1px solid #f5c6cb; color:#721c24; }
.alert-success{ background-color:#d4edda; border:1px solid #c3e6cb; color:#155724; }

/* Dashboard landing for authenticated users */
.dashboard-landing {
    padding: 120px 20px 60px;
    max-width: 1200px;
    margin: 0 auto;
}

.dashboard-panel {
    background: var(--white);
    border-radius: var(--border-radius);
    padding: 28px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(46,92,62,0.06);
    text-align: left;
}

.dashboard-panel h1 {
    margin-bottom: 8px;
    color: var(--primary-color);
    font-size: 2rem;
}

.dashboard-panel p {
    color: var(--text-medium);
    font-size: 1rem;
}

.dashboard-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.link-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 22px;
    text-decoration: none;
    background: var(--white);
    border-radius: 12px;
    border: 1px solid rgba(46,92,62,0.06);
    box-shadow: 0 8px 30px rgba(46,92,62,0.04);
    color: var(--text-dark);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.link-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(46,92,62,0.08);
}

.link-icon {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    background: var(--primary-color);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.link-card h3 {
    margin: 0;
    font-size: 1.25rem;
    color: var(--primary-color);
}

.link-card p {
    margin: 0;
    color: var(--text-medium);
    font-size: 0.95rem;
}

.pw-card.pw-estate-warning {
    background: #fff9db;
    border-color: #f1d36f;
}

.pw-card.pw-estate-danger {
    background: #f8d7da;
    border-color: #f1aeb5;
}

@media (max-width: 768px) {
    .nav-links{ display:none; }
    .hero h1{ font-size:2.5rem; }
    .hero p{ font-size:1.1rem; }
    .cta-buttons{ flex-direction:column; align-items:center; }
    .modal-content{ padding:2rem; margin:1rem; }
    .features-grid{ grid-template-columns:1fr; }
    .stats-grid{ grid-template-columns:repeat(2,1fr); }
    .landing-video-promo{ grid-template-columns:1fr; }
    .landing-video-copy{ text-align:center; }
    .landing-video-actions{ justify-content:center; }
    .hero__mask{ display:none; }
}

@media (max-width: 480px) {
    .hero h1{ font-size:2rem; }
    .section-title h2{ font-size:2rem; }
    .stats-grid{ grid-template-columns:1fr; }
    .landing-video-play{ width:72px; height:72px; font-size:1.6rem; }
    .landing-video-copy h3{ font-size:1.6rem; }
}

@media (max-width: 900px) {
    .dashboard-links { grid-template-columns: 1fr; }
    .dashboard-landing { padding: 100px 16px 40px; }
}

@media (hover: none) {
    .hero__mask{ display:none; }
}
