.minecraft-page { background: radial-gradient(circle at 75% 4%, rgba(75, 137, 255, .18), transparent 31rem), var(--night); }
.mc-hero { position: relative; min-height: 850px; padding-top: 155px; padding-bottom: 100px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, .9fr); gap: clamp(55px, 7vw, 100px); align-items: center; }
.mc-hero::before { content: ""; position: absolute; z-index: -1; inset: 0 auto 0 50%; width: 100vw; transform: translateX(-50%); background: linear-gradient(rgba(122, 151, 211, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(122, 151, 211, .04) 1px, transparent 1px); background-size: 54px 54px; border-bottom: 1px solid var(--line); }
.mc-hero h1, .mc-services h2, .mc-projects h2, .mc-plugins h2, .mc-models h2, .mc-cta h2 { font-family: "Space Grotesk", sans-serif; letter-spacing: -.055em; }
.mc-hero h1 { max-width: 760px; font-size: clamp(57px, 5.4vw, 84px); font-weight: 600; line-height: .97; }
.mc-hero h1 em { color: var(--blue-light); font-style: normal; }
.mc-hero-copy > p:not(.eyebrow) { max-width: 700px; margin-top: 28px; color: #aeb8ca; font-size: 16px; line-height: 1.78; }
.mc-tech-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 38px; list-style: none; }
.mc-tech-list li { padding: 8px 12px; border: 1px solid var(--line-strong); color: #9eabc1; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mc-hero-media { position: relative; padding: 14px; background: #0c1325; border: 1px solid var(--line-strong); box-shadow: 0 38px 90px rgba(0, 0, 0, .42); transform: rotate(1.3deg); }
.mc-hero-media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; }
.mc-hero-badge { position: absolute; right: -28px; bottom: -30px; display: flex; align-items: center; gap: 14px; padding: 17px 20px; background: var(--blue); color: #fff; box-shadow: 0 18px 40px rgba(31, 90, 196, .38); }
.mc-hero-badge strong { font-family: "Space Grotesk"; font-size: 36px; line-height: 1; }
.mc-hero-badge span { font-size: 9px; font-weight: 800; line-height: 1.35; letter-spacing: .06em; text-transform: uppercase; }

.mc-service-list { border-top: 1px solid var(--line); }
.mc-service-list article { display: grid; grid-template-columns: 70px minmax(320px, .8fr) minmax(430px, 1.2fr); gap: 35px; align-items: start; padding: 42px 0; border-bottom: 1px solid var(--line); }
.mc-service-list article > span { color: var(--blue-light); font-family: "Space Grotesk"; font-size: 11px; }
.mc-service-list h2 { max-width: 490px; font-size: 29px; line-height: 1.12; letter-spacing: -.035em; }
.mc-service-list article > div p { max-width: 620px; margin-top: 15px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.mc-service-list ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; list-style: none; }
.mc-service-list li { padding: 8px 11px; background: #111a30; border: 1px solid var(--line); color: #98a5bb; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.mc-projects { background: #0a1122; border-block: 1px solid var(--line); }
.mc-project-list { display: grid; gap: 24px; }
.mc-project-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); min-height: 390px; overflow: hidden; background: var(--panel); border: 1px solid var(--line); }
.mc-project-card-reverse { grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr); }
.mc-project-card-reverse .mc-project-media { grid-column: 2; }
.mc-project-card-reverse .mc-project-copy { grid-column: 1; grid-row: 1; }
.mc-project-media { position: relative; min-height: 390px; overflow: hidden; background: #080c17; }
.mc-project-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 62%, rgba(4, 8, 17, .34)); pointer-events: none; }
.mc-project-media > span { position: absolute; z-index: 2; top: 22px; left: 22px; display: grid; place-items: center; width: 42px; height: 42px; background: rgba(8, 13, 28, .84); border: 1px solid rgba(255, 255, 255, .16); color: #fff; font-family: "Space Grotesk"; font-size: 11px; backdrop-filter: blur(10px); }
.mc-project-media img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; object-position: top center; transition: transform .65s cubic-bezier(.2, .65, .2, 1); }
.mc-project-card:hover .mc-project-media img { transform: scale(1.025); }
.mc-project-placeholder { display: grid; place-items: center; isolation: isolate; }
.mc-project-placeholder > div { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.mc-project-placeholder small { color: rgba(255, 255, 255, .58); font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.mc-project-placeholder strong { color: #fff; font-family: "Space Grotesk"; font-size: clamp(38px, 5vw, 68px); line-height: 1; letter-spacing: -.055em; }
.mc-project-infection { background: radial-gradient(circle at 50% 42%, rgba(218, 73, 82, .32), transparent 34%), linear-gradient(145deg, #29131a, #0b111f 72%); }
.mc-project-esmeralda { background: radial-gradient(circle at 50% 42%, rgba(67, 213, 145, .3), transparent 34%), linear-gradient(145deg, #10291f, #0b121e 72%); }
.mc-project-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 4vw, 58px); }
.mc-project-copy > span, .mc-plugin-card span { color: var(--blue-light); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.mc-project-copy h3 { margin-top: 13px; font-family: "Space Grotesk"; font-size: clamp(38px, 4vw, 54px); line-height: 1; letter-spacing: -.05em; }
.mc-project-copy > p { margin-top: 14px; color: var(--muted); font-size: 13px; line-height: 1.75; }
.mc-project-copy ul { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); list-style: none; color: #8491a8; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.mc-project-copy > strong { margin-top: 34px; color: #dce6f8; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

.mc-plugin-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mc-plugin-card { display: flex; flex-direction: column; overflow: hidden; background: var(--panel); border: 1px solid var(--line); transition: transform .25s, border-color .25s; }
.mc-plugin-card:hover { transform: translateY(-5px); border-color: var(--line-strong); }
.mc-plugin-media { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: #090e1b; }
.mc-plugin-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 68%, rgba(5, 9, 19, .28)); pointer-events: none; }
.mc-plugin-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .65s cubic-bezier(.2, .65, .2, 1); }
.mc-plugin-card:hover .mc-plugin-media img { transform: scale(1.035); }
.mc-plugin-media > span { position: absolute; z-index: 2; top: 17px; left: 17px; display: grid; place-items: center; width: 36px; height: 36px; background: rgba(8, 13, 28, .82); border: 1px solid rgba(255, 255, 255, .15); color: #fff; font-family: "Space Grotesk"; font-size: 10px; backdrop-filter: blur(8px); }
.mc-plugin-copy { display: flex; flex: 1; flex-direction: column; min-height: 270px; padding: 28px; }
.mc-plugin-card h3 { margin-top: 11px; font-family: "Space Grotesk"; font-size: 30px; letter-spacing: -.04em; }
.mc-plugin-card p { margin-top: 13px; color: var(--muted); font-size: 13px; line-height: 1.72; }
.mc-plugin-more { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: auto; padding-top: 20px; border: 0; border-top: 1px solid var(--line); background: transparent; color: #e7edf8; font-size: 11px; font-weight: 800; cursor: pointer; text-align: left; }
.mc-plugin-more > span { color: var(--blue-light); font-size: 18px; transition: transform .2s; }
.mc-plugin-more:hover { color: var(--blue-light); }
.mc-plugin-more:hover > span { transform: translate(4px, -4px); }

.plugin-dialog { width: min(calc(100% - 40px), 1160px); max-height: 88dvh; margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; scroll-behavior: smooth; scrollbar-color: #4f8df7 #07101f; scrollbar-width: thin; background: #0b1223; color: var(--text); border: 1px solid rgba(122, 164, 239, .3); box-shadow: 0 45px 120px rgba(0, 0, 0, .65); }
.plugin-dialog::-webkit-scrollbar { width: 9px; }
.plugin-dialog::-webkit-scrollbar-track { background: #07101f; }
.plugin-dialog::-webkit-scrollbar-thumb { background: #4f8df7; border: 2px solid #07101f; }
.plugin-dialog::backdrop { background: rgba(3, 6, 14, .82); backdrop-filter: blur(8px); }
.plugin-scroll-progress { position: sticky; z-index: 12; top: 0; height: 3px; overflow: hidden; background: rgba(119, 170, 255, .12); }
.plugin-scroll-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--blue), var(--cyan)); transform: scaleX(0); transform-origin: left; transition: transform .1s linear; }
.plugin-dialog-close { position: sticky; z-index: 5; top: 18px; float: right; width: 42px; height: 42px; margin: 18px 18px -60px 0; border: 1px solid rgba(255, 255, 255, .18); background: rgba(8, 13, 28, .88); cursor: pointer; }
.plugin-dialog-close span { position: absolute; top: 19px; left: 10px; width: 20px; height: 2px; background: #fff; transform: rotate(45deg); }
.plugin-dialog-close span:last-child { transform: rotate(-45deg); }
.plugin-scroll-controls { position: fixed; z-index: 8; right: max(24px, calc((100vw - 1160px) / 2 + 24px)); bottom: 8dvh; display: grid; gap: 7px; }
.plugin-scroll-controls button { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(255, 255, 255, .17); background: rgba(8, 13, 28, .9); color: #fff; font-size: 17px; cursor: pointer; backdrop-filter: blur(10px); transition: background .2s, opacity .2s; }
.plugin-scroll-controls button:hover:not(:disabled) { background: var(--blue); }
.plugin-scroll-controls button:disabled { opacity: .24; cursor: default; }
.plugin-detail[hidden] { display: none; }
.plugin-detail > header { padding: 52px clamp(28px, 5vw, 66px) 42px; background: linear-gradient(135deg, #142a52, #0d172c 72%); border-bottom: 1px solid var(--line); }
.plugin-detail > header p { color: var(--blue-light); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.plugin-detail > header h2 { margin-top: 12px; font-family: "Space Grotesk"; font-size: clamp(45px, 6vw, 76px); line-height: 1; letter-spacing: -.055em; }
.plugin-detail > header > span { display: block; max-width: 700px; margin-top: 17px; color: #aebbd0; font-size: 14px; line-height: 1.7; }
.plugin-detail-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); gap: clamp(32px, 5vw, 66px); padding: clamp(28px, 5vw, 66px); }
.plugin-detail-media video, .plugin-detail-media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: #050914; border: 1px solid var(--line); }
.plugin-detail-media small { display: block; margin-top: 12px; color: var(--muted-soft); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.plugin-detail-copy h3 { font-family: "Space Grotesk"; font-size: 28px; letter-spacing: -.035em; }
.plugin-detail-copy > p { margin-top: 14px; color: var(--muted); font-size: 13px; line-height: 1.75; }
.plugin-detail-copy ul { margin-top: 26px; border-top: 1px solid var(--line); list-style: none; }
.plugin-detail-copy li { display: grid; grid-template-columns: 135px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.plugin-detail-copy li strong { color: #e8eef9; font-size: 11px; }
.plugin-detail-copy li span { color: var(--muted); font-size: 11px; line-height: 1.55; }
.plugin-story-list { padding: 0 clamp(28px, 5vw, 66px) clamp(44px, 6vw, 78px); }
.plugin-story-list figure { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); gap: clamp(28px, 5vw, 70px); align-items: center; min-width: 0; padding: clamp(34px, 5vw, 60px) 0; border-top: 1px solid var(--line); }
.plugin-story-list figcaption { min-width: 0; }
.plugin-story-list figcaption > span { color: var(--blue-light); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.plugin-story-list h3 { margin-top: 10px; font-family: "Space Grotesk"; font-size: clamp(25px, 3vw, 36px); letter-spacing: -.04em; }
.plugin-story-list p { max-width: 390px; margin-top: 13px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.plugin-story-list img, .plugin-story-list video { display: block; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #050914; border: 1px solid var(--line); }
.plugin-story-list video { height: auto; max-height: 410px; object-fit: contain; }
body:has(.plugin-dialog[open]) { overflow: hidden; }

.mc-models { background: #0a1122; border-block: 1px solid var(--line); }
.mc-model-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 12px; }
.mc-model-grid figure { overflow: hidden; background: var(--panel); border: 1px solid var(--line); transition: transform .25s, border-color .25s; }
.mc-model-grid figure:hover { transform: translateY(-4px); border-color: var(--line-strong); }
.mc-model-grid img { width: 100%; aspect-ratio: 1; object-fit: contain; object-position: center; background: linear-gradient(145deg, #272b35, #1b1e26); opacity: .16; transition: transform .65s cubic-bezier(.2, .65, .2, 1), opacity .3s; }
.mc-model-grid img.is-loaded { opacity: 1; }
.mc-model-grid figure:hover img { transform: scale(1.025); }
.mc-model-grid figcaption { display: flex; justify-content: space-between; gap: 10px; align-items: center; min-height: 54px; padding: 13px 14px; border-top: 1px solid var(--line); }
.mc-model-grid strong { overflow: hidden; font-family: "Space Grotesk"; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.mc-model-grid span { color: var(--muted-soft); font-size: 7px; font-weight: 800; letter-spacing: .06em; text-align: right; text-transform: uppercase; }

.mc-cta { text-align: center; }
.mc-cta .eyebrow { justify-content: center; }
.mc-cta h2 { max-width: 900px; margin-inline: auto; font-size: clamp(48px, 6.2vw, 86px); line-height: .98; }
.mc-cta > p:not(.eyebrow) { max-width: 630px; margin: 28px auto 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.mc-cta .button { margin-top: 34px; }
.minecraft-page .site-footer { margin-top: 0; }

@media (max-width: 1060px) {
    .mc-hero { grid-template-columns: 1fr; padding-top: 170px; }
    .mc-hero-copy { max-width: 850px; }
    .mc-hero-media { width: min(100%, 780px); }
    .mc-service-list article { grid-template-columns: 55px 1fr; }
    .mc-service-list ul { grid-column: 2; justify-content: flex-start; }
    .mc-project-card, .mc-project-card-reverse { grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); }
    .plugin-detail-layout { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
    .mc-hero { min-height: auto; padding-top: 135px; padding-bottom: 95px; }
    .mc-hero h1 { font-size: clamp(45px, 12vw, 66px); }
    .mc-hero-copy > p:not(.eyebrow) { font-size: 15px; }
    .mc-hero-media { padding: 8px; transform: none; }
    .mc-hero-badge { right: 10px; bottom: -25px; }
    .mc-service-list article { grid-template-columns: 38px 1fr; gap: 14px; padding: 32px 0; }
    .mc-service-list h2 { font-size: 24px; }
    .mc-service-list ul { grid-column: 2; }
    .mc-project-card, .mc-project-card-reverse { grid-template-columns: 1fr; }
    .mc-project-card-reverse .mc-project-media, .mc-project-card-reverse .mc-project-copy { grid-column: 1; }
    .mc-project-card-reverse .mc-project-media { grid-row: 1; }
    .mc-project-card-reverse .mc-project-copy { grid-row: 2; }
    .mc-project-media, .mc-project-media img { min-height: 300px; }
    .mc-plugin-grid { grid-template-columns: 1fr; }
    .mc-plugin-copy { min-height: 240px; }
    .mc-project-copy { padding: 26px; }
    .mc-model-grid { grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)); }
    .plugin-dialog { width: min(calc(100% - 20px), 1160px); max-height: 94dvh; }
    .plugin-scroll-controls { right: 16px; bottom: 5dvh; }
    .plugin-detail > header { padding: 60px 24px 30px; }
    .plugin-detail-layout { padding: 24px; }
    .plugin-story-list { padding: 0 24px 42px; }
    .plugin-story-list figure { grid-template-columns: 1fr; gap: 22px; }
    .plugin-story-list video { max-height: none; }
}

@media (max-width: 470px) {
    .mc-hero-badge { display: none; }
    .mc-tech-list { gap: 7px; }
    .mc-tech-list li { font-size: 8px; }
    .mc-service-list article { grid-template-columns: 1fr; }
    .mc-service-list article > span { margin-bottom: -2px; }
    .mc-service-list ul { grid-column: 1; }
    .mc-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .mc-model-grid figcaption { align-items: flex-start; flex-direction: column; min-height: 66px; padding: 11px; }
    .mc-model-grid span { text-align: left; }
    .plugin-detail-copy li { grid-template-columns: 1fr; gap: 5px; }
    .mc-cta h2 { font-size: 44px; }
}
