/* ========================================
   HOME CONTENT SECTIONS
   Brutalsurfcam Website v0.9.0
======================================== */

.section-head{

    max-width:820px;
    margin:0 auto var(--space-7);
    text-align:center;

}

.works-section .section-head{

    max-width:900px;
    margin-bottom:clamp(40px,4vw,56px);

}

.works-section .section-kicker{

    padding:12px 18px;
    border-radius:999px;
    background:rgba(0,119,255,.12);
    font-size:12px;
    letter-spacing:2px;
    box-shadow:0 10px 28px rgba(0,119,255,.08);

}

.works-section h2{

    font-size:clamp(2.4rem, 5vw, 3.75rem);
    letter-spacing:var(--tracking-tight);

}

#works,
#pricing,
#faq{

    scroll-margin-top:120px;

}

.section-kicker{

    display:inline-flex;
    width:fit-content;
    align-items:center;
    padding:10px 16px;
    border-radius:999px;
    background:rgba(0,119,255,.1);
    color:var(--primary);
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.case-studies .section-kicker{

    padding:14px 22px;
    border-radius:999px;
    background:rgba(0,119,255,.12);
    color:var(--primary);
    font-size:12px;
    font-weight:700;
    letter-spacing:2.4px;
    text-transform:none;
    box-shadow:0 10px 28px rgba(0,119,255,.08);

}

.section-copy{

    margin-top:14px;
    color:#5f6d7d;
    font-size:clamp(1rem,1.4vw,1.08rem);
    line-height:var(--line-relaxed);

}

/* ---------- Why Brutalsurfcam ---------- */

.service-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;

}

.card{

    padding:30px;
    border-radius:var(--radius);
    background:var(--surface);
    text-align:left;
    transition:var(--transition);

}

.card-media-card{

    display:flex;
    flex-direction:column;
    gap:0;

}

.card:hover{

    transform:translateY(-6px);
    box-shadow:var(--shadow);

}

.card h3{

    margin-bottom:10px;
    color:var(--primary);
    font-size:clamp(1.25rem,1.8vw,1.5rem);

}

.card p{

    line-height:var(--line-relaxed);
    color:#5d6c7f;

}

.card-media-card .video-stage{

    margin-top:20px;

}

.card-media{

    display:flex;
    align-items:center;
    justify-content:center;
    min-height:180px;
    margin-bottom:22px;
    padding:20px;
    border-radius:18px;
    border:1px dashed rgba(0,53,102,.16);
    background:
        linear-gradient(135deg, rgba(0,119,255,.08), rgba(255,255,255,.72)),
        #fff;
    color:#38526d;
    font-size:14px;
    font-weight:700;
    text-align:center;
    letter-spacing:.04em;

}

.video-stage{

    position:relative;
    min-height:360px;
    margin-bottom:22px;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    border:1px solid rgba(0,53,102,.08);

}

.card-video,
.video-stage iframe,
.video-stage .instagram-media{

    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    border:0 !important;
    border-radius:18px !important;
    overflow:hidden !important;

}

.card-video{

    display:block;
    min-height:360px;
    width:100%;
    height:100%;
    border:0;
    background:#000;
    object-fit:cover;

}

.video-stage.is-playing .video-play-overlay{

    opacity:0;
    pointer-events:none;

}

.video-stage:not(.is-playing) .video-play-overlay{

    opacity:1;

}

.video-play-overlay{

    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    border:0;
    cursor:pointer;
    background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    color:#fff;
    transition:opacity .25s ease, transform .25s ease;

}

.video-play-overlay:hover{

    transform:scale(1.01);

}

.video-play-icon{

    position:relative;
    width:78px;
    height:78px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.38);
    box-shadow:0 18px 45px rgba(0,0,0,.22);

}

.video-play-icon::before{

    content:"";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-35%,-50%);
    width:0;
    height:0;
    border-top:12px solid transparent;
    border-bottom:12px solid transparent;
    border-left:20px solid #fff;

}

.video-play-text{

    padding:8px 14px;
    border-radius:999px;
    background:rgba(0,53,102,.42);
    font-size:13px;
    font-weight:700;
    letter-spacing:1.2px;

}

.works-cta-row{

    display:flex;
    justify-content:center;
    margin-top:28px;

}

.works-more-link{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:180px;
    padding:14px 28px;
    border-radius:999px;
    background:var(--primary);
    color:#fff;
    text-decoration:none;
    font-weight:700;
    letter-spacing:.04em;
    box-shadow:0 16px 30px rgba(0,53,102,.15);
    transition:var(--transition);

}

.works-more-link:hover{

    transform:translateY(-2px);
    opacity:.96;

}

/* ---------- Case Studies ---------- */

.case-studies{

    padding-top:40px;

}

.case-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;

}

.case-card{

    padding:30px;
    border-radius:var(--radius);
    background:#fff;
    border:1px solid rgba(0,53,102,.08);
    box-shadow:0 12px 30px rgba(0,0,0,.04);

}

