/* ==========================================================
   SILENT STREAM OF GODLESS ELEGY
   Electronic Press Kit
   ========================================================== */


/* ==========================================================
   RESET
   ========================================================== */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    background:#090b10;

    color:#f1f1f1;

    font-family:"Source Sans 3",sans-serif;

    font-size:18px;

    line-height:1.75;

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

}


/* ==========================================================
   VARIABLES
   ========================================================== */

:root{

    --bg:#090b10;

    --bg2:#12161d;

    --card:#171c24;

    --text:#ededed;

    --muted:#9ca6b3;

    --accent:#d7dde7;

    --border:rgba(255,255,255,.08);

    --shadow:0 20px 60px rgba(0,0,0,.45);

    --radius:14px;

    --container:1200px;

}


/* ==========================================================
   TYPOGRAPHY
   ========================================================== */

h1,
h2,
h3,
h4{

    font-family:"Cormorant Garamond",serif;

    font-weight:700;

    letter-spacing:.04em;

    color:white;

}

h1{

    font-size:clamp(3rem,7vw,6rem);

}

h2{

    font-size:clamp(2rem,5vw,3.4rem);

    margin-bottom:30px;

}

h3{

    font-size:1.3rem;

}

p{

    color:var(--muted);

    margin-bottom:1.3rem;

}

strong{

    color:white;

    font-weight:600;

}

a{

    color:white;

    text-decoration:none;

    transition:.3s;

}

a:hover{

    color:var(--accent);

}


/* ==========================================================
   LAYOUT
   ========================================================== */

.container{

    width:min(92%,var(--container));

    margin:auto;

}

.narrow{

    max-width:900px;

}

.section{

    padding:120px 0;

}

.dark{

    background:var(--bg2);

}


/* ==========================================================
   NAVIGATION
   ========================================================== */

.navbar{

    position:fixed;

    top:0;

    left:0;

    right:0;

    z-index:1000;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:22px 6vw;

    transition:.35s;

}

.navbar.scrolled{

    background:rgba(9,11,16,.95);

    backdrop-filter:blur(12px);

    box-shadow:0 10px 40px rgba(0,0,0,.4);

}

.nav-logo img{

    height:42px;

    display:block;

}

.nav-menu{

    display:flex;

    align-items:center;

    gap:34px;

    list-style:none;

}

.nav-menu a{

    text-transform:uppercase;

    font-size:.9rem;

    letter-spacing:.15em;

}

.menu-toggle{

    display:none;

}


/* ==========================================================
   HERO
   ========================================================== */

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

}

.hero-background{

    position:absolute;

    inset:0;

    background:url("img/ssoge_band_2025_2_web.jpg")
    center center/cover no-repeat;

    transform:scale(1.08);

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:

        linear-gradient(

        rgba(8,10,14,.65),

        rgba(8,10,14,.80)

        );

}

.hero-content{

    position:relative;

    z-index:2;

    text-align:center;

    width:min(90%,1000px);

}

.hero-logo{

    width:min(820px,90%);

    margin:auto;

    display:block;

}

.hero-subtitle{

    margin:50px auto;

    font-size:clamp(1.2rem,2vw,1.8rem);

    color:white;

    letter-spacing:.15em;

    text-transform:uppercase;

}

.hero-subtitle span{

    display:block;

    margin-top:18px;

    color:var(--muted);

    letter-spacing:.3em;

    font-size:.9rem;

}


/* ==========================================================
   BUTTONS
   ========================================================== */

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 38px;

    border-radius:999px;

    text-transform:uppercase;

    letter-spacing:.15em;

    font-size:.82rem;

    transition:.35s;

}

.primary{

    background:white;

    color:black;

}

.primary:hover{

    transform:translateY(-3px);

}

.secondary{

    border:1px solid rgba(255,255,255,.3);

}

.secondary:hover{

    background:white;

    color:black;

}


/* ==========================================================
   SCROLL INDICATOR
   ========================================================== */

.scroll-indicator{

    margin-top:70px;

    font-size:2rem;

    opacity:.7;

    animation:float 2.5s infinite;

}

@keyframes float{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(12px);

}

}
/* ==========================================================
   SECTION HEADER
   ========================================================== */

.section-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin-bottom:60px;
    flex-wrap:wrap;
}

.section-header p{
    margin:0;
    color:var(--muted);
    font-size:1rem;
}


/* ==========================================================
   LANGUAGE SWITCH
   ========================================================== */

.language-switch{
    display:flex;
    gap:12px;
}

.lang-btn{

    background:none;

    border:1px solid rgba(255,255,255,.15);

    color:var(--muted);

    padding:10px 22px;

    border-radius:40px;

    cursor:pointer;

    transition:.3s;

    font-size:.85rem;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.lang-btn:hover{

    color:white;

    border-color:rgba(255,255,255,.35);

}

.lang-btn.active{

    background:white;

    color:#000;

}

.lang-content{

    display:none;

    animation:fade .4s ease;

}

.lang-content.active{

    display:block;

}

@keyframes fade{

    from{

        opacity:0;
        transform:translateY(12px);

    }

    to{

        opacity:1;
        transform:none;

    }

}


/* ==========================================================
   HIGHLIGHTS
   ========================================================== */

.cards{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

}

.card{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:45px 25px;

    text-align:center;

    transition:.35s;

    box-shadow:var(--shadow);

}

.card:hover{

    transform:translateY(-10px);

    border-color:rgba(255,255,255,.15);

}

.number{

    display:block;

    font-family:"Cormorant Garamond",serif;

    font-size:3.5rem;

    color:white;

    margin-bottom:15px;

}

.card h3{

    font-size:1rem;

    letter-spacing:.12em;

    text-transform:uppercase;

}


/* ==========================================================
   PRESS FACTS
   ========================================================== */

.facts-table{

    width:100%;

    border-collapse:collapse;

    margin-top:40px;

}

.facts-table tr{

    border-bottom:1px solid rgba(255,255,255,.08);

}

.facts-table th{

    width:220px;

    text-align:left;

    padding:18px 0;

    color:white;

    font-weight:600;

}

.facts-table td{

    color:var(--muted);

    padding:18px 0;

}


/* ==========================================================
   GALLERY
   ========================================================== */

.gallery-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    grid-auto-rows:320px;

    gap:24px;

}

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:var(--radius);

    cursor:pointer;

    background:#000;

}

