/*
Theme Name: Flux & Fire Studio
Theme URI: https://fluxandfire.studio
Author: OpenAI
Description: A custom starter theme for Flux & Fire Studio with a full-screen hero, bottom navigation, sticky header on scroll, and portfolio section.
Version: 1.0.1
Requires at least: 6.0
Tested up to: 6.5
Text Domain: flux-fire-studio
*/

@font-face {
    font-family: 'Become';
    src: url('assets/fonts/Become.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root{
    --ff-bg:#333138;
    --ff-flux:#258ea6;
    --ff-fire:#e28665;
    --ff-gold:#e2b524;
    --ff-light:#e9e4d6;
    --ff-dark:#222127;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:var(--ff-bg);
    color:#fff;
    font-family: Arial, Helvetica, sans-serif;
}
a{color:inherit;text-decoration:none}

.site-header{
    position:fixed;
    top:0; left:0; right:0;
    z-index:999;
    transform:translateY(-100%);
    transition:transform .3s ease;
    background:rgba(51,49,56,.92);
    backdrop-filter: blur(8px);
    border-bottom:1px solid rgba(255,255,255,.08);
}
.site-header.is-visible{transform:translateY(0)}
.site-header__inner{
    max-width:1400px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 22px;
}
.site-branding{
    font-family:'Become', Arial, sans-serif;
    text-transform:uppercase;
    line-height:.9;
    letter-spacing:.04em;
    font-size:24px;
}
.site-branding small{
    display:block;
    font-size:11px;
    letter-spacing:.18em;
}
.primary-nav ul,
.hero-nav ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    gap:18px;
    align-items:center;
    flex-wrap:wrap;
}
.primary-nav a,
.hero-nav a{
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ff-hero{
    min-height:100vh;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:100px 24px 120px;
    background:
      radial-gradient(circle at 15% 20%, rgba(37,142,166,.18), transparent 35%),
      radial-gradient(circle at 85% 70%, rgba(226,181,36,.10), transparent 28%),
      linear-gradient(180deg, #3a3840 0%, var(--ff-bg) 100%);
}
.ff-hero::before{
    content:"";
    position:absolute; inset:0;
    background-image: linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
    background-size:40px 40px;
    opacity:.16;
    pointer-events:none;
}
.ff-hero__inner{
    position:relative;
    z-index:2;
    width:min(1300px, 100%);
}
.ff-logo-top{
    text-align:center;
    margin-bottom:36px;
    font-family:'Become', Arial, sans-serif;
    text-transform:uppercase;
    line-height:.85;
    letter-spacing:.03em;
    font-size:42px;
}
.ff-logo-top small{
    display:block;
    font-size:12px;
    letter-spacing:.18em;
    margin-top:2px;
}
.ff-kicker{
    margin:0 0 12px;
    text-align:center;
    color:var(--ff-flux);
    font-family:'Become', Arial, sans-serif;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-size:clamp(22px, 3vw, 56px);
}
.ff-title{
    margin:0;
    text-align:center;
    font-family:'Become', Arial, sans-serif;
    text-transform:uppercase;
    line-height:.9;
    letter-spacing:.03em;
    font-size:clamp(56px, 12vw, 180px);
    color:#f0a53b;
    text-wrap:balance;
}
.ff-title .studio{
    display:block;
    color:var(--ff-fire);
    font-size:.62em;
    margin-top:.06em;
}
.hero-nav-wrap{
    position:absolute;
    left:24px;
    right:24px;
    bottom:26px;
    z-index:3;
    display:flex;
    justify-content:center;
}
.hero-nav{
    width:min(820px, 100%);
    background:var(--ff-light);
    color:#17161a;
    border-radius:999px;
    padding:10px 18px;
    box-shadow:0 8px 30px rgba(0,0,0,.18);
}
.hero-nav .home-pill{
    background:var(--ff-flux);
    color:#fff;
    padding:4px 10px;
    border-radius:999px;
}

.ff-section{
    padding:90px 24px;
}
.ff-section--light{
    background:#f5f2ec;
    color:#17161a;
}
.ff-section__inner{
    width:min(1280px, 100%);
    margin:0 auto;
}
.ff-section h2{
    font-family:'Become', Arial, sans-serif;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:clamp(30px, 5vw, 72px);
    margin:0 0 24px;
}
.ff-intro{
    max-width:780px;
    font-size:18px;
    line-height:1.7;
    opacity:.85;
}
.ff-project-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    margin-top:36px;
}
.ff-card{
    background:#fff;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 14px 44px rgba(0,0,0,.08);
    transition:transform .24s ease, box-shadow .24s ease;
}
.ff-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(0,0,0,.12);
}
.ff-card__media{
    aspect-ratio:16/10;
    background:linear-gradient(135deg, var(--ff-flux), var(--ff-fire));
}
.ff-card__body{
    padding:22px;
}
.ff-card__title{
    margin:0 0 10px;
    font-weight:800;
    font-size:22px;
}
.ff-card__meta{
    margin:0;
    font-size:14px;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.65;
}

.ff-cta{
    text-align:center;
    background:linear-gradient(180deg, #2e2c33 0%, #25242b 100%);
}
.ff-cta p{
    max-width:740px;
    margin:0 auto 24px;
    font-size:19px;
    line-height:1.7;
    opacity:.88;
}
.ff-button{
    display:inline-block;
    background:var(--ff-flux);
    color:#fff;
    padding:14px 24px;
    border-radius:999px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    font-size:13px;
}

.site-footer{
    padding:26px 24px 40px;
    text-align:center;
    color:rgba(255,255,255,.72);
    font-size:14px;
}

@media (max-width: 900px){
    .ff-project-grid{grid-template-columns:1fr}
    .site-header__inner{padding:14px 16px}
    .ff-logo-top{font-size:30px}
    .ff-kicker{font-size:20px}
    .hero-nav-wrap{left:16px; right:16px; bottom:18px}
    .hero-nav{padding:10px 14px}
    .hero-nav ul{gap:10px}
}
