@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Noto+Sans+KR:wght@400;500;700&display=swap";:root{--color-sky: #C5DEFF;--color-sky-light: #E8F4FF;--color-sky-deep: #92C1F0;--color-cream: #FFFDF8;--color-cream-warm: #FFF8EE;--color-acorn: #C1874B;--color-acorn-dark: #9A6535;--color-acorn-light: #F0D5B5;--color-paw: #8B6F5C;--color-text: #3D2B1F;--color-text-soft: #7A6355;--color-text-muted: #A89585;--color-white: #FFFFFF;--gradient-sky: linear-gradient(160deg, #C5DEFF 0%, #E8F4FF 50%, #FFFDF8 100%);--gradient-hero: linear-gradient(160deg, #DCF0FF 0%, #F0F7FF 40%, #FFFDF8 100%);--gradient-card: linear-gradient(135deg, #FFFFFF 0%, #F8FAFF 100%);--gradient-acorn: linear-gradient(135deg, #D4964F 0%, #C1874B 100%);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--font-display: "Nunito", "Noto Sans KR", sans-serif;--font-body: "Noto Sans KR", "Nunito", sans-serif;--radius-sm: 12px;--radius-md: 20px;--radius-lg: 32px;--radius-full: 9999px;--shadow-soft: 0 4px 24px rgba(140, 180, 230, .15);--shadow-card: 0 8px 32px rgba(100, 150, 200, .12);--shadow-float: 0 16px 48px rgba(100, 150, 200, .18)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}.container{max-width:1100px;margin:0 auto;padding:0 var(--space-md)}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.4;pointer-events:none}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-8px) rotate(3deg)}66%{transform:translateY(-4px) rotate(-2deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.animate-float{animation:float 4s ease-in-out infinite}.animate-fadeInUp{animation:fadeInUp .7s ease forwards}.animate-wiggle{animation:wiggle 2s ease-in-out infinite}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-sky-light)}::-webkit-scrollbar-thumb{background:var(--color-sky-deep);border-radius:var(--radius-full)}::selection{background:var(--color-acorn-light);color:var(--color-acorn-dark)}.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:.875rem var(--space-md);background:#fffdf8d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(197,222,255,.4);transition:box-shadow .3s ease}.header.scrolled{box-shadow:0 4px 24px #8cb4e626}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto}.logo{display:flex;align-items:center;gap:.625rem;font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--color-text);letter-spacing:-.02em;transition:transform .2s ease}.logo:hover{transform:scale(1.03)}.logo-icon{width:36px;height:36px}.logo-dot{color:var(--color-acorn)}.header-tagline{font-size:.8125rem;color:var(--color-text-muted);font-family:var(--font-display);font-weight:600;letter-spacing:.02em}.hero{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--gradient-hero);padding-top:80px}.hero-blob-1{width:500px;height:500px;top:-100px;right:-100px;background:var(--color-sky)}.hero-blob-2{width:350px;height:350px;bottom:50px;left:-80px;background:var(--color-acorn-light)}.hero-blob-3{width:200px;height:200px;top:30%;left:40%;background:var(--color-sky-deep);opacity:.2}.hero-content{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-xl);width:100%;max-width:1100px;margin:0 auto;padding:var(--space-xl) var(--space-md);position:relative;z-index:1}.hero-text{animation:fadeInUp .8s ease forwards}.hero-badge{display:inline-flex;align-items:center;gap:.375rem;background:#fffc;border:1.5px solid rgba(197,222,255,.6);border-radius:var(--radius-full);padding:.5rem 1rem;font-size:.8125rem;font-weight:700;color:var(--color-acorn);font-family:var(--font-display);letter-spacing:.03em;margin-bottom:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--color-acorn);animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.hero-title{font-family:var(--font-display);font-size:clamp(2.25rem,5vw,3.5rem);font-weight:900;line-height:1.15;letter-spacing:-.03em;color:var(--color-text);margin-bottom:1rem}.hero-title-accent{color:var(--color-acorn);position:relative}.hero-title-accent:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:4px;background:var(--gradient-acorn);border-radius:var(--radius-full);opacity:.5}.hero-subtitle{font-size:1.0625rem;color:var(--color-text-soft);line-height:1.75;margin-bottom:2.5rem;max-width:420px}.hero-cta-group{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--gradient-acorn);color:var(--color-white);font-family:var(--font-display);font-weight:800;font-size:1rem;padding:.875rem 2rem;border-radius:var(--radius-full);border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 20px #c1874b4d;white-space:nowrap}.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 28px #c1874b66}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:#fffc;color:var(--color-text-soft);font-family:var(--font-display);font-weight:700;font-size:1rem;padding:.875rem 1.75rem;border-radius:var(--radius-full);border:1.5px solid rgba(197,222,255,.6);cursor:pointer;transition:transform .2s ease,background .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.btn-secondary:hover{transform:translateY(-2px);background:#fffffff2}.hero-visual{display:flex;justify-content:center;align-items:center;animation:scaleIn .9s ease forwards;position:relative}.hero-dog-wrapper{position:relative;display:flex;justify-content:center;align-items:center}.hero-dog-ring{width:380px;height:380px;border-radius:50%;background:#fff9;border:2px dashed rgba(197,222,255,.8);display:flex;justify-content:center;align-items:center;position:relative;animation:float 5s ease-in-out infinite}.hero-dog-inner{width:300px;height:300px;border-radius:50%;background:#ffffffd9;display:flex;justify-content:center;align-items:center;box-shadow:var(--shadow-float);font-size:7rem;position:relative;overflow:hidden}.hero-dog-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.hero-dog-emoji{font-size:7rem;animation:wiggle 3s ease-in-out infinite;line-height:1}.hero-floating-badge{position:absolute;background:#fff;border-radius:var(--radius-md);padding:.75rem 1rem;box-shadow:var(--shadow-card);font-family:var(--font-display);font-weight:700;font-size:.75rem;color:var(--color-text);white-space:nowrap;border:1px solid rgba(197,222,255,.4)}.badge-top-left{top:20px;left:-20px;animation:float 4s ease-in-out infinite .5s}.badge-bottom-right{bottom:20px;right:-20px;animation:float 4.5s ease-in-out infinite 1s}.badge-emoji{font-size:1.25rem;display:block;margin-bottom:.125rem}.deco-heart,.deco-paw,.deco-star{position:absolute;font-size:1.25rem;pointer-events:none;opacity:.5}.section{padding:var(--space-2xl) var(--space-md);position:relative;overflow:hidden}.section-label{font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-acorn);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.section-label:before{content:"";display:inline-block;width:20px;height:2px;background:var(--gradient-acorn);border-radius:2px}.section-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:900;letter-spacing:-.025em;color:var(--color-text);line-height:1.2;margin-bottom:1rem}.section-desc{font-size:1rem;color:var(--color-text-soft);line-height:1.75;max-width:500px}.projects-section{background:var(--color-cream-warm)}.projects-header{text-align:center;margin-bottom:var(--space-xl)}.projects-header .section-label{justify-content:center}.projects-header .section-label:before{display:none}.projects-header .section-desc{margin:0 auto}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;max-width:1100px;margin:0 auto}.project-card{background:var(--gradient-card);border-radius:var(--radius-lg);padding:2rem;border:1.5px solid rgba(197,222,255,.4);box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;opacity:0;transition:opacity .25s ease}.project-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-float)}.project-card:hover:before{opacity:1}.card-blue:before{background:linear-gradient(90deg,#93c5fd,#60a5fa)}.card-orange:before{background:var(--gradient-acorn)}.card-green:before{background:linear-gradient(90deg,#6ee7b7,#34d399)}.card-purple:before{background:linear-gradient(90deg,#c4b5fd,#a78bfa)}.project-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:1.25rem}.icon-bg-blue{background:#93c5fd40}.icon-bg-orange{background:#c1874b26}.icon-bg-green{background:#6ee7b740}.icon-bg-purple{background:#c4b5fd40}.project-status{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:700;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;padding:.3rem .75rem;border-radius:var(--radius-full);margin-bottom:.875rem}.status-soon{background:#fdd5744d;color:#8b6000}.status-wip{background:#93c5fd4d;color:#1e6bb8}.status-dot{width:5px;height:5px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}.project-title{font-family:var(--font-display);font-size:1.1875rem;font-weight:800;color:var(--color-text);margin-bottom:.5rem;letter-spacing:-.01em}.project-desc{font-size:.9rem;color:var(--color-text-soft);line-height:1.65}.about-section{background:var(--color-cream)}.about-content{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-xl);align-items:center;max-width:1100px;margin:0 auto}.about-visual{display:flex;justify-content:center}.about-card{background:#ffffffe6;border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-float);border:1.5px solid rgba(197,222,255,.35);text-align:center;max-width:300px;width:100%;position:relative}.about-dog-img-wrapper{width:140px;height:140px;margin:0 auto 1.25rem;border-radius:50%;overflow:hidden;box-shadow:0 4px 16px #00000014;animation:float 4.5s ease-in-out infinite}.about-dog-img{width:100%;height:100%;object-fit:cover}.about-dog{font-size:4.5rem;display:block;margin-bottom:1.25rem;animation:float 4.5s ease-in-out infinite}.about-dog-name{font-family:var(--font-display);font-size:1.25rem;font-weight:900;color:var(--color-acorn);margin-bottom:.375rem;letter-spacing:-.01em}.about-dog-title{font-size:.8125rem;color:var(--color-text-muted);font-family:var(--font-display);font-weight:600}.about-stats{display:flex;gap:1.25rem;margin-top:1.75rem;justify-content:center}.stat-item{text-align:center}.stat-num{font-family:var(--font-display);font-size:1.5rem;font-weight:900;color:var(--color-text);display:block}.stat-label{font-size:.75rem;color:var(--color-text-muted);font-family:var(--font-display);font-weight:600}.about-text .section-desc{margin-bottom:1.5rem;max-width:100%}.about-tags{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1.5rem}.about-tag{background:#c5deff59;color:var(--color-text-soft);font-family:var(--font-display);font-size:.8125rem;font-weight:700;padding:.4rem .875rem;border-radius:var(--radius-full);border:1px solid rgba(197,222,255,.5);transition:all .2s ease}.about-tag:hover{background:#c5deff99;transform:translateY(-1px)}.contact-section{background:var(--gradient-sky);text-align:center}.contact-inner{max-width:600px;margin:0 auto}.contact-emoji{font-size:3rem;margin-bottom:1.5rem;display:block;animation:float 4s ease-in-out infinite}.contact-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:900;letter-spacing:-.025em;color:var(--color-text);margin-bottom:1rem}.contact-desc{font-size:1rem;color:var(--color-text-soft);line-height:1.75;margin-bottom:2rem}.footer{background:var(--color-text);color:#ffffffb3;text-align:center;padding:var(--space-lg) var(--space-md)}.footer-logo{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:#ffffffe6;margin-bottom:.5rem}.footer-text{font-size:.875rem;font-family:var(--font-display);font-weight:600;color:#ffffff80}.footer-paws{font-size:1.125rem;margin-top:.75rem;opacity:.6;letter-spacing:.25rem}@media(max-width:768px){.hero-content{grid-template-columns:1fr;text-align:center;gap:var(--space-lg)}.hero-visual{order:-1}.hero-dog-ring{width:260px;height:260px}.hero-dog-inner{width:200px;height:200px}.hero-dog-emoji{font-size:5rem}.hero-cta-group{justify-content:center}.hero-subtitle{margin:0 auto 2.5rem}.badge-top-left,.badge-bottom-right{display:none}.about-content{grid-template-columns:1fr;text-align:center}.about-visual{order:-1}.about-tags{justify-content:center}.header-tagline{display:none}}