.case-card h3{

    margin-bottom:10px;
    color:var(--primary);
    font-size:clamp(1.2rem,1.7vw,1.45rem);

}

.case-card p{

    margin-bottom:18px;
    color:#5d6c7f;
    line-height:var(--line-relaxed);

}

.before-after-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;

}

.before-after-label{

    display:inline-flex;
    margin-bottom:10px;
    color:#6a7889;
    font-size:12px;
    font-weight:700;
    letter-spacing:1.6px;
    text-transform:uppercase;

}

.case-media{

    min-height:160px;
    border-radius:16px;

}

/* ---------- Pricing ---------- */

.price-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;

}

.price-card{

    display:flex;
    flex-direction:column;
    align-items:flex-start;
    border:1px solid rgba(0,53,102,.08);
    border-radius:var(--radius);
    padding:34px;
    text-align:left;
    background:#fff;
    transition:var(--transition);
    box-shadow:0 12px 30px rgba(0,0,0,.04);

}

.price-card:hover{

    transform:translateY(-6px);
    box-shadow:0 24px 50px rgba(0,0,0,.08);

}

.price-card h3{

    font-size:clamp(1.25rem,1.8vw,1.5rem);
    margin-bottom:10px;
    color:var(--primary);

}

.plan-badge{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(0,53,102,.08);
    border:1px solid rgba(0,53,102,.1);
    color:var(--primary);
    font-size:12px;
    font-weight:800;
    letter-spacing:1.4px;
    text-transform:uppercase;

}

.price-plan-name{

    margin-top:-2px;
    color:var(--primary);
    font-size:14px;
    font-weight:700;
    letter-spacing:.06em;

}

.price-card h1{

    font-size:clamp(2.8rem,5vw,3.75rem);
    line-height:1;
    margin:16px 0 14px;

}

.price-summary{

    color:#4b5b6f !important;
    font-size:clamp(.98rem,1.3vw,1.05rem);
    font-weight:600;

}

.price-points{

    width:100%;
    margin:18px 0 0;
    padding-left:18px;
    color:#5d6c7f;
    line-height:var(--line-relaxed);

}

.price-points li + li{

    margin-top:8px;

}

.price-note{

    width:100%;
    margin-top:18px;
    padding:14px 16px;
    border-radius:16px;
    background:rgba(0,119,255,.06);
    color:#52657a;
    line-height:var(--line-relaxed);
    font-size:var(--text-sm);

}

.price-recommendation{

    width:100%;
    margin-top:16px;
    color:#38526d;
    font-size:var(--text-sm);
    font-weight:700;

}

.price-cta{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:24px;
    padding:12px 26px;
    border-radius:999px;
    background:var(--accent);
    color:#fff;
    text-decoration:none;
    font-weight:700;
    transition:var(--transition);

}

.price-cta:hover{

    transform:translateY(-2px);
    opacity:.92;

}

/* ---------- Featured Plan ---------- */

.featured{

    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,250,255,.92));
    color:var(--primary);
    transform:none;

}

.featured .price-note{

    background:rgba(0,119,255,.06);

}

.featured .plan-badge{

    background:rgba(0,53,102,.08);
    border-color:rgba(0,53,102,.12);
    color:var(--primary);

}

.featured .price-plan-name{

    color:var(--primary);

}

.featured h3,
.featured h1,
.featured p,
.featured li,
.featured strong,
.featured .price-summary,
.featured .price-points,
.featured .price-note,
.featured .price-recommendation{

    color:var(--primary);

}

.featured .price-cta{

    background:#fff;
    color:var(--primary);

}

.featured .price-cta:hover{

    background:#f5f5f5;

}

/* ---------- FAQ ---------- */

.faq-section{

    padding-top:40px;

}

.faq-grid{

    display:grid;
    grid-template-columns:360px minmax(0,1fr);
    gap:24px;
    align-items:start;

}

.booking-guide,
.faq-list{

    padding:30px;
    border-radius:var(--radius);
    background:#fff;
    border:1px solid rgba(0,53,102,.08);
    box-shadow:0 12px 30px rgba(0,0,0,.04);

}

.booking-guide h3{

    margin-bottom:18px;
    color:var(--primary);
    font-size:clamp(1.25rem,1.8vw,1.5rem);

}

.guide-list{

    padding-left:18px;
    color:#5d6c7f;
    line-height:var(--line-relaxed);

}

.guide-list li + li{

    margin-top:10px;

}

.faq-list{

    display:grid;
    gap:14px;

}

.faq-item{

    padding:16px 18px;
    border-radius:16px;
    background:rgba(0,119,255,.04);

}

.faq-item summary{

    cursor:pointer;
    font-weight:700;
    color:var(--primary);

}

.faq-item p{

    margin-top:12px;
    color:#5d6c7f;
    line-height:var(--line-relaxed);

}
