.home-page{min-height:100vh;position:relative}.home-hero-image{width:100%;height:100vh;padding-top:80px;position:relative;overflow:hidden}.home-hero-image:before{content:"";z-index:1;background:#322c27;height:80px;position:absolute;top:0;left:0;right:0}.home-hero-image img{object-fit:cover;object-position:center top;filter:brightness(1.05)contrast(1.05);z-index:0;width:100%;height:calc(100vh - 80px);position:relative}.home-hero-content{flex-direction:column;justify-content:center;gap:2rem;max-width:650px;padding:4rem 3rem 4rem 4rem;display:flex}.home-title{letter-spacing:-.03em;color:var(--foreground);margin:0;font-size:clamp(2.5rem,5vw,4rem);font-weight:600;line-height:1.1}.home-blurb{flex-direction:column;gap:1.5rem;display:flex}.home-blurb p{color:var(--foreground);opacity:.8;margin:0;font-size:1.0625rem;line-height:1.7}.home-blurb p.home-intro{opacity:.9;font-size:1.25rem;font-weight:500;line-height:1.6}.home-cta{gap:1rem;margin-top:1rem;display:flex}.cta-button{border-radius:calc(var(--radius)*.5);letter-spacing:-.01em;justify-content:center;align-items:center;padding:.875rem 2rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.cta-button.primary{color:#fff;background:#c00014;box-shadow:0 2px 4px #c0001433,0 4px 12px #c0001426}.cta-button.primary:hover{background:#a00011;transform:translateY(-2px);box-shadow:0 4px 8px #c000144d,0 8px 24px #c0001440}.cta-button.secondary{color:var(--foreground);border:1.5px solid var(--border-subtle);background:0 0}.cta-button.secondary:hover{border-color:var(--foreground);background:#00000008}@media (prefers-color-scheme:dark){.cta-button.secondary:hover{background:#ffffff0d}}@media (max-width:1024px){.home-hero-content{padding:4rem 3rem}}@media (max-width:900px){.home-hero-inner{grid-template-columns:1fr;min-height:auto}.home-hero-image{height:60vh;min-height:500px}.home-hero-content{padding:4rem 2rem}.home-scroll-container{height:600vh}}@media (max-width:640px){.home-hero-image{height:50vh;min-height:400px}.home-hero-content{padding:3rem 1.5rem}.home-blurb p{font-size:1rem}.home-cta{flex-direction:column;width:100%}.cta-button{width:100%}}.home-section{padding:clamp(5rem,10vh,8rem) 2rem}.home-container{max-width:1200px;margin:0 auto}.home-section-title{letter-spacing:-.03em;color:var(--foreground);text-align:center;margin-bottom:2rem;font-size:clamp(2.5rem,5vw,3rem);font-weight:600;line-height:1.1}.home-section-intro{color:var(--foreground);opacity:.75;text-align:center;max-width:800px;margin:0 auto 3rem;font-size:1.125rem;line-height:1.7}.home-about{background:linear-gradient(#0000,#00000003,#0000)}@media (prefers-color-scheme:dark){.home-about{background:linear-gradient(#0000,#ffffff05,#0000)}}.home-about-content{max-width:900px;margin:0 auto}.home-about-text{flex-direction:column;gap:1.5rem;display:flex}.home-about-text p{color:var(--foreground);opacity:.8;margin:0;font-size:1.125rem;line-height:1.8}.home-timeline{background:var(--background);overflow-x:hidden}.home-timeline-horizontal{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#0000001a transparent;align-items:flex-start;gap:clamp(2rem,5vw,4rem);padding:3rem 0;display:flex;position:relative;overflow:auto visible}.home-timeline-horizontal::-webkit-scrollbar{height:6px}.home-timeline-horizontal::-webkit-scrollbar-track{background:0 0}.home-timeline-horizontal::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}@media (prefers-color-scheme:dark){.home-timeline-horizontal::-webkit-scrollbar-thumb{background:#ffffff1a}.home-timeline-horizontal{scrollbar-color:#ffffff1a transparent}}.home-timeline-line{z-index:0;background:linear-gradient(90deg,#0000,#0000001a 10% 90%,#0000);height:2px;position:absolute;top:60px;left:0;right:0}@media (prefers-color-scheme:dark){.home-timeline-line{background:linear-gradient(90deg,#0000,#ffffff1a 10% 90%,#0000)}}.home-timeline-item-horizontal{text-align:center;scroll-snap-align:center;z-index:1;flex-direction:column;flex:none;align-items:center;min-width:clamp(160px,20vw,200px);display:flex;position:relative}.home-timeline-dot{background:var(--foreground);border:3px solid var(--background);width:16px;height:16px;box-shadow:0 0 0 2px var(--foreground);z-index:2;border-radius:50%;flex-shrink:0;margin-bottom:1.5rem;position:relative}.home-timeline-content-horizontal{flex-direction:column;gap:.5rem;display:flex}.home-timeline-date{letter-spacing:.02em;color:var(--foreground);opacity:.6;font-size:.875rem;font-weight:600}.home-timeline-title-horizontal{letter-spacing:-.01em;color:var(--foreground);margin:0;font-size:1.125rem;font-weight:600;line-height:1.3}.home-timeline-description-horizontal{color:var(--foreground);opacity:.7;margin:0;font-size:.9375rem;line-height:1.6}@media (max-width:768px){.home-timeline-horizontal{gap:2rem;padding:2.5rem 0}.home-timeline-item-horizontal{min-width:140px}.home-timeline-line{top:50px}.home-timeline-dot{width:14px;height:14px;margin-bottom:1.25rem}.home-timeline-date{font-size:.8125rem}.home-timeline-title-horizontal{font-size:1rem}.home-timeline-description-horizontal{font-size:.875rem}}.home-scroll-container{height:560vh;position:relative}.home-scroll-sticky{width:100%;height:100vh;position:sticky;top:0;overflow:hidden}.scroll-layer{will-change:opacity,transform;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scroll-layer:first-child{z-index:1}.scroll-layer:nth-child(2){z-index:2}.scroll-layer:nth-child(3){z-index:3}.home-hero-inner{background:0 0;grid-template-columns:45% 55%;width:100%;height:100%;display:grid}.home-development-compact{background:0 0;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:clamp(3rem,8vh,5rem) 2rem;display:flex;position:relative}@media (prefers-color-scheme:dark){.home-development-compact{background:linear-gradient(#0000,#ffffff06,#0000)}}.dev-compact-wrapper{will-change:opacity,transform;width:100%;max-width:1100px;margin:0 auto}.dev-compact-header{text-align:center;margin-bottom:4rem}.dev-compact-title{letter-spacing:-.03em;color:var(--foreground);justify-content:center;margin:0;font-size:clamp(3rem,6vw,4.5rem);font-weight:600;line-height:1;display:flex}.dev-title-char{display:inline-block}.dev-timeline-container{justify-content:center;align-items:center;gap:1rem;width:100%;min-height:500px;display:flex}.dev-card{cursor:pointer;border:1px solid var(--border-subtle);z-index:1;background:linear-gradient(145deg,#00000004,#00000001);border-radius:16px;width:160px;height:180px;transition:width .6s cubic-bezier(.4,0,.2,1),height .6s cubic-bezier(.4,0,.2,1),box-shadow .6s cubic-bezier(.4,0,.2,1),border-color .6s cubic-bezier(.4,0,.2,1),opacity .4s,transform .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.dev-card::-webkit-scrollbar{width:6px}.dev-card::-webkit-scrollbar-track{background:0 0}.dev-card::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}@media (prefers-color-scheme:dark){.dev-card::-webkit-scrollbar-thumb{background:#ffffff26}}.dev-card:not(.expanded){scrollbar-width:none}.dev-card:not(.expanded)::-webkit-scrollbar{display:none}@media (prefers-color-scheme:dark){.dev-card{background:linear-gradient(145deg,#ffffff08,#ffffff03)}}.dev-card.expanded{z-index:10;border-color:#c0001459;width:420px;height:460px;overflow-y:auto;box-shadow:0 16px 48px #0000001a,0 6px 20px #c000140f}@media (prefers-color-scheme:dark){.dev-card.expanded{box-shadow:0 16px 48px #00000059,0 6px 20px #c000141f}}.dev-card.dimmed{opacity:.4;transform:scale(.95)}.dev-card-front{text-align:center;opacity:1;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;transition:opacity .25s;display:flex;position:absolute;inset:0}.dev-card.expanded .dev-card-front{opacity:0;pointer-events:none;transition:opacity .2s}.dev-card-expanded{text-align:center;opacity:0;pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:center;padding:2.5rem 2rem 2rem;transition:opacity .25s;display:flex;position:absolute;inset:0}.dev-card.expanded .dev-card-expanded{opacity:1;pointer-events:auto;transition:opacity .35s .2s}.dev-card-expanded-header{flex-direction:column;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.dev-card-month{text-transform:uppercase;letter-spacing:.1em;color:#c00014;font-size:.75rem;font-weight:700}.dev-card-title{color:var(--foreground);margin:0;font-size:1.125rem;font-weight:600;line-height:1.3}.dev-card-divider{background:#c0001440;border-radius:1px;flex-shrink:0;width:50px;height:2px;margin:1.25rem 0}.dev-card-description{color:var(--foreground);opacity:.75;text-align:left;flex-direction:column;flex:1;gap:.75rem;max-width:360px;margin:0;padding-right:.5rem;font-size:.875rem;line-height:1.6;display:flex;overflow-y:auto}.dev-card-description p{margin:0}.dev-card-description::-webkit-scrollbar{width:4px}.dev-card-description::-webkit-scrollbar-track{background:0 0}.dev-card-description::-webkit-scrollbar-thumb{background:#c0001433;border-radius:2px}@media (prefers-color-scheme:dark){.dev-card-description::-webkit-scrollbar-thumb{background:#c000144d}}.dev-journey{grid-template-columns:1.5fr 1fr;align-items:start;gap:4rem;max-width:1200px;margin-bottom:5rem;margin-left:auto;margin-right:auto;display:grid}.dev-journey-content{flex-direction:column;gap:1.5rem;display:flex}.dev-journey-label{text-transform:uppercase;letter-spacing:.1em;color:var(--foreground);opacity:.5;font-size:.875rem;font-weight:600}.dev-journey-title{letter-spacing:-.02em;color:var(--foreground);margin:0;font-size:2rem;font-weight:600;line-height:1.2}.dev-journey-text{color:var(--foreground);opacity:.8;margin:0;font-size:1.0625rem;line-height:1.8}.dev-timeline{border:1px solid var(--border-subtle);background:linear-gradient(135deg,#00000005,#00000003);border-radius:20px;flex-direction:column;gap:1.25rem;padding:1.75rem 2rem 1.75rem 2.5rem;display:flex;position:relative}@media (prefers-color-scheme:dark){.dev-timeline{background:linear-gradient(135deg,#ffffff0a,#ffffff05)}}.dev-timeline:before{content:"";background:#0000001f;width:2px;position:absolute;top:2rem;bottom:2rem;left:calc(1.5rem + 4px)}@media (prefers-color-scheme:dark){.dev-timeline:before{background:#ffffff26}}.dev-timeline-item{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:start;gap:.75rem 1.25rem;display:grid;position:relative}.dev-timeline-dot{z-index:2;width:10px;height:10px;box-shadow:0 0 0 3px var(--background);background:#c00014;border-radius:50%;position:absolute;top:.5rem;left:-1rem}.dev-timeline-date{color:var(--foreground);opacity:.45;text-transform:uppercase;letter-spacing:.05em;grid-area:1/2;margin-bottom:-.25rem;font-size:.8125rem;font-weight:700}.dev-timeline-event{color:var(--foreground);opacity:.9;grid-area:2/2;font-size:1.0625rem;font-weight:500;line-height:1.4}.dev-tech-stack{max-width:1200px;margin-bottom:5rem;margin-left:auto;margin-right:auto}.dev-section-heading{letter-spacing:-.02em;color:var(--foreground);text-align:center;margin-bottom:2rem;font-size:1.75rem;font-weight:600}.dev-tech-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;max-width:900px;margin:0 auto;display:grid}.dev-tech-badge{border:1px solid var(--border-subtle);background:linear-gradient(135deg,#00000005,#00000003);border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;transition:all .3s;display:flex}@media (prefers-color-scheme:dark){.dev-tech-badge{background:linear-gradient(135deg,#ffffff0a,#ffffff05)}}.dev-tech-badge:hover{border-color:#0000001f;transform:translateY(-4px);box-shadow:0 8px 24px #0000000f}@media (prefers-color-scheme:dark){.dev-tech-badge:hover{border-color:#ffffff26;box-shadow:0 8px 24px #0003}}.dev-tech-name{color:var(--foreground);text-align:center;font-size:.9375rem;font-weight:600}.dev-tech-category{color:var(--foreground);opacity:.5;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.dev-projects{max-width:1200px;margin-bottom:5rem;margin-left:auto;margin-right:auto}.dev-projects-grid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:2rem;display:grid}.dev-project-card{border:1px solid var(--border-subtle);background:linear-gradient(135deg,#00000005,#00000003);border-radius:20px;padding:2rem;transition:all .4s;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.dev-project-card{background:linear-gradient(135deg,#ffffff0a,#ffffff05)}}.dev-project-card:hover{border-color:#00000026;transform:translateY(-6px);box-shadow:0 16px 48px #0000001f}@media (prefers-color-scheme:dark){.dev-project-card:hover{border-color:#fff3;box-shadow:0 16px 48px #0006}}.dev-project-link{color:inherit;flex-direction:column;gap:1.5rem;height:100%;text-decoration:none;display:flex}.dev-project-header{align-items:flex-start;gap:1rem;display:flex}.dev-project-icon{opacity:.8;border-radius:12px;flex-shrink:0;width:48px;height:48px;transition:opacity .3s}.dev-project-card:hover .dev-project-icon{opacity:1}.dev-project-name{letter-spacing:-.02em;color:var(--foreground);margin:0;font-size:1.5rem;font-weight:600;line-height:1.3}.dev-project-tagline{color:var(--foreground);opacity:.6;margin:.25rem 0 0;font-size:.875rem;line-height:1.4}.dev-project-description{color:var(--foreground);opacity:.8;flex:1;margin:0;font-size:1rem;line-height:1.7}.dev-project-highlights{flex-wrap:wrap;gap:.625rem;display:flex}.dev-project-highlight{color:var(--foreground);opacity:.7;background:#0000000a;border-radius:6px;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;display:inline-block}@media (prefers-color-scheme:dark){.dev-project-highlight{background:#ffffff14}}.dev-project-arrow{color:var(--foreground);opacity:.6;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;transition:all .3s;display:flex}.dev-project-card:hover .dev-project-arrow{opacity:1;gap:.75rem}.dev-project-arrow svg{transition:transform .3s}.dev-project-card:hover .dev-project-arrow svg{transform:translate(3px)}.dev-stats-footer{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:1000px;margin:0 auto;display:grid}.dev-stat-card{text-align:center;border:1px solid var(--border-subtle);background:linear-gradient(135deg,#00000005,#00000003);border-radius:16px;padding:2.5rem 2rem;transition:all .3s}@media (prefers-color-scheme:dark){.dev-stat-card{background:linear-gradient(135deg,#ffffff0a,#ffffff05)}}.dev-stat-card:hover{border-color:#0000001f;transform:translateY(-4px);box-shadow:0 12px 32px #00000014}@media (prefers-color-scheme:dark){.dev-stat-card:hover{border-color:#ffffff26;box-shadow:0 12px 32px #0000004d}}.dev-stat-number{letter-spacing:-.03em;color:var(--foreground);margin-bottom:.75rem;font-size:3rem;font-weight:700;line-height:1}.dev-stat-label{color:var(--foreground);opacity:.6;font-size:.9375rem;font-weight:500;line-height:1.4}@media (max-width:1100px){.dev-timeline-container{flex-wrap:wrap;gap:1rem;min-height:280px}.dev-card{width:140px;height:160px}.dev-card.expanded{width:280px;height:280px}.dev-card-front{padding:1.25rem}.dev-card-expanded{padding:1.5rem}}@media (max-width:768px){.home-development-compact{min-height:auto}.dev-compact-header{margin-bottom:3rem}.dev-compact-title{font-size:2.75rem}.dev-timeline-container{flex-direction:column;align-items:center;min-height:auto}.dev-card{width:100%;max-width:320px;height:100px}.dev-card.expanded{width:100%;max-width:320px;height:240px}.dev-card-front,.dev-card-expanded{flex-direction:column;justify-content:center}.dev-card-divider{width:40px;height:2px;margin:1rem 0}.dev-card-description{max-width:none;font-size:.875rem}.dev-card.dimmed{opacity:.5;transform:scale(.98)}}@media (max-width:640px){.dev-compact-title{font-size:2.25rem}.dev-card{max-width:280px;height:90px}.dev-card.expanded{max-width:280px;height:220px}.dev-card-front,.dev-card-expanded{padding:1.25rem}.dev-card-month{font-size:.6875rem}.dev-card-title{font-size:1rem}.dev-card-description{font-size:.8125rem;line-height:1.5}}.service-section{background:0 0;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:3rem 2rem;display:flex;position:relative;overflow:hidden}.network-container{aspect-ratio:1;width:min(620px,80vw);margin:0 auto;position:relative}.network-lines{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.network-line{stroke:#c000144d;stroke-width:.4px;stroke-dasharray:2 1;stroke-linecap:round}@media (prefers-color-scheme:dark){.network-line{stroke:#c0001466}}.network-center{text-align:center;z-index:4;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;margin-top:0;margin-left:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.service-title-center{letter-spacing:-.03em;color:#c00014;text-align:center;margin:0;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:600}.network-label{text-transform:uppercase;letter-spacing:.15em;color:#c00014;margin-bottom:.25rem;font-size:.5625rem;font-weight:600}.network-title{letter-spacing:-.03em;color:var(--foreground);margin:0;font-size:1rem;font-weight:700;line-height:1.15}.network-title-accent{color:#c00014}.network-cta{color:#c00014;margin-top:.5rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:opacity .2s}.network-cta:hover{opacity:.7}.network-node{z-index:5;text-align:center;background:var(--background);cursor:pointer;will-change:width,height,left,top,margin;border:2px solid #c0001426;border-radius:50%;outline:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden;box-shadow:0 0 30px #c0001414}.network-node:hover{box-shadow:0 0 50px #c0001426}.network-node:focus-visible{border-color:#c0001480;box-shadow:0 0 0 3px #c0001426,0 0 50px #c0001426}.network-node.node-expanded{border-width:2.5px;border-color:#c0001459;box-shadow:0 0 100px #c0001426,0 30px 80px #0000001f,0 10px 30px #0000000f}@media (prefers-color-scheme:dark){.network-node{border-color:#c0001440;box-shadow:0 0 30px #c000141f}.network-node:hover{box-shadow:0 0 50px #c0001440}.network-node:focus-visible{border-color:#c0001499;box-shadow:0 0 0 3px #c0001440,0 0 50px #c0001440}.network-node.node-expanded{border-color:#c0001473;box-shadow:0 0 120px #c0001440,0 30px 80px #0006,0 10px 30px #00000040}}.node-collapsed-content{justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex}.node-title-small{color:var(--foreground);letter-spacing:-.02em;text-align:center;margin:0;font-size:.9375rem;font-weight:600;line-height:1.3}.node-expanded-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;height:100%;padding:3rem 2.5rem;display:flex}.node-label{text-transform:uppercase;letter-spacing:.18em;color:#c00014;margin-bottom:1rem;font-size:.75rem;font-weight:600}.node-title-large{color:#c00014;letter-spacing:-.03em;margin:0;font-size:1.875rem;font-weight:700;line-height:1.15}.node-divider{transform-origin:50%;background:linear-gradient(90deg,#0000,#c0001466,#0000);width:60px;height:2px;margin:1.5rem 0}.node-description{color:var(--foreground);opacity:.75;max-width:80%;margin:0;font-size:1.0625rem;line-height:1.7}.node-link{color:#c00014;background:#c000140f;border:1.5px solid #c0001433;border-radius:28px;align-items:center;gap:.5rem;margin-top:2rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.node-link:hover{background:#c000141a;border-color:#c0001440;gap:.5rem}.node-link svg{transition:transform .25s}.node-link:hover svg{transform:translate(2px)}@media (prefers-color-scheme:dark){.node-link{background:#c000141f;border-color:#c0001440}.node-link:hover{background:#c000142e;border-color:#c0001459}}@media (max-width:768px){.service-section{min-height:auto;padding:4rem 1.5rem}.network-container{aspect-ratio:auto;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:100%;height:auto;display:flex}.network-lines{display:none}.network-center{border-radius:20px;width:auto;height:auto;margin:0 0 1.5rem;padding:2rem 2.5rem;position:relative;inset:auto;opacity:1!important;transform:scale(1)!important}.network-node{border-radius:20px;max-width:380px;min-height:80px;position:relative;opacity:1!important;width:100%!important;height:auto!important;margin:0!important;top:auto!important;left:auto!important;scale:1!important}.node-collapsed-content{padding:1.5rem 2rem;display:flex}.node-title-small{font-size:1.0625rem;font-weight:600}.node-expanded-content{gap:0;padding:2rem;display:flex}.node-label{margin-bottom:.625rem}.node-title-large{font-size:1.25rem}.node-divider{width:40px;margin:1rem 0}.node-description{opacity:.75;max-width:100%;font-size:.9375rem;display:block}.node-link{margin-top:1.25rem;padding:.5rem 1rem;font-size:.875rem}.home-section{padding:clamp(4rem,8vh,6rem) 1.5rem}}
