@charset "UTF-8";@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700;800&family=Nunito:wght@400;700;800&display=swap');:root{--primary-color:#0067c0;--text-color:#333;--bg-color:#fff;--border-color:#0067c0;--font-main:'M PLUS Rounded 1c',sans-serif;--font-en:'Nunito',sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);line-height:1.8;color:var(--text-color);background-color:var(--bg-color);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;vertical-align:bottom}a{color:var(--primary-color);text-decoration:none;transition:opacity .3s}a:hover{opacity:.7}ul{list-style:none}.site-wrapper{display:flex;flex-direction:column;min-height:100vh}.content-area{width:100%;background-color:#fff;position:relative;z-index:10;padding-bottom:50px}.visual-area{width:100%;height:50vh;position:relative;background-color:#fff;display:flex;align-items:center;justify-content:center;order:-1}.visual-inner{width:80%;max-width:400px;animation:float 3s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#e6f0fa 0%,#fff 100%);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease,visibility .5s ease}#loading-screen.hidden{opacity:0;visibility:hidden}.loading-content{text-align:center}.loading-icon{width:120px;height:120px;margin:0 auto 2rem;animation:bounce .8s infinite alternate cubic-bezier(.68,-.55,.27,1.55)}.loading-icon img{width:100%;height:auto}@keyframes bounce{0%{transform:translateY(0);filter:drop-shadow(0 5px 10px rgba(0,103,192,.3))}100%{transform:translateY(-25px);filter:drop-shadow(0 25px 20px rgba(0,103,192,.1))}}.loading-bar-container{width:200px;height:6px;background-color:#e0e0e0;border-radius:3px;margin:0 auto 1rem;overflow:hidden}.loading-bar{width:0;height:100%;background:linear-gradient(90deg,#0067c0,#4da3ff);border-radius:3px;transition:width .1s ease}.loading-text{font-family:var(--font-en);font-size:1rem;color:var(--primary-color);font-weight:700}@media (min-width:768px){.site-wrapper{flex-direction:row}.content-area{width:60%;height:100vh;overflow-y:auto;padding-right:20px}.visual-area{width:40%;height:100vh;position:fixed;right:0;top:0;order:1;border-left:1px solid var(--border-color)}.visual-inner{width:70%;max-width:none}}.site-header{padding:2rem;position:relative}.header-inner{display:flex;justify-content:space-between;align-items:flex-start}.header-right{display:flex;flex-direction:column;align-items:flex-end}.logo a{font-family:var(--font-en);font-weight:800;font-size:2rem;color:var(--primary-color);letter-spacing:.05em;line-height:1.2;display:flex;align-items:center;gap:.75rem}.logo-icon{height:1.8rem;width:auto}.social-links{display:flex;gap:.75rem;margin-bottom:.75rem}.social-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:#f8f9fa;border-radius:50%;transition:all .3s ease;border:1px solid #eee}.social-link svg,.social-link img{width:16px;height:16px;transition:all .3s}.social-link svg{fill:#333}.social-link img{object-fit:contain}.social-link:hover{background-color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.social-link:hover svg{fill:#fff}.social-link:hover img{filter:brightness(0) invert(1)}.main-navigation{margin-top:0}.main-navigation ul{display:flex;flex-wrap:wrap;gap:1.5rem}.main-navigation a{font-family:var(--font-en);font-weight:700;font-size:1.1rem;position:relative}.menu-toggle{display:none}@media (max-width:767px){body.menu-open{overflow:hidden}.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:.75rem 1.5rem;background-color:rgba(255,255,255,.95);backdrop-filter:blur(10px);transition:background-color .3s;border-bottom:1px solid rgba(0,103,192,.1)}.header-inner{align-items:center;justify-content:space-between;display:flex;width:100%}.logo{flex:1;margin-right:1.5rem}.logo a{font-size:1.4rem;white-space:nowrap;gap:.5rem}.logo-icon{height:1.3rem}.header-right{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;z-index:999;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.77,0,.175,1);transform:translateY(-20px)}.is-active .header-right{opacity:1;visibility:visible;transform:translateY(0)}.social-links{margin-bottom:3rem;order:2}.social-link{width:45px;height:45px;background-color:#f5f7fa;border-color:#eee}.social-link svg{width:20px;height:20px;fill:var(--primary-color)}.main-navigation{order:1;margin-bottom:2rem}.main-navigation ul{flex-direction:column;align-items:center;gap:2rem}.main-navigation a{font-size:1.8rem;color:var(--primary-color)}.main-navigation a:hover{color:var(--text-color)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:0 0;border:none;cursor:pointer;z-index:1001;padding:0;position:relative}.menu-toggle .bar{position:absolute;width:26px;height:2px;background-color:var(--primary-color);transition:all .3s ease;border-radius:2px}.menu-toggle .bar:nth-child(1){transform:translateY(-8px)}.menu-toggle .bar:nth-child(2){transform:translateY(0)}.menu-toggle .bar:nth-child(3){transform:translateY(8px)}.is-active .menu-toggle .bar:nth-child(1){transform:translateY(0) rotate(45deg)}.is-active .menu-toggle .bar:nth-child(2){opacity:0;transform:translateX(10px)}.is-active .menu-toggle .bar:nth-child(3){transform:translateY(0) rotate(-45deg)}.is-active .logo a{color:var(--primary-color);z-index:1001;position:relative}}.hero-section{padding:6rem 2rem 10rem;background-image:url(//husky-ai.com/wp-content/themes/husky_portforio/images/hero-bg.png);background-size:cover;background-position:center;position:relative}.hero-section:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4)}.hero-content{position:relative;z-index:1}.hero-content h1{font-family:var(--font-en);font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;color:#fff;margin-bottom:1rem;text-shadow:2px 2px 8px rgba(0,0,0,.5)}.hero-content p{color:#fff;font-size:1.2rem;text-shadow:1px 1px 4px rgba(0,0,0,.5)}section{padding:4rem 2rem;border-top:2px solid var(--primary-color)}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2rem}h2{font-family:var(--font-en);font-size:3rem;color:var(--primary-color);font-weight:800;text-transform:uppercase}.about-section{background-color:#f9f9fc;overflow:hidden}.about-container{display:flex;flex-direction:column;gap:3rem;align-items:center}.about-text-area{width:100%;order:2}.about-image-area{width:100%;order:1;display:flex;justify-content:center}.about-main-img{max-width:300px;width:100%;border-radius:20px;box-shadow:10px 10px 0px rgba(0,103,192,.1);transform:rotate(-2deg);transition:transform .3s}.about-main-img:hover{transform:rotate(0deg) scale(1.02)}.about-label{display:inline-block;font-family:var(--font-en);font-weight:800;color:var(--primary-color);letter-spacing:.1em;margin-bottom:.5rem;position:relative;padding-left:1rem}.about-label:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background-color:var(--primary-color);border-radius:50%}.about-title{font-family:var(--font-en);font-size:3.5rem;line-height:1.1;color:var(--text-color);margin-bottom:1.5rem;text-transform:capitalize}.about-desc p{font-size:1.1rem;margin-bottom:1rem;font-weight:700}.emoji{display:inline-block;margin-left:.5rem;animation:bounce 2s infinite}.about-tags{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0}.about-tags span{background-color:#fff;padding:.5rem 1rem;border-radius:50px;font-size:.9rem;font-weight:700;color:var(--primary-color);box-shadow:0 4px 6px rgba(0,0,0,.05);border:1px solid var(--border-color)}@media (min-width:768px){.about-container{flex-direction:row;align-items:center;justify-content:space-between}.about-text-area{width:45%;order:1}.about-image-area{width:50%;order:2;justify-content:flex-end}.about-main-img{max-width:400px}}.works-list,.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}@media (min-width:768px){.works-list,.works-grid{grid-template-columns:repeat(3,1fr)}}.work-item{transition:transform .3s ease}.work-item a{display:block;padding:0;border-bottom:none}.work-item:hover{transform:translateY(-5px)}.work-thumbnail{width:100%;aspect-ratio:16/9;background-color:#f0f0f0;overflow:hidden;border-radius:8px;margin-bottom:.5rem}.work-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.work-item:hover .work-thumbnail img{transform:scale(1.1)}.work-info h3,.work-title{font-size:1rem;font-weight:700;margin-top:.5rem;text-align:center;color:var(--primary-color)}.work-item:hover .work-info h3{text-decoration:underline}.fade-up{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-up.in-view{opacity:1;transform:translateY(0)}.btn-view-more,.btn-contact{display:inline-block;margin-top:1.5rem;padding:1rem 2rem;border:2px solid var(--primary-color);border-radius:50px;font-weight:700;transition:all .3s}.btn-view-more:hover,.btn-contact:hover{background-color:var(--primary-color);color:#fff}.site-footer{padding:4rem 2rem;background-color:var(--primary-color);color:#fff}.site-footer a{color:#fff}.footer-navigation ul{display:flex;gap:2rem;margin-bottom:2rem}.copyright{font-family:var(--font-en);font-size:.9rem}.main-content{padding:4rem 2rem}.main-content h1{font-family:var(--font-en);font-size:2.5rem;color:var(--primary-color);margin-bottom:2rem;padding-bottom:1rem}.single-works .work-main-image{margin-bottom:3rem}.single-works .work-main-image img{border-radius:8px;width:100%;aspect-ratio:16/9;object-fit:cover}.work-description,.content{font-size:1rem;line-height:1.8;color:#444}.work-description h2,.content h2{font-size:1.8rem;margin-top:3rem;margin-bottom:1.5rem;border-left:5px solid var(--primary-color);padding-left:1rem}.work-description h3,.content h3{font-size:1.5rem;margin-top:2.5rem;margin-bottom:1.25rem;color:var(--primary-color)}.work-description p,.content p{margin-bottom:2rem}.work-description img,.content img{margin:2rem 0;border-radius:4px}.wp-block-image{margin-bottom:3rem}.wp-block-video{margin-bottom:3rem}.wp-block-heading{margin-top:3rem;margin-bottom:1.5rem}.post-navigation{margin-top:4rem;padding-top:2rem;border-top:1px solid #eee;display:flex;justify-content:space-between}.post-navigation a{font-weight:700}@media (max-width:767px){.main-content{padding:2rem 1.5rem;margin-top:70px}.main-content h1{font-size:2rem;margin-bottom:1.5rem}.single-works .work-main-image{margin-bottom:2rem}.work-description h2,.content h2{font-size:1.5rem;margin-top:2rem;margin-bottom:1rem}.work-description h3,.content h3{font-size:1.3rem;margin-top:1.5rem;margin-bottom:1rem}.work-description p,.content p{margin-bottom:1.5rem}}.page-service .container{max-width:900px;margin:0 auto}.service-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4rem;flex-wrap:wrap;gap:1rem}.service-header h1{font-family:var(--font-en);font-size:3rem;color:var(--text-color);border-bottom:none;padding-bottom:0;margin-bottom:0}.service-header h1 sup{font-size:1rem;color:var(--primary-color);vertical-align:super}.service-nav{display:flex;gap:2rem}.service-nav a{font-family:var(--font-en);font-weight:700;font-size:.9rem;color:var(--text-color);transition:color .3s}.service-nav a:hover{color:var(--primary-color);opacity:1}.service-list{display:block}.service-item{padding:4rem 0;border-top:1px solid #e0e0e0}.service-title-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.service-icon-img{width:60px;height:auto;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.service-title-row h2{font-family:var(--font-en);font-size:2rem;color:var(--text-color);text-transform:none;border:none;padding:0;margin:0}.service-title-row h2 .subtitle{font-family:var(--font-main);font-size:.9rem;font-weight:400;color:#888;margin-left:.5rem}.service-tagline{font-size:1.3rem;font-weight:700;color:var(--primary-color);margin-bottom:1.5rem}.service-description{color:#555;line-height:2;margin-bottom:1.5rem}.service-details{background-color:#f5f5f5;padding:1rem 1.5rem;border-radius:4px;margin-bottom:1.5rem}.service-details p{font-size:.9rem;color:#666;margin:0}.service-link{text-align:right}.service-link a{font-family:var(--font-en);font-size:.9rem;color:var(--text-color)}.page-additional-content{margin-top:4rem;padding-top:4rem;border-top:1px solid #e0e0e0}@media (max-width:767px){.service-header{flex-direction:column;align-items:flex-start}.service-nav{gap:1rem}.service-item{padding:3rem 0}.service-title-row h2{font-size:1.5rem}.service-tagline{font-size:1.1rem}}.service-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}.service-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.05);padding:2.5rem 2rem;transition:transform .3s,box-shadow .3s;border-top:5px solid var(--primary-color)}.service-card:hover{transform:translateY(-8px);box-shadow:0 8px 30px rgba(0,103,192,.15)}.service-card-header h3{font-family:var(--font-en);font-size:1.8rem;color:var(--primary-color);margin-bottom:1.5rem;font-weight:800}.service-card-body p{margin-bottom:1rem;font-size:.95rem;color:#555;line-height:1.7}.service-card-body .service-sub{font-weight:700;color:var(--text-color);margin-top:1.5rem;margin-bottom:0}.service-footer{text-align:center;margin-top:2rem}@media (min-width:768px){.service-grid{grid-template-columns:repeat(3,1fr)}}.page-contact .container{max-width:800px;margin:0 auto}.wpcf7-form p{margin-bottom:2rem}.wpcf7-form label{display:block;margin-bottom:.5rem;font-weight:700;font-size:1rem;color:var(--text-color)}.wpcf7-form-control-wrap{display:block;position:relative}.wpcf7-text,.wpcf7-email,.wpcf7-textarea{width:100%;padding:1rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;font-family:var(--font-main);background-color:#f9f9f9;transition:border-color .3s,background-color .3s}.wpcf7-text:focus,.wpcf7-email:focus,.wpcf7-textarea:focus{border-color:var(--primary-color);background-color:#fff;outline:none;box-shadow:0 0 0 3px rgba(0,103,192,.1)}.wpcf7-textarea{height:200px;resize:vertical}.wpcf7-submit{display:inline-block;padding:1rem 3rem;background-color:var(--primary-color);color:#fff;border:2px solid var(--primary-color);border-radius:50px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s;appearance:none;-webkit-appearance:none}.wpcf7-submit:hover{background-color:#fff;color:var(--primary-color)}.wpcf7-not-valid-tip{font-size:.85rem;color:#dc3545;margin-top:.5rem;display:block}.wpcf7-response-output{border:none !important;padding:1rem !important;border-radius:4px;margin:2rem 0 !important;text-align:center;font-weight:700}.wpcf7-display-none{display:none}.blog-list-home{margin-top:2rem}.blog-item-home{border-bottom:1px solid #eee;padding:1.5rem 0;transition:background-color .3s}.blog-item-home:first-child{border-top:1px solid #eee}.blog-item-home a{display:flex;align-items:center;gap:2rem;color:var(--text-color)}.blog-item-home:hover{background-color:#f9f9f9}.blog-meta{font-family:var(--font-en);font-size:.9rem;color:#888;display:flex;gap:1rem;min-width:150px}.blog-title{font-size:1.1rem;font-weight:700}.archive-title{font-family:var(--font-en);font-size:2.5rem;color:var(--primary-color);margin-bottom:3rem;border-bottom:2px solid var(--primary-color);padding-bottom:1rem}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-bottom:4rem}.blog-card{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.05);transition:transform .3s,box-shadow .3s;height:100%}.blog-card:hover{transform:translateY(-8px);box-shadow:0 10px 25px rgba(0,103,192,.15)}.blog-card-link{display:flex;flex-direction:column;height:100%;color:var(--text-color)}.blog-card-thumb{width:100%;aspect-ratio:16/9;background-color:#f5f7fa;overflow:hidden}.blog-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.blog-card:hover .blog-card-thumb img{transform:scale(1.05)}.no-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-weight:800;color:#cbd5e0}.blog-card-content{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.blog-card-title{font-size:1.2rem;font-weight:800;line-height:1.5;margin-top:.5rem;transition:color .3s}.blog-card:hover .blog-card-title{color:var(--primary-color)}.blog-pagination{margin-top:4rem;padding-top:2rem;border-top:1px solid #eee}.blog-pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:1rem}.blog-pagination .page-numbers{padding:.8rem 1.2rem;border:2px solid var(--border-color);border-radius:50px;font-family:var(--font-en);font-weight:700;color:var(--primary-color);transition:all .3s}.blog-pagination .page-numbers:hover,.blog-pagination .page-numbers.current{background-color:var(--primary-color);color:#fff}.blog-pagination .prev,.blog-pagination .next{display:flex;align-items:center;gap:.5rem}@media (max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.blog-grid{grid-template-columns:1fr}}.entry-header{margin-bottom:2rem;border-bottom:1px solid #eee;padding-bottom:1rem}.entry-title{font-size:2rem;color:var(--text-color);margin-bottom:1rem}.entry-meta{font-family:var(--font-en);color:#888;font-size:.9rem}.post-thumbnail{margin-bottom:2rem}.post-thumbnail img{border-radius:8px;width:100%;aspect-ratio:16/9;object-fit:cover}.entry-content{line-height:1.8}.entry-content p{margin-bottom:1.5rem}.entry-content h2{font-size:1.8rem;margin-top:3rem;margin-bottom:1.5rem;border-left:5px solid var(--primary-color);padding-left:1rem}@media (max-width:767px){.blog-item-home a{flex-direction:column;align-items:flex-start;gap:.5rem}.blog-meta{font-size:.8rem}}#ocean{width:100%;height:50px;background:0 0;position:relative;overflow:hidden;line-height:0;margin-bottom:-1px}.wave{background:var(--primary-color);display:inline-block;height:60%;width:10px;position:absolute;bottom:0;animation:wave-motion 3s ease-in-out infinite alternate}@keyframes wave-motion{0%{height:60%}50%{height:30%}100%{height:60%}}.page-about .profile-sections{max-width:900px;margin:0 auto}.page-about .profile-header{margin-bottom:2.5rem}.page-about .origin{font-family:var(--font-en);font-weight:700;color:var(--primary-color);margin-bottom:.5rem;font-size:1.1rem}.page-about .intro-headline{font-size:1.8rem;font-weight:800;line-height:1.4;color:var(--text-color)}.page-about .profile-body>p{font-size:1.1rem;margin-bottom:3rem;line-height:1.8}.page-about .profile-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}@media (min-width:768px){.page-about .profile-grid{grid-template-columns:repeat(2,1fr)}}.page-about .profile-card{background-color:#fff;padding:2rem;border-radius:12px;border:1px solid #eee;box-shadow:0 4px 15px rgba(0,0,0,.03)}.page-about .profile-card h3{font-size:1.25rem;font-weight:800;color:var(--primary-color);margin-bottom:1.25rem;border-bottom:2px solid #f0f0f0;padding-bottom:.75rem}.page-about .profile-card ul{list-style:none}.page-about .profile-card li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;font-size:.95rem;line-height:1.5}.page-about .profile-card li:before{content:'・';position:absolute;left:0;color:var(--primary-color);font-weight:700}.page-about .skills-box{margin-top:3rem}.page-about .skills-box h3{font-family:var(--font-en);font-size:1.5rem;font-weight:800;margin-bottom:1.5rem;text-align:center}.page-about .skills-tags{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.page-about .skills-tags span{background-color:#f5f7fa;color:var(--text-color);padding:.5rem 1.2rem;border-radius:50px;font-size:.9rem;font-weight:700;border:1px solid #e1e4e8;transition:all .3s ease}.page-about .skills-tags span:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px)}.page-about .profile-divider{margin:5rem 0;border:none;height:1px;background:linear-gradient(90deg,transparent,#eee,transparent)}.page-about .en-header{font-family:var(--font-en);font-size:2.2rem;text-align:center;margin-bottom:3rem;color:var(--text-color)}.page-about .en-header .sub{font-size:1rem;font-weight:400;color:#888;display:block;margin-top:.5rem}.page-about .profile-en .intro-headline{font-family:var(--font-main)}@media (max-width:767px){.page-about .intro-headline{font-size:1.4rem}.page-about .en-header{font-size:1.8rem}}