
/* =====================================================
   FOGECRAFTSX
   MAIN LANDING PAGE
===================================================== */

:root {
    --bg: #080808;
    --bg-light: #101010;
    --panel: #111111;
    --panel-2: #151515;

    --text: #f5f5f5;
    --muted: #858585;
    --muted-light: #ababab;

    --accent: #d18a3a;
    --accent-light: #e6a050;

    --border: rgba(255,255,255,0.09);

    --max-width: 1180px;
}


/* =====================================================
   RESET
===================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    background: var(--bg);
    color: var(--text);

    line-height: 1.5;

    overflow-x: hidden;
}

button,
a {
    font: inherit;
}

button {
    border: none;
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
}


/* =====================================================
   NAVBAR
===================================================== */

.navbar {
    height: 76px;

    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 5%;

    background:
        rgba(8,8,8,0.72);

    backdrop-filter: blur(18px);

    border-bottom:
        1px solid var(--border);

    z-index: 1000;
}

.logo {
    font-size: 23px;
    font-weight: 800;

    letter-spacing: -1px;
}

.logo span {
    color: var(--accent);
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 35px;
}

.nav-links a {
    color: var(--muted);

    font-size: 14px;

    transition:
        color .25s ease;
}

.nav-links a:hover {
    color: white;
}

.launch-btn {
    display: flex;
    align-items: center;
    gap: 9px;

    padding: 11px 19px;

    border-radius: 7px;

    background: white;
    color: #080808;

    font-size: 13px;
    font-weight: 700;

    transition:
        transform .25s ease,
        background .25s ease;
}

.launch-btn:hover {
    transform: translateY(-2px);
    background: #e8e8e8;
}


/* =====================================================
   HERO
===================================================== */

.hero {
    min-height: 850px;

    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    padding:
        160px 20px
        100px;

    text-align: center;

    overflow: hidden;
}

.hero-grid {
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size: 65px 65px;

    mask-image:
        linear-gradient(
            to bottom,
            black,
            transparent 85%
        );
}

.hero-glow {
    position: absolute;

    width: 700px;
    height: 700px;

    top: 50%;
    left: 50%;

    transform:
        translate(-50%, -55%);

    background:
        radial-gradient(
            circle,
            rgba(209,138,58,.15),
            transparent 65%
        );

    pointer-events: none;
}

.hero-content {
    position: relative;
    z-index: 2;

    max-width: 900px;
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 8px 14px;

    border:
        1px solid var(--border);

    background:
        rgba(255,255,255,.035);

    border-radius: 100px;

    color: #aaa;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.5px;

    margin-bottom: 28px;
}

.badge-dot {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--accent);

    box-shadow:
        0 0 10px
        rgba(209,138,58,.7);
}

.hero h1 {
    font-size:
        clamp(58px, 8.5vw, 110px);

    line-height: .91;

    letter-spacing: -6px;

    font-weight: 800;

    margin-bottom: 32px;
}

.hero h1 span {
    color: var(--accent);
}

.hero p {
    max-width: 650px;

    margin:
        0 auto
        38px;

    color: var(--muted);

    font-size: 17px;

    line-height: 1.75;
}

.hero-actions {
    display: flex;
    justify-content: center;
    gap: 12px;

    flex-wrap: wrap;
}

.primary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;

    padding: 15px 25px;

    border-radius: 7px;

    background: var(--accent);
    color: white;

    font-size: 14px;
    font-weight: 700;

    transition:
        transform .25s ease,
        background .25s ease;
}

.primary-btn:hover {
    background: var(--accent-light);
    transform: translateY(-2px);
}

.secondary-btn {
    display: inline-flex;
    align-items: center;

    padding: 15px 25px;

    border:
        1px solid var(--border);

    border-radius: 7px;

    color: #ccc;

    font-size: 14px;

    transition:
        background .25s ease,
        border-color .25s ease;
}

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

    border-color:
        rgba(255,255,255,.18);
}

.hero-note {
    margin-top: 25px;

    color: #555;

    font-size: 11px;
}


/* =====================================================
   PREVIEW
===================================================== */

.preview-section {
    max-width: 1250px;

    margin:
        0 auto;

    padding:
        0 30px
        130px;
}

.preview-window {
    border:
        1px solid var(--border);

    border-radius: 13px;

    overflow: hidden;

    background: #0d0d0d;

    box-shadow:
        0 40px 100px
        rgba(0,0,0,.65);
}

.window-top {
    height: 46px;

    display: flex;
    align-items: center;

    padding: 0 16px;

    background: #141414;

    border-bottom:
        1px solid var(--border);
}