.gallery-item:first-child{

    grid-row:span 2;

}

.gallery-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:transform .7s ease;

}

.gallery-item::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        rgba(0,0,0,0),
        rgba(0,0,0,.35)
    );

    opacity:0;

    transition:.35s;

}

.gallery-item:hover img{

    transform:scale(1.05);

}

.gallery-item:hover::after{

    opacity:1;

}


/* ==========================================================
   VIDEO GRID
   ========================================================== */

.video-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

.video-grid iframe{

    width:100%;

    aspect-ratio:16/9;

    border:none;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}


/* ==========================================================
   DOWNLOADS
   ========================================================== */

.download-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:24px;

}

.download-card{

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:150px;

    background:var(--card);

    border-radius:var(--radius);

    border:1px solid var(--border);

    letter-spacing:.15em;

    text-transform:uppercase;

    transition:.35s;

}

.download-card:hover{

    background:white;

    color:black;

    transform:translateY(-6px);

}


/* ==========================================================
   CONTACT
   ========================================================== */

#contact{

    text-align:center;

}

#contact p{

    font-size:1.1rem;

}

#contact a{

    color:white;

}

.social-links{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

    margin-top:40px;

}

.social-links a{

    border:1px solid rgba(255,255,255,.15);

    padding:14px 26px;

    border-radius:999px;

    transition:.35s;

}

.social-links a:hover{

    background:white;

    color:black;

}
/* ==========================================================
   FOOTER
   ========================================================== */

footer{

    background:#050608;

    border-top:1px solid rgba(255,255,255,.08);

    padding:60px 0;

    text-align:center;

}

footer p{

    margin:.4rem 0;

    color:var(--muted);

    font-size:.95rem;

}


/* ==========================================================
   LIGHTBOX
   ========================================================== */

.lightbox{

    position:fixed;

    inset:0;

    background:rgba(5,7,10,.96);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:5000;

}

.lightbox.open{

    opacity:1;

    visibility:visible;

}

.lightbox img{

    max-width:92vw;

    max-height:90vh;

    border-radius:10px;

    box-shadow:0 30px 80px rgba(0,0,0,.6);

}

.lightbox-close{

    position:absolute;

    top:30px;

    right:40px;

    font-size:2.2rem;

    cursor:pointer;

    color:white;

}

.lightbox-prev,
.lightbox-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    font-size:3rem;

    cursor:pointer;

    padding:20px;

    color:white;

    user-select:none;

}

.lightbox-prev{

    left:30px;

}

.lightbox-next{

    right:30px;

}

.lightbox-counter{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);

    color:white;

    letter-spacing:.2em;

}


/* ==========================================================
   SCROLL ANIMATION
   ========================================================== */

.reveal{

    opacity:0;

    transform:translateY(50px);

    transition:opacity .8s ease,
               transform .8s ease;

}

.reveal.visible{

    opacity:1;

    transform:none;

}


/* ==========================================================
   MOBILE MENU
   ========================================================== */

@media (max-width:900px){

.menu-toggle{

    display:block;

    background:none;

    border:none;

    color:white;

    font-size:2rem;

    cursor:pointer;

}

.nav-menu{

    position:fixed;

    top:80px;

    right:-100%;

    width:280px;

    height:calc(100vh - 80px);

    background:#10151c;

    flex-direction:column;

    justify-content:flex-start;

    align-items:flex-start;

    padding:40px;

    transition:.4s;

    gap:26px;

}

.nav-menu.open{

    right:0;

}

}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width:1100px){

.cards{

    grid-template-columns:repeat(2,1fr);

}

.gallery-grid{

    grid-template-columns:1fr;

    grid-auto-rows:320px;

}

.gallery-item:first-child{

    grid-row:auto;

}

.video-grid{

    grid-template-columns:1fr;

}

}


/* ==========================================================
   PHONE
   ========================================================== */

@media (max-width:700px){

.section{

    padding:80px 0;

}

.hero-logo{

    width:92%;

}

.hero-subtitle{

    font-size:1rem;

    letter-spacing:.08em;

}

.hero-buttons{

    flex-direction:column;

    align-items:center;

}

.button{

    width:100%;

    max-width:320px;

}

.cards{

    grid-template-columns:1fr;

}

.facts-table th,
.facts-table td{

    display:block;

    width:100%;

}

.facts-table tr{

    display:block;

    padding:15px 0;

}

.social-links{

    flex-direction:column;

}

.lightbox-prev,
.lightbox-next{

    display:none;

}

}


/* ==========================================================
   LARGE DESKTOP
   ========================================================== */

@media (min-width:1800px){

body{

    font-size:20px;

}

.container{

    max-width:1500px;

}

.hero-logo{

    width:950px;

}

}


/* ==========================================================
   PRINT
   ========================================================== */

@media print{

nav,
.hero,
footer{

    display:none;

}

body{

    background:white;

    color:black;

}

.section{

    padding:20px 0;

}

a{

    color:black;

    text-decoration:none;

}

}