:root{--bg-1: #f4fbf6;--bg-2: #eaf6eb;--primary: #1f5f3a;--primary-light: #3aa06a;--accent: #5aa06b;--text: #12321a;--text-light: #376448;--muted: #6b7a6b;--card-bg: rgba(255, 255, 255, .95);--shadow-sm: 0 1px 3px rgba(6,22,12,.06);--shadow-md: 0 6px 18px rgba(6,22,12,.08);--shadow-lg: 0 14px 30px -6px rgba(6,22,12,.12);--gradient-overlay: linear-gradient(180deg, rgba(6,22,12,.45) 0%, rgba(6,22,12,.18) 100%);--splash-bg: #fcfcfd;--deep-green: #113922;--deep-green-contrast: #e8f7ee}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:Noto Sans SC,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;color:var(--text);background-color:var(--bg-1);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:980px;margin:20px auto;padding:0 18px}header.header{position:relative;top:0;margin-top:-70px;padding:0 0 24px;border-bottom:none}.header-inner{max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.header-left{display:flex;flex-direction:column;gap:8px;flex:1}.header-title{font-size:34px;margin:0;color:var(--leaf-1);font-weight:700}.header-tag{color:var(--leaf-2);margin:0;font-weight:600}.header-desc{color:var(--muted);max-width:740;margin-top:6px;line-height:1.6}.header-illustration{width:160px;height:120px;flex:0 0 160px;display:flex;align-items:center;justify-content:center}.cta{margin-top:14px}.btn{display:inline-block;padding:10px 16px;border-radius:12px;background:var(--accent);color:var(--text);text-decoration:none;font-weight:600;box-shadow:0 6px 18px #8bb3782e}.hero-image{position:relative;height:50vh;min-height:360px;background:var(--bg-1);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-overlay)}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:#ffffff1f}.project-card{transition:none}.project-card:hover{transform:none;box-shadow:var(--shadow-md)}.social-item{transition:none}.social-item:focus,.social-item:hover{transform:none}.hero-content{position:relative;text-align:center;color:#fff;padding:0 20px;opacity:0;transform:translateY(20px);transition:all .8s ease-out}.hero-content.visible{opacity:1;transform:translateY(0)}.header-title{font-size:3.5rem;font-weight:700;margin:0}.header-tag{font-size:1.5rem;font-weight:500;opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.2)}.header-details{background:var(--bg-1);padding:3rem 0;color:var(--text);border-left:1px solid rgba(17,57,34,.12)}.header-inner{max-width:1140px;margin:0 auto;padding:0 1.5rem}.header-desc{font-size:1.125rem;color:var(--text-light);max-width:720px;margin:0 auto;text-align:center;line-height:1.8}.cta{margin-top:2rem;text-align:center}.btn{display:inline-flex;flex-direction:column;align-items:center;padding:1rem 2rem;border-radius:8px;text-decoration:none;transition:all .2s ease}.btn.primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-md)}.btn.primary:hover{background:var(--primary-light);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-email{font-size:.875rem;opacity:.9;margin-top:.25rem}section{padding-bottom:6rem;background:var(--bg-1)}section h2{text-align:center;font-size:2rem;color:var(--primary);margin-bottom:2.5rem}#projects .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1140px;margin:0 auto;padding:0 1.5rem}#contact .social-list{display:flex;gap:0;justify-content:center;align-items:center;flex-wrap:wrap;max-width:980px;margin:0 auto;padding:0 1.25rem}#contact .social-list .social-item{display:inline-block;padding:.5rem .75rem;color:#fff;font-weight:600;text-decoration:none;background:var(--deep-green);border-radius:8px;transition:background .15s ease,transform .12s ease}#contact .social-list .social-item+.social-item{margin-left:.5rem}#contact .social-list .social-item:hover{background:var(--primary-light);transform:translateY(-2px)}@media (max-width: 600px){#contact h2{font-size:1.35rem}#contact .social-list{flex-direction:column;align-items:stretch}#contact .social-list .social-item{padding:.75rem 0;text-align:center}#contact .social-list .social-item+.social-item{border-left:none;margin-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.06);margin-top:.5rem}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;max-width:1140px;margin:0 auto;padding:0 1.5rem}.project-card{display:flex;gap:1rem;align-items:flex-start}.project-media{flex:0 0 160px}.project-image{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}.project-body{flex:1 1 auto;display:flex;flex-direction:column}.project-short{margin:.25rem 0;color:var(--text-light)}.project-desc{margin:.5rem 0 .75rem;color:var(--text-light)}.project-actions{margin-top:auto}.card{background:var(--card-bg);padding:1.5rem;border-radius:12px;box-shadow:var(--shadow-md);transition:all .3s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card h3{color:var(--primary);font-size:1.25rem;margin:0 0 1rem}.card p{color:var(--text-light);margin:0 0 1rem;line-height:1.6}.tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.tag{font-size:.875rem;padding:.25rem .75rem;border-radius:999px;background:var(--bg-2);color:var(--primary);border:1px solid rgba(66,153,225,.15)}.social-list{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;max-width:1140px;margin:0 auto;padding:0 1.5rem}.social-item{color:var(--primary);text-decoration:none;padding:.75rem 1.25rem;border-radius:8px;background:var(--bg-2);font-weight:500;transition:all .2s ease}.social-item:hover{background:var(--primary);color:#fff}footer{background:var(--bg-2);padding:2rem 0;text-align:center;color:var(--muted);font-size:.875rem}@media (max-width: 768px){.hero-image{height:45vh;min-height:320px}.header-title{font-size:3rem}.header-tag{font-size:1.25rem}.header-desc{font-size:1rem}section h2{font-size:1.75rem}}@media (max-width: 600px){.hero-image{height:40vh;min-height:280px;background-position:top center}.hero-content{padding:0 12px}.header-title{font-size:2.5rem;line-height:1.05}.header-tag{font-size:1rem}.header-desc{font-size:.98rem;text-align:center;padding:0 12px}.header-inner{flex-direction:column;align-items:stretch;padding:0 1rem}.cta{text-align:left}.btn{width:100%;padding:.9rem 1rem}#projects .grid{grid-template-columns:1fr;gap:1rem}.projects-grid{grid-template-columns:1fr}.project-card{flex-direction:column}.project-media{flex:0 0 auto}.project-image{border-radius:10px;max-height:220px;width:100%}.card{padding:1rem}.social-list{padding:0 1rem}}@media (max-width: 420px){.hero-image{min-height:240px}.header-title{font-size:2rem}.header-tag{font-size:.95rem}.splash-logo{max-width:220px}}.animate-fadeInUp{opacity:1;transform:none}.splash-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--splash-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.splash-logo{max-width:400px;height:auto;transition:opacity .3s ease}.splash-loading{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loading-spinner{width:50px;height:50px;border:4px solid rgba(17,57,34,.1);border-top-color:var(--deep-green);border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:var(--deep-green);font-size:1rem;font-weight:500;margin:0}@keyframes spin{to{transform:rotate(360deg)}}.splash-error{position:absolute;color:var(--text-light);font-size:1rem}.app{opacity:0;transform:translateY(20px);transition:opacity 1s ease-out,transform 1s ease-out}.app-visible{opacity:1;transform:translateY(0)}.nav{position:sticky;top:0;z-index:1100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#11392200;border-bottom:1px solid rgba(255,255,255,0);transition:background-color .35s ease,backdrop-filter .35s ease,border-bottom-color .35s ease}.nav.scrolled{background:var(--deep-green);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:#ffffff26}.nav-inner{max-width:1140px;margin:0 auto;padding:8px 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:12px}.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--deep-green-contrast);font-weight:700}.nav-brand img{width:36px;height:36px;border-radius:8px;object-fit:cover}.nav-name{display:inline-block;font-size:1rem}.nav-links{display:flex;gap:12px;align-items:center}.nav-links a{color:#fff;text-decoration:none;padding:8px 12px;border-radius:8px;transition:background .15s}.nav-links a:hover{background:#ffffff0f;color:var(--primary-light)}.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:4px 0;border-radius:2px;transition:all .25s}.nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media (max-width: 760px){.nav-links{position:fixed;top:56px;right:12px;left:12px;background:var(--deep-green);box-shadow:var(--shadow-md);flex-direction:column;padding:12px;border-radius:10px;display:none}.nav-links.open{display:flex}.nav-toggle{display:block}.nav-brand .nav-name{display:none}}@media (max-width:760px){.header-inner{flex-direction:column;align-items:flex-start}.header-illustration{align-self:flex-end}.header-title{font-size:26px}.splash-logo{max-width:300px}}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='800' height='600'><defs><linearGradient id='a' x1='0' x2='1'><stop offset='0' stop-color='%238fbf67' stop-opacity='0.12'/><stop offset='1' stop-color='%235a8a5a' stop-opacity='0.08'/></linearGradient></defs><g fill='url(%23a)' fill-opacity='0.9'><path d='M30 120 C60 40,160 40,200 120 C160 80,60 80,30 120Z'/></g></svg>");background-repeat:no-repeat;background-position:left top;background-size:35%;opacity:.6;mix-blend-mode:multiply}