.window-dots {
    display: flex;
    gap: 7px;

    width: 33%;
}

.window-dots span {
    width: 9px;
    height: 9px;

    border-radius: 50%;

    background: #3b3b3b;
}

.window-title {
    width: 34%;

    text-align: center;

    color: #777;

    font-size: 11px;
}

.window-status {
    width: 33%;

    text-align: right;

    color: #555;

    font-size: 9px;
    letter-spacing: 1px;
}

.app-preview {
    display: grid;

    grid-template-columns:
        220px 1fr;

    min-height: 510px;
}

.preview-sidebar {
    padding: 27px 17px;

    background: #0c0c0c;

    border-right:
        1px solid var(--border);
}

.preview-brand {
    padding:
        0 10px
        22px;

    font-size: 15px;
    font-weight: 700;
}

.sidebar-section {
    margin:
        19px 10px
        8px;

    color: #4d4d4d;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.5px;
}

.sidebar-item {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 10px;

    margin-bottom: 3px;

    border-radius: 5px;

    color: #686868;

    font-size: 12px;
}

.sidebar-item span {
    width: 15px;

    text-align: center;

    color: #555;
}

.sidebar-item.active {
    color: white;

    background: #1b1b1b;
}

.sidebar-item.active span {
    color: var(--accent);
}

.preview-workspace {
    padding: 30px;
}

.workspace-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 25px;
}

.workspace-label {
    color: #555;

    font-size: 9px;

    letter-spacing: 1.5px;

    margin-bottom: 4px;
}

.workspace-header h3 {
    font-size: 18px;
}

.optimize-button {
    padding: 9px 15px;

    background: var(--accent);

    border-radius: 5px;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .5px;
}

.workspace-layout {
    display: grid;

    grid-template-columns:
        1fr 150px;

    gap: 20px;
}

.sheet {
    position: relative;

    min-height: 350px;

    padding: 18px;

    background: #d5cdbd;

    display: grid;

    grid-template-columns:
        1fr .8fr 1.15fr;

    grid-template-rows:
        1fr .65fr;

    gap: 7px;
}

.sheet-label {
    position: absolute;

    top: 5px;
    right: 8px;

    color: #6d6659;

    font-size: 8px;
}

.part {
    display: flex;
    align-items: center;
    justify-content: center;

    background: #b2a68d;

    border:
        2px solid #796e59;

    color: #373126;

    font-size: 9px;

    font-weight: 800;
}

.part-a {
    grid-row: span 2;
}

.part-f {
    grid-column: span 2;
}

.stats-panel {
    display: flex;

    flex-direction: column;

    gap: 8px;
}

.stat {
    display: flex;

    justify-content: space-between;
    align-items: center;

    padding: 15px;

    background: #151515;

    border:
        1px solid var(--border);

    border-radius: 6px;
}

.stat span {
    color: #555;

    font-size: 8px;

    letter-spacing: 1px;
}

.stat strong {
    font-size: 14px;
}


/* =====================================================
   SECTIONS
===================================================== */

.section {
    max-width: var(--max-width);

    margin: auto;

    padding:
        130px 30px;
}

.section-heading {
    max-width: 680px;

    margin-bottom: 60px;
}

.section-eyebrow {
    color: var(--accent);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 2px;
}

.section-heading h2 {
    margin:
        14px 0
        18px;

    font-size:
        clamp(38px, 5vw, 65px);

    line-height: .98;

    letter-spacing: -3px;
}

.section-heading p {
    color: var(--muted);

    font-size: 15px;

    line-height: 1.75;
}


/* =====================================================
   FEATURES
===================================================== */

.features-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;
}

.feature-card {
    position: relative;

    min-height: 270px;

    padding: 30px;

    background:
        linear-gradient(
            145deg,
            #121212,
            #0d0d0d
        );

    border:
        1px solid var(--border);

    border-radius: 9px;

    overflow: hidden;

    transition:
        transform .3s ease,
        border-color .3s ease;
}

.feature-card:hover {
    transform: translateY(-5px);

    border-color:
        rgba(209,138,58,.35);
}

.feature-number {
    position: absolute;

    top: 25px;
    right: 25px;

    color: #292929;

    font-size: 11px;

    font-weight: 800;
}

.feature-icon {
    width: 43px;
    height: 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 30px;

    border-radius: 7px;

    background:
        rgba(209,138,58,.1);

    color: var(--accent);

    font-size: 18px;
}

