.TechStackIcons_techStackContainer__Und26{display:flex;flex-wrap:wrap;gap:.55rem}.TechStackIcons_techStackIcon__G61EV{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--color-border);border-radius:999px;background:rgba(255,253,249,.78);color:var(--color-text);font-size:1.45rem;transition:border-color .2s ease,color .2s ease,transform .2s ease}.TechStackIcons_techStackIcon__G61EV:focus-visible,.TechStackIcons_techStackIcon__G61EV:hover{border-color:rgba(91,108,125,.34);color:var(--color-accent);transform:translateY(-2px)}.TechStackIcons_techStackImage__aWsWq{width:24px;height:24px;object-fit:contain}.page_projectDetail__E6zPJ{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:7rem 0 5rem;color:var(--color-heading)}.page_backButton__a2HRC{position:fixed;top:1rem;left:1rem;z-index:1000;display:inline-flex;align-items:center;gap:.5rem;min-height:46px;padding:0 1.05rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(251,248,243,.92);color:var(--color-heading);font-weight:700;text-decoration:none;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background-color .45s ease,transform .45s ease,box-shadow .45s ease}.page_backArrow__d5ggW{display:inline-block;font-size:1rem;line-height:1}.page_backButton__a2HRC:focus-visible,.page_backButton__a2HRC:hover{background:rgba(255,253,249,1);transform:translateX(-3px)}.page_hero__mK0e4{max-width:820px;margin-bottom:2.5rem}.page_kicker__TRspp{width:max-content;margin:0 0 .85rem;padding:.45rem .8rem;border:1px solid var(--color-border);border-radius:999px;background:rgba(255,253,249,.78);color:var(--color-secondary);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.page_hero__mK0e4 h1{margin:0;font-family:var(--font-heading);font-size:clamp(3.5rem,7vw,5.7rem);font-weight:600;line-height:.96}.page_hero__mK0e4 p:last-child{max-width:680px;margin:1.1rem 0 0;color:var(--color-text-muted);font-size:clamp(1.05rem,2vw,1.18rem);line-height:1.72}.page_mainSection__z_WdS{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);grid-gap:1.5rem;gap:1.5rem;align-items:stretch;margin-bottom:clamp(4rem,8vw,6rem)}.page_mainImageFrame__6yglc,.page_sectionImageFrame__NfISi{position:relative;overflow:hidden;border-radius:var(--radius-md)}.page_mainImageFrame__6yglc{min-height:460px}.page_mainImage__24pqk,.page_sectionImage__uJ9cR{object-fit:cover}.page_sectionImage__uJ9cR{object-fit:contain;padding:clamp(.35rem,1.05vw,.7rem);background:transparent}.page_mainImageZoomOut__yAVEL{object-fit:contain;padding:clamp(.4rem,1.2vw,.8rem);background:transparent}.page_mainText__XX5jz{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--color-border);border-radius:var(--radius-md);background:rgba(255,253,249,.82);box-shadow:var(--shadow-soft)}.page_mainText__XX5jz p{margin:0;color:var(--color-text-muted);font-size:1.06rem;line-height:1.8}.page_meta__O_pHj{display:grid;grid-gap:.2rem;gap:.2rem;margin-bottom:1rem!important;color:var(--color-heading)!important;font-weight:700}.page_meta__O_pHj span{color:var(--color-secondary);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.page_section__E_p2R{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(1.25rem,4vw,3rem);gap:clamp(1.25rem,4vw,3rem);align-items:center;margin-bottom:clamp(3rem,7vw,5rem);opacity:0;transform:translateY(28px);transition:opacity .45s ease,transform .45s ease}.page_sectionVisible__7M61s{opacity:1;transform:translateY(0)}.page_rightLeft__l45xf .page_sectionImageFrame__NfISi{order:2}.page_sectionImageFrame__NfISi{min-height:420px}.page_sectionText__3mw_C{min-width:0}.page_sectionText__3mw_C h2{margin:0 0 .9rem;color:var(--color-heading);font-size:clamp(1.85rem,3vw,2.5rem);line-height:1.12}.page_sectionText__3mw_C p{margin:0;color:var(--color-text-muted);font-size:1.04rem;line-height:1.8}.page_link__erPuV{color:var(--color-accent);text-decoration-thickness:.08em;text-underline-offset:.15em}.page_stackIcons__bJnOP{margin-top:1.25rem}@media (max-width:900px){.page_mainSection__z_WdS,.page_section__E_p2R{grid-template-columns:1fr}.page_rightLeft__l45xf .page_sectionImageFrame__NfISi{order:0}.page_mainImageFrame__6yglc,.page_sectionImageFrame__NfISi{min-height:320px}}@media (max-width:640px){.page_projectDetail__E6zPJ{padding-top:5.5rem}.page_backButton__a2HRC{position:static;margin-bottom:1.5rem}}