/* ================================
   RAPH DEV — RESPONSIVE
================================ */
@media (max-width: 1080px) {
    .desktop-nav { display:none; }
    .menu-toggle { display:block; }
    .hero { padding-top:130px; }
    .hero-layout { grid-template-columns:1fr; gap:70px; }
    .hero-copy { max-width:840px; }
    .hero-title { font-size:clamp(4.4rem,10vw,7.3rem); }
    .hero-console-wrap { width:min(100%,700px); margin-left:auto; margin-right:auto; }
    .dev-console { transform:none; }
    .hero-bottom { margin-top:70px; }
    .intro-grid { grid-template-columns:1fr; gap:35px; }
    .process-grid { grid-template-columns:repeat(2,1fr); }
    .process-card:nth-child(2) { border-right:0; }
    .process-card:nth-child(-n+2) { border-bottom:1px solid var(--line); }
    .work-heading-row { grid-template-columns:1fr; gap:25px; }
}

@media (max-width: 760px) {
    .container { width:min(calc(100% - 32px), var(--container)); }
    .nav-shell { height:72px; }
    .theme-icon { display:none; }
    .theme-toggle { min-height:38px; padding:7px 9px; }
    .hero { min-height:auto; padding:118px 0 38px; }
    .hero-grid { background-size:42px 42px; }
    .hero-layout { gap:55px; }
    .hero-title { font-size:clamp(3.2rem,16vw,5.4rem); line-height:.96; }
    .hero-intro { margin-top:22px; }
    .hero-actions { display:grid; }
    .btn { width:100%; justify-content:space-between; min-height:56px; }
    .hero-meta { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    .hero-meta div:last-child { grid-column:1/-1; }
    .hero-console-wrap { width:100%; }
    .dev-console { border-radius:20px; }
    .console-topbar { grid-template-columns:auto 1fr auto; gap:12px; padding:0 13px; }
    .console-file { justify-self:center; }
    .console-body { padding:23px 16px; min-height:365px; overflow:hidden; }
    .code-line { grid-template-columns:28px 1fr; font-size:.64rem; line-height:2.15; }
    .line-number { font-size:.58rem; }
    .badge-one { right:12px; }
    .badge-two { left:-7px; bottom:30px; }
    .hero-bottom { margin-top:52px; }
    .hero-tech-strip { display:none; }
    .scroll-cue { width:100%; justify-content:space-between; }
    .scroll-line { flex:1; }
    .section { padding:88px 0; }
    .section-label { margin-bottom:28px; }
    .section-heading { font-size:clamp(2.35rem,12vw,4rem); }
    .process-grid { grid-template-columns:1fr; margin-top:50px; }
    .process-card, .process-card:nth-child(2) { border-right:0; border-bottom:1px solid var(--line); }
    .process-card:last-child { border-bottom:0; }
    .process-card strong { margin-top:30px; }
    .project-placeholder { min-height:450px; grid-template-columns:1fr auto; padding:28px; align-items:end; }
    .project-index { grid-column:1/-1; }
    .project-placeholder > div:not(.project-placeholder-grid) { grid-column:1; }
    .project-placeholder h3 { font-size:clamp(2.1rem,10vw,3.4rem); }
    .project-arrow { grid-column:2; grid-row:2; align-self:end; }
    .contact-preview { padding-bottom:100px; }
    .contact-shell { min-height:500px; padding:35px 24px; border-radius:24px; }
    .contact-shell h2 { font-size:clamp(2.8rem,13vw,4.7rem); }
    .footer-row { flex-direction:column; align-items:flex-start; }
}

@media (max-width: 430px) {
    .brand-name { font-size:1.08rem; }
    .hero-kicker { font-size:.65rem; letter-spacing:.12em; }
    .eyebrow { font-size:.62rem; }
    .hero-title { font-size:clamp(3rem,15.3vw,4.1rem); }
    .code-line { font-size:.58rem; }
    .floating-badge { padding:8px 11px; }
    .build-status { grid-template-columns:32px 1fr auto; padding:12px 10px; }
    .build-percent { font-size:.58rem; }
}


@media (max-width: 920px) {
    .about-showcase { grid-template-columns: 1fr; gap: 50px; }
    .about-portrait { width: min(100%, 560px); }
    .project-card-large { grid-template-columns: 1fr; }
    .project-card-large .project-visual { border-right: 0; border-bottom: 1px solid var(--line); min-height: 420px; }
}

@media (max-width: 760px) {
    .about-mini-stats { grid-template-columns: 1fr; }
    .about-mini-stats div { border-bottom: 1px solid var(--line); }
    .about-mini-stats div:last-child { border-bottom: 0; }
    .portrait-meta { flex-direction: column; gap: 4px; }
    .project-grid { grid-template-columns: 1fr; }
    .project-card-large { grid-column: auto; }
    .project-visual, .project-card-large .project-visual { min-height: 330px; padding: 22px; }
    .project-info, .project-card-large .project-info { padding: 25px; }
    .project-info h3 { font-size: clamp(2.2rem, 12vw, 3.5rem); }
    .project-browser { width: 100%; transform: none; }
    .mock-dashboard { height: 230px; grid-template-columns: 72px 1fr; }
    .mock-main { padding: 18px; }
    .mock-cards span { height: 55px; }
    .mock-chart { height: 82px; }
    .shipment-mock, .market-mock { width: 100%; }
    .resort-search { min-width: 0; width: 100%; }
    .project-modal-panel { padding: 34px 24px 28px; }
}

@media(max-width:920px){.project-card-wide{grid-template-columns:1fr}.project-card-wide .project-shot{min-height:360px;border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:760px){.project-shot,.project-card-large .project-shot,.project-card-wide .project-shot{min-height:250px}.project-shot img{object-position:center}.project-shot-ui{left:12px;right:12px;bottom:12px}.project-shot-cursor{display:none}.project-card-wide .project-info{padding:25px}}


/* === RAPH DEV V4: DEVTOOLS / MOBILE RENDER FIX === */
@media (max-width:1080px) {
    html, body { max-width:100%; overflow-x:clip; }
    .cursor-glow { display:none !important; }
    .dev-console,
    .portrait-frame,
    .project-card,
    .magnetic { transform:none !important; }
    .stack-heading-grid { grid-template-columns:1fr; gap:24px; }
    .stack-lead { justify-self:start; }
    .stack-workspace { grid-template-columns:260px minmax(0,1fr); }
}
@media (max-width:820px) {
    .stack-workspace { grid-template-columns:1fr; min-height:0; }
    .stack-sidebar {
        border-right:0;
        border-bottom:1px solid var(--line);
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .stack-tab { min-height:92px; border-right:1px solid var(--line); }
    .stack-tab:nth-child(2n) { border-right:0; }
}
@media (max-width:760px) {
    html { scroll-padding-top:76px; }
    body { min-width:0 !important; }
    .container { width:calc(100% - 32px); max-width:100%; }
    .hero,.section,.site-footer { width:100%; max-width:100vw; overflow:clip; }
    .hero-title,.section-heading,.project-info h3,.contact-shell h2,.stack-panel-copy h3 {
        overflow-wrap:anywhere;
    }
    .hero-console-wrap,.dev-console,.portrait-frame,.project-browser,
    .shipment-mock,.market-mock,.stack-workspace { max-width:100%; }
    .stack-stage { padding:25px 18px; }
    .stack-sidebar { grid-template-columns:1fr 1fr; }
    .stack-tab { grid-template-columns:27px 1fr; padding:17px 14px; min-height:86px; }
    .stack-tab i { display:none; }
    .stack-tab small { font-size:.61rem; }
    .tool-grid { grid-template-columns:1fr; }
    .stack-panel-copy { padding-top:34px; }
    .stack-terminal {
        align-items:flex-start;
        padding-top:14px; padding-bottom:14px;
        min-height:58px;
        flex-wrap:wrap;
    }
}
@media (max-width:460px) {
    .container { width:calc(100% - 28px); }
    .stack-sidebar { grid-template-columns:1fr; }
    .stack-tab { border-right:0; min-height:78px; }
    .stack-tab:last-child { border-bottom:0; }
    .stack-panel-copy h3 { font-size:clamp(2.15rem,12vw,3.3rem); }
}


/* === RAPH DEV V5: JOURNEY + CONTACT === */
@media (max-width: 980px) {
    .journey-heading-grid,
    .contact-grid {
        grid-template-columns:1fr;
        gap:30px;
    }
    .journey-lead { justify-self:start; }
    .journey-console {
        grid-template-columns:1fr;
    }
    .journey-console-meta {
        flex-wrap:wrap;
    }
}
@media (max-width:760px) {
    .journey-shell {
        padding-left:20px;
    }
    .journey-line {
        left:4px;
    }
    .journey-item {
        grid-template-columns:42px 16px minmax(0,1fr);
        gap:12px;
        padding-bottom:42px;
    }
    .journey-content h3 {
        font-size:clamp(1.8rem,10vw,2.7rem);
    }
    .journey-console {
        margin-top:42px;
        padding:20px;
    }
    .contact-main {
        min-height:0;
        padding:38px 24px;
    }
    .contact-main h2 {
        font-size:clamp(2.9rem,13vw,4.7rem);
    }
    .contact-actions {
        display:grid;
    }
    .contact-actions .btn {
        width:100%;
    }
    .contact-terminal {
        min-height:0;
    }
    .contact-terminal-body {
        padding:24px 18px;
    }
    .contact-bottom {
        grid-template-columns:1fr;
    }
    .contact-bottom > div:first-child {
        border-right:0;
        border-bottom:1px solid var(--line);
    }
}
@media (max-width:430px) {
    .journey-item {
        grid-template-columns:34px 14px minmax(0,1fr);
        gap:9px;
    }
    .journey-year { font-size:.56rem; }
    .journey-content p { font-size:.88rem; }
    .contact-terminal-top {
        grid-template-columns:auto 1fr auto;
        padding:0 12px;
        gap:8px;
    }
    .contact-terminal-top > span:nth-child(2) {
        justify-self:start;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
}


/* === RAPH DEV V6: SERVICES + COMMAND PALETTE === */
@media (max-width:1050px) {
    .services-heading-grid { grid-template-columns:1fr;gap:24px; }
    .services-lead { justify-self:start; }
    .services-console { grid-template-columns:310px minmax(0,1fr); }
    .capability-stats { grid-template-columns:repeat(2,1fr); }
    .capability-stats > div:nth-child(2) { border-right:0; }
    .capability-stats > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}
@media (max-width:820px) {
    .services-console { grid-template-columns:1fr;min-height:0; }
    .services-list { border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr; }
    .service-tab { min-height:100px;border-right:1px solid var(--line); }
    .service-tab:nth-child(2n) { border-right:0; }
}
@media (max-width:760px) {
    .services-preview { padding:26px 18px; }
    .services-list { grid-template-columns:1fr; }
    .service-tab { min-height:82px;border-right:0; }
    .service-preview-panel { padding-top:38px; }
    .service-preview-panel h3 { font-size:clamp(2.2rem,11vw,3.4rem); }
    .service-feature-grid { grid-template-columns:1fr; }
    .capability-stats { grid-template-columns:1fr 1fr; }
    .capability-stats > div { min-height:130px; }
    .command-trigger strong,.command-trigger kbd { display:none; }
    .command-trigger { width:46px;height:46px;min-height:46px;justify-content:center;border-radius:50%;padding:0; }
    .command-footer { gap:10px;overflow:hidden; }
    .command-footer span:last-child { display:none; }
}
@media (max-width:460px) {
    .capability-stats { grid-template-columns:1fr; }
    .capability-stats > div { border-right:0 !important;border-bottom:1px solid var(--line); }
    .capability-stats > div:last-child { border-bottom:0; }
}


/* =====================================================
   RAPH DEV V7 — RESPONSIVE POLISH
===================================================== */
@media (max-width:1000px) {
    .footer-main {
        grid-template-columns:1.2fr .8fr .8fr;
    }
    .footer-status {
        grid-column:1/-1;
        padding-top:22px;
        border-top:1px solid var(--line);
    }
}
@media (max-width:760px) {
    .project-filter-bar {
        overflow-x:auto;
        flex-wrap:nowrap;
        margin-top:-8px;
        padding-bottom:5px;
        scrollbar-width:none;
    }
    .project-filter-bar::-webkit-scrollbar { display:none; }
    .project-filter { flex:0 0 auto; }
    .project-image-btn { width:100%; }
    .project-image-viewer { padding:10px; }
    .project-image-panel {
        max-height:94vh;
        border-radius:16px;
    }
    .project-image-stage { padding:10px; }
    .project-image-footer span:last-child { display:none; }
    .back-to-top {
        right:16px;
        bottom:72px;
    }
    .footer-main {
        grid-template-columns:1fr 1fr;
        gap:34px 24px;
        padding:50px 0 38px;
    }
    .footer-brand-block,
    .footer-status {
        grid-column:1/-1;
    }
    .footer-bottom {
        min-height:0;
        padding:22px 0;
        flex-direction:column;
        align-items:flex-start;
    }
}
@media (max-width:430px) {
    .footer-main {
        grid-template-columns:1fr;
    }
    .footer-brand-block,
    .footer-status {
        grid-column:auto;
    }
}
