body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.project-preview{background:#fafafa;border:1px solid #e0d8c8;border-radius:8px;color:inherit;display:block;margin-bottom:0;overflow:hidden;text-decoration:none;transition:all .2s ease}.project-preview:hover{border-color:var(--accent-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.project-preview-image{background:#f5f5f5;height:200px;overflow:hidden;width:100%}.project-preview-image img{height:100%;object-fit:cover;width:100%}.project-preview-content{padding:1rem}.project-preview-title{align-items:center;color:#2c2e24;display:flex;font-size:1.4rem;font-weight:600;gap:.75rem;line-height:1.3;margin:0}.project-preview-title:before{background:var(--accent-color);border-radius:50%;content:"";flex-shrink:0;height:8px;width:8px}.project-preview-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#504838;display:-webkit-box;font-size:.875rem;line-height:1.5;margin:0;overflow:hidden}.project-preview-loading{align-items:center;background:#0000;border:none;display:flex;justify-content:center;min-height:200px}.project-preview-fallback{margin-bottom:1.25rem}.spinner{animation:spin .8s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top:3px solid var(--eucalyptus,#4a7c8c);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.project-card{background:#fff;border:1px solid #e0d8c8;border-left:4px solid;border-radius:12px;box-shadow:0 2px 8px #f4d03f2e;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease;z-index:2}.project-card:before{background:linear-gradient(90deg,var(--accent-color),#0000);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.project-card:first-child{--accent-color:var(--wattle);border-left-color:var(--wattle)}.project-card:nth-child(2){--accent-color:var(--waratah);border-left-color:var(--waratah)}.project-card:nth-child(3){--accent-color:var(--eucalyptus);border-left-color:var(--eucalyptus)}.project-card:nth-child(4){--accent-color:#4a7c8c;border-left-color:#4a7c8c}.project-card:nth-child(5){--accent-color:#d97757;border-left-color:#d97757}.project-card:hover{border-color:var(--accent-color);border-left-width:4px;box-shadow:0 12px 32px #f4d03f40;transform:translateY(-4px)}.project-card:hover:before{opacity:1}.project-description{color:#504838;font-size:.95rem;line-height:1.7;margin:1.25rem 0}.project-links{display:flex;flex-wrap:wrap;gap:.75rem}.project-links a{background:#0000;border:1.5px solid var(--accent-color);border-radius:6px;color:var(--accent-color);display:inline-block;font-size:.875rem;font-weight:500;min-width:44px;padding:.6rem 1.1rem;text-align:center;text-decoration:none;transition:all .2s ease}.project-links a:hover{background-color:var(--accent-color);box-shadow:0 4px 12px #0003;color:#fff;transform:translateY(-1px)}.project-links a:active{transform:translateY(0)}.project-links a:visited{color:var(--accent-color)}.project-links a:visited:hover{color:#fff}.eucalyptus-pattern{background-repeat:repeat;background-size:1024px 1024px;bottom:0;left:0;mix-blend-mode:multiply;opacity:.08;pointer-events:none;position:fixed;right:0;top:0;z-index:1}:root{--wattle:#f4d03f;--waratah:#c41e3a;--eucalyptus:#6b8e5a}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f7f4;background-image:radial-gradient(circle at 20% 40%,#f4d03f1f 0,#0000 45%),radial-gradient(circle at 80% 60%,#c41e3a1f 0,#0000 45%),radial-gradient(circle at 50% 20%,#6b8e5a1a 0,#0000 50%),radial-gradient(circle at 30% 80%,#6b8e5a14 0,#0000 50%),linear-gradient(135deg,#f4d03f0d,#0000 50%),linear-gradient(45deg,#6b8e5a0a,#0000 50%),linear-gradient(225deg,#c41e3a08,#0000 50%);background-size:100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;color:#2c2e24;font-family:Waiting for the Sunrise,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.7;min-height:100vh;position:relative}body:before{background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#f4d03f05 0,#f4d03f05 4px),repeating-linear-gradient(90deg,#0000,#0000 2px,rgba(107,142,90,.018) 0,rgba(107,142,90,.018) 4px),repeating-linear-gradient(45deg,#0000,#0000 3px,rgba(196,30,58,.012) 0,rgba(196,30,58,.012) 6px);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.App{margin:0 auto;max-width:1000px;padding:2rem 1rem;z-index:1}.App,.header{position:relative}.header{margin-bottom:3rem;text-align:center}.header:before{background:linear-gradient(90deg,#f4d03f,#c41e3a);background:linear-gradient(90deg,var(--wattle),var(--waratah));border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:-1.5rem;transform:translateX(-50%);width:60px}.header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f4d03f,#c41e3a);background:linear-gradient(135deg,var(--wattle) 0,var(--waratah) 100%);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:500;letter-spacing:.02em;line-height:1.2;margin-bottom:1.25rem}.intro{color:#504838;font-size:1rem;line-height:1.7;margin:0 auto;max-width:650px;padding:0 .5rem}.projects{grid-gap:1.5rem;display:grid;gap:1.5rem;margin-bottom:3rem}.footer{border-top:2px solid #e0d8c8;color:#6b6d5e;font-size:.85rem;margin-top:3rem;padding-left:1rem;padding-right:1rem;padding-top:2rem;position:relative;text-align:center}.footer:before{background:linear-gradient(90deg,#0000,#c41e3a,#0000);background:linear-gradient(90deg,#0000,var(--waratah),#0000);content:"";height:2px;left:50%;position:absolute;top:-2px;transform:translateX(-50%);width:100px}.footer-contact{margin-top:1rem}.footer-contact a{color:#c41e3a;color:var(--waratah);text-decoration:none;transition:color .2s ease}.footer-contact a:hover{color:#f4d03f;color:var(--wattle);text-decoration:underline}@media (min-width:480px){.App{padding:2.5rem 1.5rem}.header{margin-bottom:4rem}.header:before{top:-2rem}.header h1{font-size:2.5rem}.intro{font-size:1.1rem;padding:0 1rem}.project-card{padding:1.75rem}.project-card h2{font-size:1.5rem}}@media (min-width:768px){.App{padding:4rem 2.5rem}.header{margin-bottom:5rem}.header h1{font-size:3.5rem}.intro{font-size:1.15rem}.projects{gap:2.5rem;grid-template-columns:repeat(2,1fr)}.project-card{padding:2rem}.project-card h2{font-size:1.6rem}.footer{font-size:.9rem;margin-top:4rem;padding-top:3rem}}
/*# sourceMappingURL=main.cb3c16a6.css.map*/