.feature-card h3 {
    margin-bottom: 12px;

    font-size: 18px;
}

.feature-card p {
    color: #707070;

    font-size: 13px;

    line-height: 1.7;
}


/* =====================================================
   WORKFLOW
===================================================== */

.workflow-section {
    padding:
        130px 30px;

    max-width:
        var(--max-width);

    margin: auto;
}

.centered {
    text-align: center;

    margin-left: auto;
    margin-right: auto;
}

.workflow {
    display: grid;

    grid-template-columns:
        1fr auto 1fr auto 1fr auto 1fr;

    align-items: start;

    gap: 18px;
}

.workflow-step {
    text-align: center;
}

.step-number {
    margin-bottom: 18px;

    color: var(--accent);

    font-size: 11px;

    font-weight: 800;
}

.workflow-step h3 {
    margin-bottom: 9px;

    font-size: 17px;
}

.workflow-step p {
    color: #666;

    font-size: 12px;

    line-height: 1.6;
}

.workflow-line {
    width: 50px;

    height: 1px;

    margin-top: 5px;

    background:
        rgba(255,255,255,.12);
}


/* =====================================================
   ABOUT
===================================================== */

.about-section {
    padding:
        150px 30px;

    border-top:
        1px solid var(--border);

    border-bottom:
        1px solid var(--border);
}

.about-content {
    max-width: var(--max-width);

    margin: auto;
}

.about-content h2 {
    margin:
        15px 0
        25px;

    font-size:
        clamp(40px, 6vw, 72px);

    line-height: .95;

    letter-spacing: -4px;
}

.about-content p {
    max-width: 650px;

    color: #777;

    line-height: 1.8;

    font-size: 15px;
}

.text-button {
    margin-top: 30px;

    display: inline-flex;

    gap: 12px;

    align-items: center;

    background: transparent;

    color: white;

    font-size: 13px;

    font-weight: 700;
}

.text-button span {
    color: var(--accent);

    transition:
        transform .2s ease;
}

.text-button:hover span {
    transform:
        translateX(5px);
}


/* =====================================================
   CTA
===================================================== */

.cta-section {
    position: relative;

    padding:
        170px 30px;

    text-align: center;

    overflow: hidden;
}

.cta-glow {
    position: absolute;

    width: 600px;
    height: 400px;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%);

    background:
        radial-gradient(
            circle,
            rgba(209,138,58,.13),
            transparent 70%
        );
}

.cta-content {
    position: relative;
    z-index: 2;
}

.cta-content h2 {
    margin:
        15px 0
        22px;

    font-size:
        clamp(45px, 7vw, 82px);

    line-height: .92;

    letter-spacing: -4px;
}

.cta-content p {
    color: #707070;

    margin-bottom: 30px;
}


/* =====================================================
   FOOTER
===================================================== */

footer {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding:
        30px 5%;

    border-top:
        1px solid var(--border);

    color: #555;

    font-size: 10px;

    letter-spacing: .5px;
}

.footer-logo {
    color: white;

    font-size: 15px;

    font-weight: 800;
}

.footer-logo span {
    color: var(--accent);
}

.footer-tagline {
    letter-spacing: 1.5px;
}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width: 900px) {

    .nav-links {
        display: none;
    }

    .features-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .app-preview {
        grid-template-columns:
            170px 1fr;
    }

    .workspace-layout {
        grid-template-columns: 1fr;
    }

    .stats-panel {
        display: grid;

        grid-template-columns:
            repeat(4, 1fr);
    }

    .workflow {
        grid-template-columns:
            1fr;

        gap: 30px;
    }

    .workflow-line {
        display: none;
    }
}


@media(max-width: 600px) {

    .navbar {
        padding: 0 20px;
    }

    .hero {
        min-height: 720px;
    }

    .hero h1 {
        letter-spacing: -3px;
    }

    .hero p {
        font-size: 15px;
    }

    .preview-section {
        padding:
            0 15px
            80px;
    }

    .app-preview {
        grid-template-columns: 1fr;
    }

    .preview-sidebar {
        display: none;
    }

    .preview-workspace {
        padding: 18px;
    }

    .features-grid {
        grid-template-columns: 1fr;
    }

    .stats-panel {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .section {
        padding:
            90px 20px;
    }

    .workflow-section {
        padding:
            90px 20px;
    }

    .about-section {
        padding:
            100px 20px;
    }

    .about-content h2 {
        letter-spacing: -3px;
    }

    footer {
        flex-direction: column;

        gap: 12px;

        text-align: center;
    }
}

