/* ─────────────────────────────────────────────────────────────
   PROJECT: HOUSING CAMPAIGN (GOOSE STYLE)
   Colors: Yellow (#FFD500), Blue (#4A6FA5), Cream (#FFFBF0)
   ───────────────────────────────────────────────────────────── */

:root {
    --goose-yellow: #FFD500; 
    --goose-blue: #4A6FA5;   
    --goose-cream: #FFFBF0;
    --goose-black: #1a1a1a;
}

body {
    background-color: var(--goose-cream);
    color: var(--text-primary);
}

/* HERO & CONTEXT (Unchanged) */
.housing-hero {
    padding: 8rem 5% 4rem;
    text-align: center;
    background: radial-gradient(circle at 50% 50%, #ffffff 0%, var(--goose-cream) 100%);
}
.hero-max { max-width: 900px; margin: 0 auto; }
.badge {
    background: var(--goose-yellow);
    color: var(--goose-black);
    padding: 6px 12px;
    border-radius: 4px;
    font-family: "Manrope", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8rem;
    border: 2px solid var(--goose-black);
    box-shadow: 4px 4px 0px var(--goose-black);
    display: inline-block;
    margin-bottom: 1.5rem;
}
.housing-hero h1 {
    font-family: "Bricolage Grotesque", sans-serif;
    font-size: clamp(3rem, 6vw, 5rem);
    line-height: 1.1;
    color: var(--goose-black);
    margin-bottom: 1.5rem;
}
/* ... existing h1 styles ... */

.hero-desc {
    font-family: "Manrope", sans-serif;
    font-size: 1.2rem;
    color: #555;
    max-width: 60ch;
    margin: 0 auto 3rem;
    text-align: center; /* ADDED: Forces text to center regardless of global defaults */
}

.project-meta {
    display: flex;
    justify-content: center;
    gap: 3rem;
    border-top: 1px solid rgba(0,0,0,0.1);
    padding-top: 2rem;
    flex-wrap: wrap;
}

.meta-item {
    text-align: center; /* ADDED: Ensures client/role details align center */
}

.meta-item h3 { 
    font-size: 0.8rem; 
    text-transform: uppercase; 
    color: #888; 
    margin-bottom: 0.5rem; 
}

.meta-item p { 
    font-family: "Bricolage Grotesque", sans-serif; 
    font-size: 1.1rem; 
    font-weight: 600; 
}
.context-section {
    padding: 4rem 5%;
    max-width: 1200px;
    margin: 0 auto;
}
.context-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
}
.context-text h2 { font-family: "Bricolage Grotesque", sans-serif; font-size: 2rem; margin-bottom: 1rem; }
.context-text p { font-family: "Manrope", sans-serif; line-height: 1.6; color: #444; }

/* SLIDE DECK (Updated Width) */
.presentation-section { padding: 4rem 0; overflow: hidden; }
.deck-header { text-align: center; margin-bottom: 2rem; }
.slide-deck {
    display: flex; gap: 2rem; overflow-x: auto; padding: 2rem 5% 4rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin; scrollbar-color: var(--goose-blue) transparent;
}
.slide {
    /* CHANGED: Increased width from 320px to 400px */
    flex: 0 0 400px; 
    height: 500px; 
    background: #fff;
    border: 3px solid var(--goose-black); border-radius: 20px;
    box-shadow: 10px 10px 0px rgba(0,0,0,0.1);
    scroll-snap-align: center; position: relative; overflow: hidden;
    transition: transform 0.3s ease; display: flex; flex-direction: column;
}
.slide:hover { transform: translateY(-10px); }

/* These internal slide classes are likely unused now that you use images, 
   but kept for safety or if you revert */
.slide-intro { background: var(--goose-yellow); text-align: center; }
.slide-img { width: 100%; height: 60%; object-fit: cover; border-bottom: 3px solid var(--goose-black); }
.slide-text { padding: 1.5rem; }
.slide-text h3 { font-family: "Bricolage Grotesque", sans-serif; font-size: 1.8rem; line-height: 1; margin-bottom: 0.5rem; -webkit-text-stroke: 1px black; color: white; text-shadow: 2px 2px 0 #000; }
.slide-checkers {
    background-image: linear-gradient(45deg, #ccc 25%, transparent 25%), linear-gradient(-45deg, #ccc 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #ccc 75%), linear-gradient(-45deg, transparent 75%, #ccc 75%);
    background-size: 20px 20px; background-position: 0 0, 0 10px, 10px -10px, -10px 0px; background-color: white; padding: 20px;
}
.slide-header-box {
    background: var(--goose-yellow); border: 2px solid black; padding: 10px; text-align: center; border-radius: 10px; margin-bottom: 20px; box-shadow: 4px 4px 0 black; z-index: 2; position: relative;
}
.slide-header-box h3 { font-family: "Bricolage Grotesque"; font-size: 1.2rem; margin: 0; }
.slide-body {
    background: var(--goose-cream); border: 2px solid black; border-radius: 15px; flex-grow: 1; padding: 15px; display: flex; flex-direction: column; gap: 15px; justify-content: center;
}
.rule-pill {
    background: #FFECD1; border: 2px solid black; padding: 10px; border-radius: 50px; font-family: "Manrope"; font-weight: 700; font-size: 0.85rem; text-align: center; box-shadow: 3px 3px 0 black;
}
.rule-pill.warning { position: relative; transform: rotate(-2deg); }
.rule-pill.success { position: relative; transform: rotate(1deg); }
.slide-yellow { background: var(--goose-cream); padding: 15px; }
.slide-header-box.blue { background: var(--goose-blue); color: white; }
.packing-grid { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.pack-item { background: #ddd; border: 2px solid black; padding: 10px; border-radius: 30px; font-family: "Manrope"; font-weight: 600; font-size: 0.9rem; }
.qr-mockup { margin-top: auto; text-align: center; border: 2px dashed black; padding: 10px; border-radius: 10px; }
.slide-blue { background: white; padding: 15px; border-color: var(--goose-blue); }
.slide-header-box.yellow { background: var(--goose-yellow); color: black; }
.squad-body { text-align: center; padding-top: 20px; }
.squad-body p { background: #E0E0E0; padding: 10px; border-radius: 30px; border: 2px solid black; margin-bottom: 15px; font-family: "Manrope"; font-weight: 600; font-size: 0.9rem; }
.cheer-msg { font-family: "Bricolage Grotesque"; font-size: 1.2rem; color: var(--goose-blue); margin-top: 2rem; }

/* PDF VIEWER */
.pdf-section { padding: 4rem 5%; max-width: 1000px; margin: 0 auto; }
.pdf-header { text-align: center; margin-bottom: 2rem; }
.pdf-header h2 { font-family: "Bricolage Grotesque"; font-size: 2.5rem; margin-bottom: 0.5rem; }
.pdf-container {
    background: #525252; padding: 1rem; border: 3px solid var(--goose-black); border-radius: 12px;
    box-shadow: 10px 10px 0px rgba(0,0,0,0.1); height: 80vh; margin-bottom: 2rem;
}
.pdf-container iframe { width: 100%; height: 100%; border: none; border-radius: 4px; background: #fff; }
.pdf-actions { text-align: center; }
.btn-download {
    display: inline-flex; align-items: center; gap: 10px; background: var(--goose-blue); color: white;
    padding: 12px 24px; border-radius: 50px; text-decoration: none; font-family: "Manrope", sans-serif;
    font-weight: 700; transition: all 0.3s ease; border: 2px solid var(--goose-black); box-shadow: 4px 4px 0 var(--goose-black);
}
.btn-download:hover { transform: translateY(-3px); box-shadow: 6px 6px 0 var(--goose-black); background: #3a5b8a; }

/* UPDATED FAQ STYLES */
.faq-section {
    padding: 4rem 5% 8rem;
    background: #fff;
    max-width: 1000px;
    margin: 0 auto 4rem;
    border-radius: 20px;
    border: 1px solid rgba(0,0,0,0.05);
}

.faq-intro {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 3rem;
}
.faq-intro h2 { font-family: "Bricolage Grotesque"; font-size: 2.5rem; margin-bottom: 1rem; }
.faq-intro p { 
    font-family: "Manrope", sans-serif; 
    line-height: 1.6; 
    color: #444; 
    font-size: 1.1rem;
}

.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.faq-item h4 { font-family: "Manrope"; font-weight: 800; margin-bottom: 0.5rem; color: var(--goose-blue); }
.faq-item p { font-size: 0.95rem; color: #555; line-height: 1.5; }

/* UPDATED BOTTOM NAV */
.next-project-section {
    padding: 4rem 5% 6rem;
    display: flex;
    justify-content: center;
}

.next-card {
    background: var(--goose-yellow);
    border: 3px solid var(--goose-black);
    border-radius: 20px;
    padding: 3rem;
    text-align: center;
    box-shadow: 10px 10px 0px rgba(0,0,0,0.1);
    max-width: 500px;
    width: 100%;
    transition: transform 0.3s ease;
}

.next-card:hover {
    transform: translateY(-5px);
    box-shadow: 15px 15px 0px rgba(0,0,0,0.1);
}

.next-card h3 {
    font-family: "Bricolage Grotesque";
    font-size: 2rem;
    margin-bottom: 0.5rem;
    color: var(--goose-black);
}

.next-card p {
    font-family: "Manrope";
    margin-bottom: 2rem;
    color: #333;
}

.btn-primary-large {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--goose-blue);
    color: white;
    padding: 16px 32px;
    border-radius: 50px;
    text-decoration: none;
    font-family: "Manrope", sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    border: 2px solid var(--goose-black);
    transition: all 0.3s ease;
}

.btn-primary-large:hover {
    background: #3a5b8a;
    box-shadow: 4px 4px 0 var(--goose-black);
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .context-grid, .faq-grid { grid-template-columns: 1fr; }
    .slide-deck { padding: 2rem 5%; gap: 1rem; }
    .housing-hero h1 { font-size: 3rem; }
    .pdf-container { height: 60vh; }
}

/* Existing container style */
.deck-header { 
    text-align: center; 
    margin-bottom: 2rem; 
}

/* ADD THIS: Forces the paragraph text to center */
.deck-header p {
    text-align: center;
    margin: 0 auto;       /* Centers the box itself if a width is set */
    max-width: 60ch;      /* Optional: keeps line length readable */
    color: #555;          /* Optional: matches your other description colors */
}