/* Shared interior layouts. The landing retains its own section composition. */
body.theme-v2 { --navy:#f1f3ec; --navy-2:#b8c9b3; --blue:#c5f675; --blue-light:#c5f6750d; --text:#e8eee3; --muted:#8a969f; --line:#ffffff12; --bg:#0a0d12; --white:#11171d; --shadow:0 20px 55px #0003; color-scheme:dark; }
body.theme-v2 .main-nav [aria-current="page"]:not(.nav-cta) { color:var(--v2-accent); }
body.theme-v2 .main-nav [aria-current="page"]:not(.nav-cta)::after { background:var(--v2-accent); }
body.theme-v2 .page-curtain { background:#0a1010; }.theme-v2 .curtain-dot { color:var(--v2-accent); }
.theme-v2 .access-skip { background:var(--v2-accent); color:#15210c; }
.theme-v2 .site-messages { background:#16251b; border-color:#a4d36d40; color:#d4edbc; }
.theme-v2 .btn { font-weight:500; border-radius:5px; gap:22px; min-height:44px; font-size:12px; }
.theme-v2 .btn-primary { background:var(--v2-accent); color:#19250e; box-shadow:none; border:1px solid transparent; }
.theme-v2 .btn-primary:hover { background:#d3ff96; box-shadow:0 8px 30px #c5f67512; }
.theme-v2 .btn-outline { color:#d5dfcd; background:transparent; border:1px solid #ffffff22; }
.theme-v2 .btn-outline:hover { background:#c5f67509; border-color:#c5f67566; }
.theme-v2 .text-link,.theme-v2 .view-all { color:#bfd3b0; font-weight:500; }.theme-v2 .subtle-text { color:#8d9a9f; }
.theme-v2 .blue-dot { color:var(--v2-accent); }.theme-v2 .eyebrow { color:#91a284; font:500 9px var(--font-en); letter-spacing:1.8px; }
.inner-page .section { padding-inline:max(56px,calc((100% - 1280px)/2)); }
.inner-page #main-content { position:relative; isolation:isolate; background:radial-gradient(ellipse at 5% 3%,#6b9f6b08,transparent 35%); }
.inner-page #main-content::before { content:''; position:absolute; inset:0; pointer-events:none; z-index:-1; opacity:.025; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.inner-page .page-heading { min-height:405px; padding-top:45px; padding-bottom:60px; background:radial-gradient(ellipse at 12% 72%,#477e5c16,transparent 40%); border-bottom:1px solid var(--v2-line); position:relative; }
.inner-page .breadcrumb { font-size:10px; color:#697a73; margin-bottom:36px; width:fit-content; }
.inner-page .breadcrumb:hover { color:#c5f675; }
.inner-page .page-heading .eyebrow { color:#94aa87; font-size:8px; letter-spacing:2px; margin-bottom:14px; }
.inner-page .page-heading h1 { font-size:clamp(34px,3.8vw,54px); line-height:1.75; letter-spacing:-1.6px; color:#f0f3e8; max-width:850px; }
.inner-page .page-heading h1 em { color:#c5f675; }
.inner-page .page-heading > p { max-width:640px; color:#92a098; font-size:13px; line-height:2.3; margin-top:20px; }
.inner-page .page-heading::after { content:'CODE. BREAK. UNDERSTAND.'; position:absolute; bottom:34px; left:max(56px,calc((100% - 1280px)/2)); writing-mode:vertical-rl; font:500 7px var(--font-en); letter-spacing:2px; color:#5c7364; }
.inner-page .heading-orbit { left:max(90px,calc((100% - 1160px)/2)); bottom:83px; width:185px; height:185px; color:var(--v2-accent); background:radial-gradient(circle at 30% 25%,#344d34,#0f191c 62%,#0a1015); border:1px solid #b4d58238; border-radius:30%; transform:perspective(700px) rotateX(18deg) rotateY(-24deg) rotateZ(-12deg); box-shadow:inset -15px -15px 30px #0006,12px 20px 0 -3px #19251c,14px 22px 0 -3px #53674766,0 20px 60px #7cbe4720; font-size:58px; }
.inner-page .heading-orbit::before { inset:20px -44px; border-color:#b6d98255; transform:rotate(-20deg); }
.inner-page .heading-orbit::after { background:#c5f675; border:0; width:7px; height:7px; top:35px; right:-15px; box-shadow:0 0 18px #c5f67588; }
.inner-page .section-heading { margin-bottom:32px; }.inner-page .section-heading h2 { font-size:30px; letter-spacing:-.8px; }
.inner-page .section-heading .eyebrow { margin-bottom:10px; }
.inner-page .catalog-section { padding-block:45px 65px; }
.inner-page .catalog-filters { background:#10171b; border-color:var(--v2-line); border-radius:7px; padding:23px; gap:16px; margin-bottom:40px; }
.inner-page .catalog-filters label { color:#a6b6a0; font-size:11px; font-weight:400; margin-bottom:10px; }
.inner-page .catalog-filters input,.inner-page .catalog-filters select { color:#dce5d6; background:#0b1116; border-color:#ffffff18; border-radius:5px; height:46px; font-size:12px; }
.inner-page .catalog-filters input::placeholder { color:#697a73; }.inner-page .search-field > i { color:#7c9276; }.inner-page .filter-reset { color:#a3b49b; }
.inner-page .results-heading { margin-bottom:27px; }.inner-page .results-heading h2 { font-size:23px; font-weight:500; }.inner-page .results-heading > span { color:#74866f; font-size:10px; }
.inner-page .works-grid.listing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.inner-page .catalog-card { background:#11171c; border:1px solid #ffffff10; border-radius:9px; box-shadow:none; overflow:hidden; transition:transform .3s,border-color .3s,box-shadow .3s; }
.inner-page .catalog-card:hover { border-color:#c5f6754d; transform:translateY(-5px); box-shadow:0 16px 35px #0003; }
.inner-page .catalog-card .card-cover { height:270px; background:radial-gradient(ellipse at 30% 100%,#34512866,transparent 80%),#10171b; }
.inner-page .catalog-card:nth-child(even) .project-cover { background:radial-gradient(ellipse at 60% 100%,#1a525455,transparent 80%),#10171b; }
.inner-page .catalog-card .work-content,.inner-page .catalog-card .card-body { padding:26px; }
.inner-page .catalog-card h3 { color:#e9eee3; font-size:21px; font-weight:500; line-height:1.7; margin:7px 0 13px; }
.inner-page .catalog-card p { color:#8f9b9e; font-size:12px; line-height:2.2; margin-bottom:21px; }
.inner-page .card-kicker { color:#93ae82; font-size:10px; letter-spacing:.2px; }
.inner-page .demo-tag { color:#8e9d88; background:#ffffff07; border:1px solid #ffffff0c; }
.inner-page .tags { gap:6px; }.inner-page .tags span { color:#9fb291; background:transparent; border:1px solid #ffffff15; border-radius:3px; font-size:9px; font-weight:400; }
.inner-page .card-more { color:#bad2a7; border-color:#ffffff0c; font-size:11px; font-weight:400; padding-top:18px; margin-top:24px; }
.inner-page .cover-link { top:18px; left:18px; bottom:auto; background:#c5f675; color:#16230e; width:35px; height:35px; box-shadow:none; z-index:2; font-size:20px; }
.catalog-terminal { position:absolute; inset:36px 36px -20px; direction:ltr; background:#0a1014; border:1px solid #455442; border-radius:9px; box-shadow:0 20px 40px #0004; transform:perspective(800px) rotateX(6deg) rotateY(-7deg) rotateZ(2deg); transition:transform .5s; overflow:hidden; }
.catalog-card:nth-child(even) .catalog-terminal { transform:perspective(800px) rotateX(6deg) rotateY(7deg) rotateZ(-2deg); border-color:#315253; }
.catalog-card:hover .catalog-terminal { transform:perspective(800px) rotateX(0) rotateY(0) rotateZ(0); }
.catalog-terminal-top { padding:9px 15px; border-bottom:1px solid #ffffff12; display:flex; justify-content:space-between; align-items:center; color:#52674f; font:8px var(--font-en); }
.catalog-terminal-top > span:first-child { letter-spacing:5px; }.catalog-terminal-body { padding:18px 23px; font:10px/2 var(--font-en); color:#98a992; }.catalog-terminal-body small { color:#5f7366; font-size:8px; }.catalog-terminal-body p { font:10px/2 var(--font-en)!important; color:#b2c69f!important; margin:8px 0!important; }.catalog-terminal-body b { color:#c5f675; }.catalog-terminal-glyph { font:500 54px/1.6 var(--font-en); color:#aada78; text-align:center; }.catalog-card:nth-child(even) .catalog-terminal-glyph { color:#76c4c4; }
.inner-page .course-grid.listing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.inner-page .course-grid .card-cover { height:220px; }.inner-page .course-grid h3 { font-size:17px; }
.inner-page .tutorial-art { background:radial-gradient(ellipse at 5% 100%,#2c5235,#0c1717 70%); padding:30px; border-bottom:1px solid #ffffff09; }
.inner-page .catalog-card:nth-child(3n+2) .tutorial-art { background:radial-gradient(ellipse at 5% 100%,#235353,#0d1920 70%); }.inner-page .catalog-card:nth-child(3n+3) .tutorial-art { background:radial-gradient(ellipse at 5% 100%,#425337,#141c14 70%); }
.inner-page .tutorial-art strong { font-size:32px; font-weight:600; color:#d1e3bf; transform:perspective(300px) rotateY(15deg); }.inner-page .art-code { color:#9cce73; }.inner-page .art-grid { background-image:linear-gradient(#aaca8f 1px,transparent 1px),linear-gradient(90deg,#aaca8f 1px,transparent 1px); opacity:.07; }
.inner-page .youtube-play { color:#c5f675; background:#c5f6750e; border-color:#c5f67544; width:45px; height:45px; }.inner-page .catalog-card:hover .youtube-play { background:#c5f675; color:#14210b; }.inner-page .duration { background:#0a1218cc; color:#b4caa5; }.inner-page .tutorial-meta { border-color:#ffffff10; color:#758670; font-size:9px; }.inner-page .youtube-label { color:#bbd5a4; }
.inner-page .learning-note { background:#141d16; border-color:#a1cc7133; border-radius:7px; padding:25px; margin-bottom:30px; }.inner-page .learning-note > i { color:#c5f675; }.inner-page .learning-note strong { font-size:14px; font-weight:500; }.inner-page .learning-note p { color:#91a18a; font-size:11px; line-height:2; }.inner-page .learning-note > span { color:#bfd8a7; }
.inner-page .empty-state { padding:70px 25px; border-color:#82948733; border-radius:7px; background:#10171b; color:#cedbc4; }.inner-page .empty-state > i { color:#91b371; }.inner-page .empty-state p { color:#859383; font-size:12px; }.inner-page .empty-state h3 { font-size:18px; font-weight:500; }
.inner-page .pagination { margin-top:40px; color:#8b9b83; font-size:11px; }
.inner-page .project-heading h1 { max-width:920px; }.inner-page .project-heading .tags { margin-top:25px; }
.inner-page .project-detail { grid-template-columns:minmax(0,1fr) 330px; gap:60px; padding-block:60px 80px; }.inner-page .project-story { min-width:0; }.inner-page .project-story h2 { font-size:28px; font-weight:500; margin-block:30px 20px; }
.inner-page .prose { color:#97a59f; font-size:14px; line-height:2.5; }.inner-page .prose p { margin-bottom:25px; }
.inner-page .detail-cover { max-height:450px; border:1px solid #ffffff12; border-radius:8px; }.detail-project-art { position:relative; height:330px; background:radial-gradient(ellipse at bottom,#28452b66,transparent 85%),#10181d; border:1px solid #ffffff10; border-radius:8px; overflow:hidden; margin-bottom:30px; }.detail-project-art .catalog-terminal { inset:35px 55px -25px; }.detail-project-art .catalog-terminal-glyph { font-size:85px; }
.inner-page .project-facts { background:#11191d; border-color:#ffffff12; padding:30px; border-radius:8px; }.inner-page .project-facts h2 { font-size:23px; margin-top:12px; }.inner-page .project-facts dl { border-block:1px solid #ffffff10; padding-block:10px 20px; margin-block:25px; }.inner-page .project-facts dt { color:#758970; font-size:10px; margin-top:15px; }.inner-page .project-facts dd { color:#c6d5bb; font-size:12px; line-height:2; margin-top:7px; }.inner-page .demo-notice { background:#1a231b; border-color:#a0bb7b20; color:#adbf9e; }
.inner-page .contact-cta { width:min(1280px,calc(100% - 112px)); margin:0 auto 75px; padding:34px; background:linear-gradient(110deg,#1b2b1e,#121b1b); border:1px solid #c5f67526; border-radius:8px; box-shadow:none; }
.inner-page .contact-cta::before { background:#a3d65d0a; }.inner-page .cta-icon { background:#c5f67510; color:#c5f675; border:1px solid #c5f67525; box-shadow:none; }.inner-page .cta-copy h2 { color:#e1ecd9; font-size:25px; font-weight:500; }.inner-page .cta-copy p { color:#8b9e82; font-size:11px; }.inner-page .btn-cta { background:#c5f675; color:#19250e; box-shadow:none; border:0; }.inner-page .cta-action small { color:#7b946b; font-size:7px; }
.inner-page .error-page { width:min(900px,calc(100% - 60px)); margin:80px auto; padding-block:90px; }.inner-page .error-page h1 { font-size:40px; color:#d8e8ce; margin-top:25px; }
.theme-v2 :focus-visible { outline-color:#c5f675; }
@media(max-width:1100px) { .inner-page .section { padding-inline:36px; }.inner-page .heading-orbit { left:70px; width:150px; height:150px; bottom:90px; }.inner-page .page-heading h1 { max-width:680px; font-size:44px; }.inner-page .page-heading > p { max-width:65%; }.inner-page .project-detail { grid-template-columns:minmax(0,1fr) 290px; gap:30px; }.inner-page .contact-cta { width:calc(100% - 72px); }.inner-page .cta-copy h2 { font-size:20px; }.inner-page .page-heading::after { left:30px; } }
@media(max-width:820px) { .inner-page .section { padding-inline:24px; }.inner-page .page-heading { min-height:370px; padding-top:32px; padding-bottom:40px; }.inner-page .page-heading h1 { font-size:38px; max-width:80%; }.inner-page .heading-orbit { left:35px; bottom:80px; width:120px; height:120px; font-size:38px; opacity:.5; z-index:0; }.inner-page .page-heading > p { max-width:80%; }.inner-page .page-heading::after { display:none; }.inner-page .course-grid.listing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.inner-page .catalog-card .card-cover { height:220px; }.catalog-terminal { inset:25px 20px -25px; }.inner-page .catalog-card .work-content,.inner-page .catalog-card .card-body { padding:20px; }.inner-page .catalog-card h3 { font-size:19px; }.inner-page .project-detail { grid-template-columns:1fr; }.inner-page .project-facts { max-width:none; }.inner-page .contact-cta { width:calc(100% - 48px); padding:25px; }.inner-page .section-heading h2 { font-size:25px; }.inner-page .contact-cta .cta-icon { display:none; } }
@media(max-width:560px) { .inner-page .section { padding-inline:20px; }.inner-page .page-heading { min-height:350px; padding-top:25px; padding-bottom:36px; }.inner-page .breadcrumb { margin-bottom:27px; font-size:9px; }.inner-page .page-heading .eyebrow { font-size:7px; letter-spacing:1px; }.inner-page .page-heading h1 { font-size:31px; max-width:100%; line-height:1.8; letter-spacing:-1px; }.inner-page .page-heading > p { max-width:100%; font-size:11px; line-height:2.3; margin-top:16px; }.inner-page .heading-orbit { width:85px; height:85px; left:22px; bottom:auto; top:45px; opacity:.18; font-size:30px; }.inner-page .heading-orbit::before { inset:10px -20px; }.inner-page .works-grid.listing-grid,.inner-page .course-grid.listing-grid { grid-template-columns:1fr; gap:24px; }.inner-page .catalog-section { padding-block:30px 45px; }.inner-page .catalog-filters { padding:18px; margin-bottom:30px; gap:16px; }.inner-page .catalog-filters input,.inner-page .catalog-filters select { height:44px; font-size:11px; }.inner-page .catalog-card .card-cover { height:250px; }.inner-page .course-grid .card-cover { height:215px; }.inner-page .catalog-card h3 { font-size:20px; }.inner-page .catalog-card p { font-size:11px; }.inner-page .results-heading h2 { font-size:20px; }.inner-page .learning-note { padding:20px; }.inner-page .learning-note p { font-size:10px; }.inner-page .learning-note strong { font-size:12px; }.inner-page .pagination { gap:12px; font-size:10px; }.inner-page .pagination .btn { padding:9px 12px; font-size:10px; }.inner-page .project-detail { padding-block:35px 45px; }.inner-page .prose { font-size:12px; }.inner-page .project-story h2 { font-size:24px; }.inner-page .project-facts { padding:25px; }.detail-project-art { height:250px; }.detail-project-art .catalog-terminal { inset:25px 20px -25px; }.detail-project-art .catalog-terminal-glyph { font-size:65px; }.inner-page .contact-cta { width:calc(100% - 40px); margin-bottom:45px; padding:25px; flex-direction:column; align-items:flex-start; gap:20px; }.inner-page .cta-copy h2 { font-size:20px; }.inner-page .cta-copy p { font-size:11px; line-height:2.2; }.inner-page .cta-action { align-items:flex-start; }.inner-page .error-page { margin:45px auto; padding-block:65px; }.inner-page .error-page h1 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { .catalog-card:hover .catalog-terminal { transform:none; }.inner-page .catalog-card:hover { transform:none; } }
