/*
Theme Name: One Side Studio
Theme URI: https://onesidestudio.com.au
Author: One Side Studio
Author URI: https://onesidestudio.com.au
Description: Premium dark WordPress theme for One Side Studio — Sydney's professional recording studio. Elementor-compatible. Warm gold and charcoal colour system.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
Text Domain: one-side-studio
Tags: music, dark, elementor, full-width-template, custom-colors, custom-menu
*/

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
    background-color: #0a0a0a;
    color: rgba(255,255,255,0.85);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700;
    line-height: 1.1;
    color: #ffffff;
}

p { line-height: 1.75; }
a { color: #d4841a; text-decoration: none; transition: color 0.3s ease; }
a:hover { color: #ecbe6b; }
img { max-width: 100%; height: auto; display: block; }

/* ============================================================
   LAYOUT
   ============================================================ */
.oss-container {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
}

@media (min-width: 768px)  { .oss-container { padding-left: 3rem;  padding-right: 3rem;  } }
@media (min-width: 1024px) { .oss-container { padding-left: 5rem;  padding-right: 5rem;  } }

/* ============================================================
   UTILITY
   ============================================================ */
.oss-label {
    font-family: 'Space Mono', 'Courier New', monospace;
    font-size: 0.65rem;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: #d4841a;
    display: block;
    margin-bottom: 1rem;
}

.oss-divider {
    width: 4rem; height: 1px;
    background-color: #d4841a;
    display: block;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}
.oss-divider--center { margin-left: auto; margin-right: auto; }

.oss-text { color: rgba(255,255,255,0.55); font-size: 0.95rem; line-height: 1.8; }

.oss-text-gradient {
    background: linear-gradient(90deg, #ecbe6b 0%, #d4841a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.oss-btn {
    display: inline-flex; align-items: center; gap: 0.5rem;
    font-family: 'Inter', sans-serif; font-size: 0.72rem;
    font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
    padding: 1rem 2.2rem; cursor: pointer; transition: all 0.3s ease;
    text-decoration: none; border: none;
}
.oss-btn--gold  { background-color: #d4841a; color: #ffffff; }
.oss-btn--gold:hover { background-color: #e4a030; color: #ffffff; }

.oss-btn--outline { background: transparent; color: #d4841a; border: 1px solid #d4841a; }
.oss-btn--outline:hover { background-color: #d4841a; color: #ffffff; }

.oss-btn--ghost { background: transparent; color: #ffffff; border: 1px solid rgba(255,255,255,0.3); }
.oss-btn--ghost:hover { border-color: #ffffff; color: #ffffff; }

/* ============================================================
   NAVBAR
   ============================================================ */
#oss-navbar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
    transition: background 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
    border-bottom: 1px solid transparent;
}
#oss-navbar.scrolled {
    background-color: rgba(10,10,10,0.96);
    backdrop-filter: blur(12px);
    border-bottom-color: rgba(255,255,255,0.06);
    box-shadow: 0 4px 40px rgba(0,0,0,0.5);
}

.oss-navbar__inner {
    max-width: 1280px; margin: 0 auto;
    padding: 0 2rem; height: 5rem;
    display: flex; align-items: center; justify-content: space-between;
}
@media (min-width: 1024px) { .oss-navbar__inner { padding: 0 5rem; } }

.oss-navbar__logo {
    display: flex; align-items: center; gap: 0.75rem; text-decoration: none;
}
.oss-navbar__logo-icon {
    width: 2.5rem; height: 2.5rem;
    background-color: #d4841a;
    display: flex; align-items: center; justify-content: center;
}
.oss-navbar__logo-icon svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: #fff; stroke-width: 1.5; }
.oss-navbar__logo-name {
    font-family: 'Playfair Display', serif; font-size: 1.15rem;
    font-weight: 700; color: #ffffff; display: block;
    transition: color 0.3s;
}
.oss-navbar__logo:hover .oss-navbar__logo-name { color: #ecbe6b; }
.oss-navbar__logo-sub {
    font-family: 'Space Mono', monospace; font-size: 0.55rem;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: #d4841a; display: block;
}

.oss-navbar__nav { display: none; align-items: center; gap: 2rem; list-style: none; }
@media (min-width: 1024px) { .oss-navbar__nav { display: flex; } }
.oss-navbar__nav a {
    font-size: 0.72rem; font-weight: 500; letter-spacing: 0.12em;
    text-transform: uppercase; color: rgba(255,255,255,0.65);
    text-decoration: none; transition: color 0.3s;
}
.oss-navbar__nav a:hover { color: #d4841a; }

.oss-navbar__cta-wrap { display: none; }
@media (min-width: 1024px) { .oss-navbar__cta-wrap { display: block; } }

.oss-navbar__burger {
    display: flex; flex-direction: column; gap: 5px;
    cursor: pointer; background: none; border: none; padding: 0.5rem;
}
@media (min-width: 1024px) { .oss-navbar__burger { display: none; } }
.oss-navbar__burger span {
    display: block; width: 24px; height: 2px;
    background: #fff; transition: transform 0.3s, opacity 0.3s;
}

.oss-mobile-nav { display: none; background-color: #111111; border-top: 1px solid rgba(255,255,255,0.06); }
.oss-mobile-nav.open { display: block; }
.oss-mobile-nav a {
    display: block; padding: 0.75rem 2rem;
    font-size: 0.75rem; font-weight: 500;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: rgba(255,255,255,0.65); transition: color 0.3s, background 0.3s;
}
.oss-mobile-nav a:hover { color: #d4841a; background: rgba(255,255,255,0.03); }
.oss-mobile-nav .oss-mobile-cta-wrap { padding: 1rem 2rem 0.75rem; }
.oss-mobile-nav .oss-btn { width: 100%; justify-content: center; }

/* ============================================================
   HERO
   ============================================================ */
#oss-hero {
    position: relative; min-height: 100vh;
    display: flex; align-items: center; overflow: hidden;
}
.oss-hero__bg {
    position: absolute; inset: 0;
    background-image: url('https://images.pexels.com/photos/164938/pexels-photo-164938.jpeg?auto=compress&cs=tinysrgb&w=1920');
    background-size: cover; background-position: center;
}
.oss-hero__overlay  { position: absolute; inset: 0; background: linear-gradient(105deg, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.70) 55%, rgba(0,0,0,0.38) 100%); }
.oss-hero__overlay2 { position: absolute; inset: 0; background: linear-gradient(to top, #0a0a0a 0%, transparent 40%); }

.oss-hero__content {
    position: relative; z-index: 2; width: 100%;
    max-width: 1280px; margin: 0 auto;
    padding: 8rem 2rem 4rem;
}
@media (min-width: 1024px) { .oss-hero__content { padding: 8rem 5rem 4rem; } }

.oss-hero__location {
    font-family: 'Space Mono', monospace; font-size: 0.65rem;
    letter-spacing: 0.4em; text-transform: uppercase; color: #d4841a;
    margin-bottom: 1.5rem;
    opacity: 0; animation: ossSlideUp 0.8s ease forwards 0.3s;
}
.oss-hero__title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(3rem, 8vw, 6.5rem); font-weight: 700;
    color: #ffffff; line-height: 1.05;
    margin-bottom: 1.5rem; max-width: 700px;
    opacity: 0; animation: ossSlideUp 0.9s ease forwards 0.5s;
}
.oss-hero__desc {
    color: rgba(255,255,255,0.55); font-size: 1.05rem; line-height: 1.8;
    max-width: 520px; margin-bottom: 2.5rem;
    opacity: 0; animation: ossSlideUp 0.9s ease forwards 0.8s;
}
.oss-hero__actions {
    display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 4rem;
    opacity: 0; animation: ossSlideUp 0.9s ease forwards 1s;
}
.oss-hero__stats {
    display: flex; gap: 3rem;
    opacity: 0; animation: ossSlideUp 0.9s ease forwards 1.2s;
}
.oss-hero__stat-val {
    font-family: 'Playfair Display', serif; font-size: 2.2rem;
    font-weight: 700; color: #ecbe6b; display: block;
}
.oss-hero__stat-label {
    font-family: 'Space Mono', monospace; font-size: 0.6rem;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: rgba(255,255,255,0.35); display: block; margin-top: 0.2rem;
}
.oss-hero__scroll {
    position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%);
    z-index: 2; display: flex; flex-direction: column; align-items: center;
    gap: 0.4rem; color: rgba(255,255,255,0.3);
    font-family: 'Space Mono', monospace; font-size: 0.55rem;
    letter-spacing: 0.2em; text-transform: uppercase;
    text-decoration: none; animation: ossBounce 2s ease-in-out infinite;
    transition: color 0.3s;
}
.oss-hero__scroll:hover { color: #d4841a; }
.oss-hero__scroll svg { width: 1.2rem; height: 1.2rem; }

/* ============================================================
   CLIENTS STRIP
   ============================================================ */
#oss-clients {
    background-color: #111111;
    border-top: 1px solid rgba(255,255,255,0.05);
    border-bottom: 1px solid rgba(255,255,255,0.05);
    padding: 4rem 2rem;
}
.oss-clients__label {
    text-align: center;
    font-family: 'Space Mono', monospace; font-size: 0.6rem;
    letter-spacing: 0.35em; text-transform: uppercase;
    color: rgba(212,132,26,0.55); margin-bottom: 2.5rem;
}
.oss-clients__list {
    display: flex; flex-wrap: wrap; justify-content: center;
    align-items: center; gap: 2rem 3rem;
    max-width: 1280px; margin: 0 auto;
}
.oss-clients__item {
    font-family: 'Playfair Display', serif; font-size: 1rem;
    font-weight: 700; color: rgba(255,255,255,0.18);
    letter-spacing: 0.06em; transition: color 0.3s; cursor: default;
}
.oss-clients__item:hover { color: rgba(255,255,255,0.45); }

/* ============================================================
   ABOUT
   ============================================================ */
#oss-about { background-color: #0a0a0a; padding: 7rem 0; }
.oss-about__inner {
    max-width: 1280px; margin: 0 auto; padding: 0 2rem;
    display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: center;
}
@media (min-width: 1024px) {
    .oss-about__inner { grid-template-columns: 1fr 1fr; gap: 6rem; padding: 0 5rem; }
}
.oss-about__images { position: relative; }
.oss-about__img-main { width: 100%; height: 480px; object-fit: cover; position: relative; z-index: 2; }
.oss-about__img-accent {
    position: absolute; bottom: -2rem; right: -2rem;
    width: 200px; height: 200px; object-fit: cover;
    border: 4px solid #0a0a0a; z-index: 3; display: none;
}
@media (min-width: 1024px) { .oss-about__img-accent { display: block; } }
.oss-about__frame {
    position: absolute; top: -1.5rem; left: -1.5rem;
    width: 12rem; height: 12rem;
    border: 1px solid rgba(212,132,26,0.3); z-index: 1; display: none;
}
@media (min-width: 1024px) { .oss-about__frame { display: block; } }
.oss-about__badge {
    position: absolute; bottom: 1.5rem; left: 1.5rem;
    background: rgba(10,10,10,0.92);
    border: 1px solid rgba(212,132,26,0.3);
    padding: 1.2rem 1.5rem; z-index: 4;
}
.oss-about__badge-year {
    font-family: 'Playfair Display', serif; font-size: 2.5rem;
    font-weight: 700; color: #ecbe6b; display: block;
}
.oss-about__badge-label {
    font-family: 'Space Mono', monospace; font-size: 0.55rem;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: rgba(255,255,255,0.35); display: block; margin-top: 0.2rem;
}
.oss-about__highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2.5rem; }
.oss-about__highlight-icon { width: 1.2rem; height: 1.2rem; color: #d4841a; margin-bottom: 0.75rem; }
.oss-about__highlight h4 {
    font-family: 'Inter', sans-serif; font-size: 0.85rem;
    font-weight: 600; color: #ffffff; margin-bottom: 0.4rem;
}
.oss-about__highlight p { font-size: 0.75rem; color: rgba(255,255,255,0.38); line-height: 1.6; }

/* ============================================================
   SERVICES
   ============================================================ */
#oss-services { background-color: #111111; padding: 7rem 0; }
.oss-services__grid {
    display: grid; grid-template-columns: 1fr;
    gap: 1px; background-color: rgba(255,255,255,0.05); margin-top: 1px;
}
@media (min-width: 768px)  { .oss-services__grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1024px) { .oss-services__grid { grid-template-columns: repeat(3,1fr); } }

.oss-service-card { background-color: #111111; padding: 2.5rem; transition: background 0.3s; }
.oss-service-card:hover { background-color: #1a1a1a; }
.oss-service-card__icon {
    width: 3rem; height: 3rem;
    border: 1px solid rgba(212,132,26,0.4);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.5rem; transition: background 0.3s, border-color 0.3s;
}
.oss-service-card:hover .oss-service-card__icon { background-color: #d4841a; border-color: #d4841a; }
.oss-service-card__icon svg { width: 1.2rem; height: 1.2rem; color: #d4841a; transition: color 0.3s; fill: none; stroke: currentColor; stroke-width: 1.5; }
.oss-service-card:hover .oss-service-card__icon svg { color: #ffffff; }
.oss-service-card h3 { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: #ffffff; margin-bottom: 0.75rem; }
.oss-service-card p { font-size: 0.85rem; color: rgba(255,255,255,0.48); line-height: 1.8; margin-bottom: 1.5rem; }
.oss-service-card__features { list-style: none; padding: 0; }
.oss-service-card__features li {
    display: flex; align-items: center; gap: 0.5rem;
    font-size: 0.75rem; color: rgba(255,255,255,0.28); margin-bottom: 0.4rem;
}
.oss-service-card__features li::before {
    content: ''; width: 5px; height: 5px;
    background-color: #d4841a; border-radius: 50%; flex-shrink: 0;
}

/* ============================================================
   STUDIOS / ROOMS
   ============================================================ */
#oss-studios { background-color: #0a0a0a; padding: 7rem 0; }
.oss-room { display: grid; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .oss-room { grid-template-columns: 1fr 1fr; } }
.oss-room__image { position: relative; height: 320px; overflow: hidden; }
@media (min-width: 1024px) { .oss-room__image { height: auto; min-height: 440px; } }
.oss-room__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.oss-room:hover .oss-room__image img { transform: scale(1.04); }
.oss-room__tag {
    position: absolute; top: 1.5rem; left: 1.5rem;
    font-family: 'Space Mono', monospace; font-size: 0.58rem;
    letter-spacing: 0.2em; text-transform: uppercase;
    background-color: #d4841a; color: #ffffff; padding: 0.3rem 0.8rem;
}
.oss-room__image-overlay { position: absolute; inset: 0; background: linear-gradient(to top,rgba(0,0,0,0.5),transparent); }
.oss-room__content {
    background-color: #111111; padding: 3.5rem 3rem;
    display: flex; flex-direction: column; justify-content: center;
}
@media (min-width: 1024px) { .oss-room__content { padding: 4rem 3.5rem; } }
.oss-room__content h3 { font-family: 'Playfair Display', serif; font-size: 2.2rem; color: #ffffff; margin-bottom: 1rem; }
.oss-room__content p { font-size: 0.88rem; color: rgba(255,255,255,0.52); line-height: 1.85; margin-bottom: 2rem; }
.oss-room__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin-bottom: 2.5rem; }
.oss-room__spec { display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; color: rgba(255,255,255,0.45); }
.oss-room__spec::before { content: ''; width: 6px; height: 6px; background: #d4841a; border-radius: 50%; flex-shrink: 0; }
.oss-room__link {
    display: inline-flex; align-items: center; gap: 0.4rem;
    font-family: 'Space Mono', monospace; font-size: 0.65rem;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: #d4841a; border-bottom: 1px solid #d4841a; padding-bottom: 2px;
    text-decoration: none; transition: color 0.3s, border-color 0.3s; align-self: flex-start;
}
.oss-room__link:hover { color: #ecbe6b; border-color: #ecbe6b; }

/* ============================================================
   GEAR
   ============================================================ */
#oss-gear { background-color: #111111; padding: 7rem 0; }
.oss-gear__inner {
    max-width: 1280px; margin: 0 auto; padding: 0 2rem;
    display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: center;
}
@media (min-width: 1024px) { .oss-gear__inner { grid-template-columns: 1fr 1fr; padding: 0 5rem; gap: 5rem; } }
.oss-gear__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.oss-gear__card { border: 1px solid rgba(255,255,255,0.07); padding: 1.25rem; transition: border-color 0.3s; }
.oss-gear__card:hover { border-color: rgba(212,132,26,0.4); }
.oss-gear__cat { font-family: 'Space Mono', monospace; font-size: 0.58rem; letter-spacing: 0.25em; text-transform: uppercase; color: #d4841a; margin-bottom: 0.75rem; }
.oss-gear__items { list-style: none; padding: 0; }
.oss-gear__items li { font-size: 0.75rem; color: rgba(255,255,255,0.45); margin-bottom: 0.3rem; }

/* ============================================================
   GALLERY
   ============================================================ */
#oss-gallery { background-color: #0a0a0a; padding: 7rem 0; }
.oss-gallery__grid {
    display: grid; grid-template-columns: repeat(2,1fr);
    gap: 0.75rem; max-width: 1280px; margin: 0 auto; padding: 0 2rem;
}
@media (min-width: 768px)  { .oss-gallery__grid { grid-template-columns: repeat(4,1fr); padding: 0 3rem; } }
@media (min-width: 1024px) { .oss-gallery__grid { padding: 0 5rem; } }
.oss-gallery__item { overflow: hidden; height: 220px; cursor: pointer; }
.oss-gallery__item--tall { grid-row: span 2; height: auto; min-height: 460px; }
.oss-gallery__item--wide { grid-column: span 2; }
.oss-gallery__item img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.72); transition: transform 0.7s ease, filter 0.4s ease; }
.oss-gallery__item:hover img { transform: scale(1.06); filter: brightness(1); }

/* ============================================================
   TEAM
   ============================================================ */
#oss-team { background-color: #111111; padding: 7rem 0; }
.oss-team__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
@media (min-width: 1024px) { .oss-team__grid { grid-template-columns: repeat(4,1fr); } }
.oss-team__photo { width: 100%; height: 280px; object-fit: cover; object-position: top; filter: brightness(0.78); transition: transform 0.6s ease, filter 0.4s ease; margin-bottom: 1.25rem; display: block; }
.oss-team__card:hover .oss-team__photo { transform: scale(1.02); filter: brightness(1); }
.oss-team__card h4 { font-family: 'Playfair Display', serif; font-size: 1.1rem; color: #ffffff; margin-bottom: 0.3rem; }
.oss-team__role { font-family: 'Space Mono', monospace; font-size: 0.58rem; letter-spacing: 0.2em; text-transform: uppercase; color: #d4841a; display: block; margin-bottom: 0.75rem; }
.oss-team__bio { font-size: 0.78rem; color: rgba(255,255,255,0.42); line-height: 1.7; margin-bottom: 0.5rem; }
.oss-team__credits { font-size: 0.68rem; color: rgba(255,255,255,0.22); font-style: italic; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
#oss-testimonials { background-color: #0a0a0a; padding: 7rem 0; }
.oss-testimonials__slider { max-width: 860px; margin: 0 auto; }
.oss-testimonial { display: none; background-color: #111111; border: 1px solid rgba(255,255,255,0.05); padding: 3rem 3.5rem; position: relative; }
.oss-testimonial.active { display: block; }
.oss-testimonial__quote-icon { position: absolute; top: 2rem; left: 2rem; width: 2.5rem; height: 2.5rem; color: rgba(212,132,26,0.18); }
.oss-testimonial blockquote { font-family: 'Playfair Display', serif; font-size: clamp(1rem,2vw,1.3rem); font-style: italic; color: rgba(255,255,255,0.78); line-height: 1.75; margin-bottom: 2rem; padding-top: 1.5rem; }
.oss-testimonial__author { display: flex; align-items: center; gap: 1rem; }
.oss-testimonial__author img { width: 3.5rem; height: 3.5rem; border-radius: 50%; object-fit: cover; }
.oss-testimonial__name { font-weight: 600; font-size: 0.9rem; color: #ffffff; display: block; }
.oss-testimonial__title-label { font-family: 'Space Mono', monospace; font-size: 0.6rem; letter-spacing: 0.15em; text-transform: uppercase; color: #d4841a; display: block; margin-top: 0.2rem; }
.oss-testimonials__dots { display: flex; justify-content: center; gap: 0.75rem; margin-top: 2rem; }
.oss-testimonials__dot { width: 8px; height: 8px; border-radius: 50%; background-color: rgba(255,255,255,0.2); border: none; cursor: pointer; transition: background 0.3s, transform 0.3s; padding: 0; }
.oss-testimonials__dot.active { background-color: #d4841a; transform: scale(1.3); }

/* ============================================================
   CTA BANNER
   ============================================================ */
#oss-cta { position: relative; padding: 7rem 0; overflow: hidden; text-align: center; }
.oss-cta__bg { position: absolute; inset: 0; background-image: url('https://images.pexels.com/photos/4940756/pexels-photo-4940756.jpeg?auto=compress&cs=tinysrgb&w=1920'); background-size: cover; background-position: center; }
.oss-cta__overlay  { position: absolute; inset: 0; background: rgba(0,0,0,0.80); }
.oss-cta__overlay2 { position: absolute; inset: 0; background: linear-gradient(to bottom, #0a0a0a 0%, transparent 15%, transparent 85%, #0a0a0a 100%); }
.oss-cta__content { position: relative; z-index: 2; max-width: 800px; margin: 0 auto; padding: 0 2rem; }
.oss-cta__content h2 { font-size: clamp(2.5rem,6vw,5rem); color: #ffffff; line-height: 1.1; margin-bottom: 1.5rem; }
.oss-cta__content p { font-size: 1.05rem; color: rgba(255,255,255,0.55); line-height: 1.8; max-width: 520px; margin: 0 auto 2.5rem; }
.oss-cta__actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }

/* ============================================================
   RATES PANEL
   ============================================================ */
.oss-rates { border: 1px solid rgba(255,255,255,0.07); padding: 1.5rem; margin-top: 2.5rem; }
.oss-rates__title { font-family: 'Space Mono', monospace; font-size: 0.58rem; letter-spacing: 0.25em; text-transform: uppercase; color: #d4841a; margin-bottom: 1rem; }
.oss-rates__row { display: flex; justify-content: space-between; align-items: center; padding: 0.4rem 0; border-bottom: 1px solid rgba(255,255,255,0.04); }
.oss-rates__row:last-child { border-bottom: none; }
.oss-rates__row span:first-child { font-size: 0.78rem; color: rgba(255,255,255,0.42); }
.oss-rates__row span:last-child { font-family: 'Space Mono', monospace; font-size: 0.75rem; font-weight: 700; color: #ecbe6b; }
.oss-rates__note { font-size: 0.68rem; color: rgba(255,255,255,0.2); margin-top: 0.75rem; font-style: italic; }

/* ============================================================
   CONTACT
   ============================================================ */
#oss-contact { background-color: #111111; padding: 7rem 0; }
.oss-contact__inner { max-width: 1280px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: 1fr; gap: 4rem; }
@media (min-width: 1024px) { .oss-contact__inner { grid-template-columns: 2fr 3fr; padding: 0 5rem; gap: 5rem; } }
.oss-contact__info-item { display: flex; gap: 1rem; margin-bottom: 2rem; }
.oss-contact__info-icon { width: 2.5rem; height: 2.5rem; border: 1px solid rgba(212,132,26,0.4); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 0.2rem; }
.oss-contact__info-icon svg { width: 1rem; height: 1rem; color: #d4841a; fill: none; stroke: currentColor; stroke-width: 1.5; }
.oss-contact__info-label { font-family: 'Space Mono', monospace; font-size: 0.58rem; letter-spacing: 0.2em; text-transform: uppercase; color: #d4841a; display: block; margin-bottom: 0.3rem; }
.oss-contact__info-val { font-size: 0.85rem; color: rgba(255,255,255,0.6); line-height: 1.6; }
.oss-contact__info-val a { color: rgba(255,255,255,0.6); }
.oss-contact__info-val a:hover { color: #ffffff; }

/* Form */
.oss-form__row { display: grid; grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 1.25rem; }
@media (min-width: 640px) { .oss-form__row--2 { grid-template-columns: 1fr 1fr; } }
.oss-form__label { font-family: 'Space Mono', monospace; font-size: 0.58rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.32); display: block; margin-bottom: 0.5rem; }
.oss-form__input,
.oss-form__select,
.oss-form__textarea {
    width: 100%; background-color: #1a1a1a; border: 1px solid rgba(255,255,255,0.09);
    color: #ffffff; font-family: 'Inter', sans-serif; font-size: 0.875rem;
    padding: 1rem 1.25rem; outline: none; transition: border-color 0.3s;
    -webkit-appearance: none; appearance: none;
}
.oss-form__input::placeholder,
.oss-form__textarea::placeholder { color: rgba(255,255,255,0.22); }
.oss-form__input:focus,
.oss-form__select:focus,
.oss-form__textarea:focus { border-color: #d4841a; }
.oss-form__select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d4841a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 1.25rem center; padding-right: 3rem;
}
.oss-form__select option { background-color: #1a1a1a; color: #ffffff; }
.oss-form__textarea { resize: vertical; min-height: 140px; }
.oss-form__submit { width: 100%; margin-top: 0.5rem; justify-content: center; font-size: 0.75rem; padding: 1.2rem; }

/* ============================================================
   FOOTER
   ============================================================ */
#oss-footer { background-color: #0a0a0a; border-top: 1px solid rgba(255,255,255,0.05); padding-top: 5rem; padding-bottom: 3rem; }
.oss-footer__inner { max-width: 1280px; margin: 0 auto; padding: 0 2rem; }
@media (min-width: 1024px) { .oss-footer__inner { padding: 0 5rem; } }
.oss-footer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem 2rem; margin-bottom: 3rem; }
@media (min-width: 768px)  { .oss-footer__grid { grid-template-columns: repeat(3,1fr); } }
@media (min-width: 1024px) { .oss-footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr 1fr; } }
.oss-footer__brand p { font-size: 0.82rem; color: rgba(255,255,255,0.35); line-height: 1.8; margin: 1.5rem 0; max-width: 280px; }
.oss-footer__socials { display: flex; gap: 0.6rem; }
.oss-footer__social { width: 2.2rem; height: 2.2rem; border: 1px solid rgba(255,255,255,0.14); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.38); text-decoration: none; transition: border-color 0.3s, color 0.3s; }
.oss-footer__social:hover { border-color: #d4841a; color: #d4841a; }
.oss-footer__social svg { width: 0.9rem; height: 0.9rem; fill: none; stroke: currentColor; stroke-width: 1.5; }
.oss-footer__col-title { font-family: 'Space Mono', monospace; font-size: 0.6rem; letter-spacing: 0.28em; text-transform: uppercase; color: #d4841a; margin-bottom: 1rem; }
.oss-footer__col ul { list-style: none; padding: 0; }
.oss-footer__col ul li { margin-bottom: 0.65rem; }
.oss-footer__col ul li a { font-size: 0.82rem; color: rgba(255,255,255,0.38); text-decoration: none; transition: color 0.3s; }
.oss-footer__col ul li a:hover { color: #ffffff; }
.oss-footer__bottom { border-top: 1px solid rgba(255,255,255,0.05); padding-top: 2rem; display: flex; flex-direction: column; gap: 0.75rem; }
@media (min-width: 768px) { .oss-footer__bottom { flex-direction: row; justify-content: space-between; align-items: center; } }
.oss-footer__copy, .oss-footer__address { font-size: 0.72rem; color: rgba(255,255,255,0.22); }

/* ============================================================
   SCROLL ANIMATIONS
   ============================================================ */
.oss-fade-up { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
.oss-fade-up.oss-visible { opacity: 1; transform: translateY(0); }

/* ============================================================
   KEYFRAMES
   ============================================================ */
@keyframes ossSlideUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes ossBounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50%       { transform: translateX(-50%) translateY(8px); }
}

/* ============================================================
   ELEMENTOR COMPATIBILITY
   ============================================================ */
body.elementor-editor-active #oss-navbar { position: relative !important; }
.elementor-section .oss-container { max-width: 100%; padding: 0; }
.e-con-inner, .elementor-container { background-color: transparent !important; }

/* WordPress core alignment helpers */
.wp-block-image img { max-width: 100%; }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); -webkit-clip-path:inset(50%); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; word-wrap:normal !important; }
