:root{--primary-color:#000;--secondary-color:#06f;--background-color:#fff;--text-color:#000;--error-color:#ef4444;--gray-100:#f8f9fa;--gray-200:#e5e5e5;--gray-500:#666}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--background-color);color:#000;color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.container{margin:0 auto;max-width:1440px;padding:0 1.5rem;width:100%}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1}.btn{border:2px solid #0000;border-radius:6px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .2s}.btn-primary{background-color:#06f;background-color:var(--secondary-color)}.btn-primary:hover{background-color:#0052cc}.btn-outline{background-color:initial;border-color:#000;border-color:var(--primary-color);color:#000;color:var(--primary-color)}.btn-outline:hover{background-color:#000;background-color:var(--primary-color)}.header{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#ffffffb3;border:1px solid #fffc;box-shadow:0 8px 32px 0 #1f268726,inset 0 0 0 1px #fff3;left:50%;padding:2rem 3rem;position:fixed;transform:translateX(-50%);transition:all .3s ease;width:100%;z-index:1000}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1440px;position:relative;width:100%}.logo a{color:#1a1a1a;font-size:1.5rem;font-weight:800;letter-spacing:-.5px;text-decoration:none}.desktop-nav{display:block}.nav-list{align-items:center;display:flex;gap:2.5rem;list-style:none;margin:0;padding:0}.nav-item a{color:#333;font-size:1.2rem;font-weight:600;position:relative;text-decoration:none;transition:all .2s ease}.nav-item a:active,.nav-item a:hover{color:#06f}.nav-item a.active{color:#06f;font-weight:700}.nav-item-button .contact-button{background:#06f;border-radius:12px;box-shadow:0 2px 8px #06f3;color:#fff;font-weight:600;padding:.5rem 1.5rem;text-decoration:none;transition:all .2s ease}.nav-item-button .contact-button:hover{background:#0052cc;box-shadow:0 4px 12px #0066ff4d;color:#fff;transform:translateY(-1px)}.drawer-button{align-items:center;background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;height:32px;justify-content:center;padding:0;position:absolute;right:0;width:32px;z-index:1003}.drawer-button span{background-color:#1a1a1a;border-radius:2px;display:block;height:2px;transform-origin:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:22px}.mobile-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background-color:#00000080;height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:1001}.mobile-overlay.open{opacity:1;visibility:visible}.mobile-nav{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#fffffff2;box-shadow:-4px 0 24px #0000001a;height:100%;max-width:320px;overflow-y:auto;padding:5rem 2rem 2rem;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:80%;z-index:1002}.mobile-nav.open{transform:translateX(0)}.mobile-nav-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.mobile-nav-item{border-bottom:1px solid #0000000d}.mobile-nav-item a{color:#1a1a1a;display:block;font-size:1.1rem;font-weight:600;padding:1.25rem 0;text-decoration:none;transition:color .2s ease}.mobile-nav-item a:active,.mobile-nav-item a:hover{color:#06f}.mobile-nav-item a.active{color:#06f;font-weight:700}.mobile-nav-item-button .mobile-contact-button{background:#06f;border-radius:12px;box-shadow:0 2px 8px #06f3;color:#fff;display:block;font-weight:600;margin-top:.5rem;padding:1rem 1.5rem;text-align:center;transition:all .2s ease}.mobile-nav-item-button .mobile-contact-button:active,.mobile-nav-item-button .mobile-contact-button:hover{background:#0052cc;box-shadow:0 4px 12px #0066ff4d;color:#fff;transform:scale(.98)}.mobile-nav-item-button{border-bottom:none;padding-bottom:.5rem}@media (max-width:768px){.header{border-radius:18px;padding:.75rem 1.5rem;top:1rem;width:calc(100% - 2rem)}.desktop-nav{display:none}.drawer-button{display:flex}.header-container{gap:0;justify-content:space-between}.logo a{font-size:1.3rem}}.footer{background-color:#fff;border-top:1px solid #e5e5e5;margin-top:auto;padding:2rem 0 1rem}.footer-container{display:flex;flex-direction:column;gap:1.5rem}.footer-content{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.footer-section{display:flex;flex-direction:column}.footer-section h3{color:#000;font-size:1.5rem;font-weight:700;margin-bottom:1.25rem}.footer-section h4{color:#000;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.footer-section-left .business-info{display:flex;flex-direction:column;gap:.5rem}.footer-section-left .business-info p{color:#666;font-size:.9rem;line-height:1.6;margin:0}.footer-section-right .contact-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.contact-link{color:#333;display:inline-block;font-size:.95rem;text-decoration:none;transition:color .2s ease}.contact-link:hover{color:#06f}.social-icons{gap:1rem}.social-icon,.social-icons{align-items:center;display:flex}.social-icon{background-color:#f5f5f5;border-radius:8px;color:#000;height:40px;justify-content:center;text-decoration:none;transition:all .2s ease;width:40px}.social-icon:hover{background-color:#0066ff1a;color:#06f;transform:translateY(-2px)}.social-icon svg{height:20px;width:20px}.footer-bottom{border-top:1px solid #e5e5e5;padding-top:1rem;text-align:center}.footer-bottom p{color:#999;font-size:.85rem;margin:0}@media (max-width:768px){.footer{padding:1.5rem 0 1rem}.footer-content{gap:2rem;grid-template-columns:1fr}.footer-section h3{font-size:1.3rem;margin-bottom:1rem}.footer-section h4{font-size:1rem}.contact-info{margin-bottom:1.25rem}}.scroll-to-top{align-items:center;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#ffffffe6;border:1px solid #fffc;border-radius:50%;bottom:2rem;box-shadow:0 8px 32px 0 #1f268726,inset 0 0 0 1px #fff3;color:#1a1a1a;cursor:pointer;display:flex;height:50px;justify-content:center;opacity:0;position:fixed;right:2rem;transform:translateY(20px);transition:all .3s ease;visibility:hidden;width:50px;z-index:999}.scroll-to-top.visible{opacity:1;transform:translateY(0);visibility:visible}.scroll-to-top:hover{background:#fff;box-shadow:0 12px 40px 0 #1f268733,inset 0 0 0 1px #ffffff4d;transform:translateY(-4px)}.scroll-to-top:active{transform:translateY(-2px)}.scroll-to-top svg{height:24px;width:24px}@media (max-width:768px){.scroll-to-top{bottom:1.5rem;height:48px;right:1.5rem;width:48px}.scroll-to-top svg{height:20px;width:20px}}.quote-form-wrapper{padding:8rem 0;position:relative}.form-background-logo{color:#000;font-family:inherit;font-size:20rem;font-weight:700;left:50%;letter-spacing:.05em;opacity:.12;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:0}.quote-form-title,.quote-form-wrapper .container{position:relative;z-index:1}.quote-form-title{color:#000;font-size:2.5rem;font-weight:700;line-height:1.4;margin-bottom:3rem;text-align:center}.quote-form{backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);background:#ffffff80;border:1px solid #ffffffb3;border-radius:24px;box-shadow:0 8px 32px 0 #1f268733,inset 0 0 0 1px #ffffff4d,inset 0 1px 0 0 #ffffff80;margin:0 auto;max-width:1200px;padding:3rem;position:relative;transition:all .3s ease;z-index:1}.form-section{margin-bottom:2.5rem}.form-section:last-of-type{margin-bottom:3rem}.form-section-title{border-bottom:2px solid #eee;color:#333;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.input-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;margin-bottom:1.5rem}.input-grid.three-columns{grid-template-columns:repeat(3,1fr)}.input-grid.two-columns{grid-template-columns:repeat(2,1fr)}.form-group.full-width{width:100%}.form-group label{color:#000;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.required{color:red;margin-left:.25rem}.budget-hint{color:#868484;font-size:.85rem;font-weight:400}.form-group input,.form-group textarea{background-color:#fff;border:1px solid #868484;border-radius:12px;box-sizing:border-box;color:#000;font-family:inherit;font-size:.95rem;padding:.875rem 1.125rem;transition:all .3s ease;width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:#868484}.form-group input:focus,.form-group textarea:focus{background-color:#ffffff1f;border-color:#06f;box-shadow:0 0 0 3px #0066ff1a;outline:none}.form-group textarea{line-height:1.6;min-height:160px;resize:vertical}.form-agreements{display:flex;flex-direction:column;gap:.875rem;margin-bottom:2rem;padding-left:.5rem}.checkbox-group{align-items:center;display:flex;gap:.625rem}.checkbox-group input[type=checkbox]{accent-color:#06f;border-radius:4px;cursor:pointer;height:18px;width:18px}.checkbox-group label{color:#868484;cursor:pointer;font-size:.9rem;-webkit-user-select:none;user-select:none}.form-submit{display:flex;justify-content:center;margin-top:2rem}.submit-button{background-color:#06f;border:none;border-radius:12px;box-shadow:0 4px 15px #0066ff4d;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:600;min-width:240px;padding:1rem 3rem;transition:all .3s ease}.submit-button:hover:not(:disabled){background-color:#0052cc;box-shadow:0 6px 20px #06f6;transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.7}.form-success-message{animation:fadeInUp .5s ease;backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);background:#ffffff80;border:1px solid #ffffffb3;border-radius:24px;box-shadow:0 8px 32px 0 #1f268733,inset 0 0 0 1px #ffffff4d,inset 0 1px 0 0 #ffffff80;margin:0 auto;max-width:1200px;padding:4rem 2rem;position:relative;text-align:center;z-index:1}.success-icon{align-items:center;animation:scaleIn .5s ease;background-color:#0066ff1a;border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.form-success-message h3{color:#000;font-size:1.75rem;font-weight:700;margin-bottom:.75rem}.form-success-message p{color:#868484;font-size:1rem;line-height:1.6}.form-error-message{animation:fadeIn .3s ease;background-color:#ef44441a;border:1px solid #ef44444d;border-radius:12px;color:#ef4444;font-size:.95rem;margin:1rem auto 0;max-width:1200px;padding:1rem;text-align:center}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (max-width:992px){.quote-form-wrapper{padding:4rem 0}.form-background-logo{font-size:15rem}.quote-form-title{font-size:2rem;margin-bottom:2.5rem}.quote-form{padding:2.5rem}.input-grid.three-columns{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.quote-form-wrapper{padding:3rem 0}.form-background-logo{font-size:10rem}.quote-form-title{font-size:1.75rem;margin-bottom:2rem;padding:0 1rem}.quote-form{border-radius:16px;padding:2rem 1rem}.input-grid,.input-grid.three-columns,.input-grid.two-columns{gap:1.25rem;grid-template-columns:1fr}.form-group input,.form-group textarea{font-size:16px;padding:.75rem 1rem}.form-group textarea{min-height:150px}.form-agreements{gap:.75rem;padding-left:0}.checkbox-group label{font-size:.85rem}.submit-button{font-size:1rem;min-width:auto;padding:.875rem 2rem;width:100%}.form-success-message{padding:3rem 1.5rem}.form-success-message h3{font-size:1.5rem}.success-icon{height:64px;width:64px}}@media (max-width:480px){.form-background-logo{font-size:8rem}.quote-form-title{font-size:1.5rem}.quote-form{padding:1.5rem 1rem}.form-group label{font-size:.85rem}}.home-page{background-color:#fff;overflow-x:hidden}.hero-section{background:#fff;justify-content:center;min-height:100vh;overflow:hidden;padding:8rem 0}.hero-content,.hero-section{align-items:center;display:flex;position:relative}.hero-content{flex-direction:column;max-width:100%;text-align:center;width:100%;z-index:1}.hero-headline{margin-bottom:3rem;margin-top:10rem}.headline-row{align-items:baseline;display:flex;gap:0;justify-content:center;overflow:hidden}.headline-space{width:1.5rem}.headline-text{animation:slideUpText .8s cubic-bezier(.16,1,.3,1) forwards;color:#000;display:inline-block;font-family:Inter,sans-serif;font-size:6rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;opacity:0;transform:translateY(100%)}.headline-row:first-child .headline-text{animation-delay:.1s}.headline-row:nth-child(2) .headline-text{animation-delay:.2s}.headline-row:nth-child(3) .headline-text{animation-delay:.3s}.headline-row:nth-child(3) .headline-highlight{animation-delay:.4s}.headline-highlight{animation:slideUpText .8s cubic-bezier(.16,1,.3,1) forwards;color:#06f;display:inline-block;font-family:Inter,sans-serif;font-size:6rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;opacity:0;position:relative;transform:translateY(100%)}.headline-highlight:after{animation:expandWidth .5s ease-out forwards;animation-delay:.8s;background:#06f;bottom:.1em;content:"";height:.15em;left:0;opacity:.2;position:absolute;transform:scaleX(0);transform-origin:left;width:100%}@keyframes slideUpText{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes expandWidth{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulseBrandDot{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-section .hero-subtitle{animation:fadeIn .8s ease-out forwards;animation-delay:.7s;color:#555;font-size:1.5rem;font-weight:400;line-height:1.7;margin-bottom:4rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:0;word-break:keep-all}.hero-cta{align-items:center;animation:fadeIn .8s ease-out forwards;animation-delay:.8s;display:flex;gap:1.5rem;opacity:0}.cta-primary{align-items:center;background:#000;border-radius:50px;color:#fff;display:inline-flex;font-size:1.1rem;font-weight:600;gap:.75rem;overflow:hidden;padding:1.25rem 2.5rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1)}.cta-primary:hover{background:#06f;transition:left .4s cubic-bezier(.16,1,.3,1);z-index:0}.cta-primary span,.cta-primary svg{position:relative;z-index:1}.cta-primary svg{transition:transform .3s ease}.cta-primary:hover svg{transform:translateX(5px)}.cta-secondary{align-items:center;background:#0000;border:2px solid #000;border-radius:50px;color:#000;display:inline-flex;font-size:1.1rem;font-weight:600;gap:.75rem;padding:1.25rem 2rem;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1)}.cta-secondary:hover{background:#06f;border-color:#06f;color:#fff}.cta-secondary svg{transition:transform .3s ease}.cta-secondary:hover svg{transform:translateX(5px)}@keyframes scrollDown{0%{transform:translateY(-100%)}50%{transform:translateY(100%)}to{transform:translateY(200%)}}.scroll-text{color:#999;font-size:.75rem;font-weight:600;letter-spacing:.2em}.bento-section{background-color:#fff;padding:10rem 0}.bento-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(2,1fr)}.bento-item{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:0;border-radius:20px;display:flex;flex-direction:column;justify-content:center;min-height:360px;overflow:hidden;padding:1rem 2rem;position:relative;transition:all .8s cubic-bezier(.16,1,.3,1)}.bento-item:hover{border-color:#000;box-shadow:0 20px 40px #00000014}.bento-content{position:relative;width:100%;z-index:1}.bento-header{gap:2rem;height:100%}.bento-header,.bento-number{align-items:flex-start;display:flex}.bento-number{color:#000;flex-shrink:0;font-size:4rem;font-weight:800;justify-content:flex-start;letter-spacing:-.05em;line-height:1}.bento-text{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.bento-text h3{color:#000;font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0;transform:translateY(0);transform-origin:left center;transition:all .8s cubic-bezier(.16,1,.3,1)}.bento-item:hover .bento-text h3{transform:translateY(-8px)}.bento-text p{color:#555;font-size:1.1rem;line-height:1.7;margin:0;max-height:0;opacity:0;overflow:hidden;transform:translateY(10px);transition:all .8s cubic-bezier(.16,1,.3,1);word-break:keep-all}.bento-item:hover .bento-text p{max-height:200px;opacity:1;transform:translateY(0)}.works-section{background-color:#fff;padding:10rem 0}.works-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(2,1fr);margin-top:4rem}.work-card{cursor:pointer;display:block}.work-image{aspect-ratio:4/3;background:#f0f0f0;border-radius:20px;margin-bottom:1.5rem;overflow:hidden;position:relative}.work-image,.work-image:after{transition:all .4s ease;width:100%}.work-image:after{background:#0000000d;content:"";height:100%;left:0;position:absolute;top:0}.work-card:hover .work-image{transform:scale(.98)}.work-card:hover .work-image:after{background:#0000}.work-info h3{color:#000;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.work-info p{color:#666;font-size:1.1rem}.services-section{background-color:#fff;border-top:1px solid #eee;padding:8rem 0}.section-header{margin-bottom:5rem;text-align:left}.section-badge{background:#000;border-radius:50px;color:#fff;display:inline-block;font-size:1rem;font-weight:700;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase}.section-title{color:#000;font-size:3.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:1rem;margin-top:.5rem}.section-description{color:#555;font-size:1.25rem;margin:0;max-width:600px}.services-list-container{display:flex;flex-direction:column}.service-row{align-items:center;border-bottom:1px solid #eee;cursor:pointer;display:flex;overflow:hidden;padding:4rem 2rem;position:relative;transition:all .4s cubic-bezier(.16,1,.3,1)}.service-row:first-child{border-top:1px solid #eee}.service-row:hover{background:#f9f9f9;border-color:#000}.service-icon-wrapper{align-items:center;background:#fff;border:1px solid #eee;border-radius:16px;color:#000;display:flex;flex-shrink:0;height:80px;justify-content:center;margin-right:3rem;transition:all .4s cubic-bezier(.16,1,.3,1);width:80px}.service-row:hover .service-icon-wrapper{background:#000;border-color:#000;color:#fff;transform:scale(1.1)}.service-content{flex:1 1;padding-right:2rem}.service-content h3{color:#000;font-size:2rem;font-weight:800;margin-bottom:.75rem;transition:color .3s}.service-row:hover h3{color:#06f}.service-content p{color:#666;font-size:1.15rem;line-height:1.6;margin:0;max-width:90%;transition:color .3s}.service-row:hover .service-content p{color:#333}.service-arrow{align-items:center;border:1px solid #0000;border-radius:50%;color:#e0e0e0;display:flex;flex-shrink:0;height:48px;justify-content:center;transition:all .4s cubic-bezier(.16,1,.3,1);width:48px}.service-row:hover .service-arrow{background:#0066ff1a;border-color:#06f3;color:#06f;transform:translateX(10px)}@media (max-width:992px){.service-row{padding:3rem 1rem}.service-icon-wrapper{height:64px;margin-right:2rem;width:64px}.service-icon-wrapper svg{height:32px;width:32px}.service-content h3{font-size:1.75rem}.service-arrow{display:flex}}@media (max-width:768px){.service-row{align-items:flex-start;flex-direction:column;gap:1.5rem;padding:2.5rem 0}.service-icon-wrapper{margin-bottom:.5rem;margin-right:0}.service-content{padding-right:0;width:100%}.service-content h3{font-size:1.5rem}.service-content p{font-size:1rem;max-width:100%}.service-arrow{display:none}}.tech-section{background:#000;color:#fff;padding:8rem 0}.tech-section .section-title{color:#fff}.tech-section .section-description{color:#aaa}.tech-section .section-badge{background:#fff;color:#000}.tech-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(4,1fr);margin-top:4rem}.tech-item{background:#ffffff1a;border:1px solid #ffffff1a;border-radius:16px;padding:2rem;text-align:center}.tech-item h4{font-size:1.2rem;margin-bottom:1rem}.faq-section{background:#fff;padding:10rem 0}.faq-container{margin-left:0;max-width:100%}.faq-item{border-bottom:1px solid #e0e0e0;padding:2rem 0;transition:all .3s ease}.faq-item:first-child{border-top:1px solid #e0e0e0}.faq-question{align-items:center;background:none;border:none;color:#1a1a1a;cursor:pointer;display:flex;font-size:1.5rem;font-weight:600;justify-content:space-between;padding:0;text-align:left;transition:color .2s;width:100%}.faq-question:hover{color:#06f}.faq-toggle{align-items:center;background:#f5f5f5;border-radius:50%;color:#000;display:flex;font-size:1.5rem;font-weight:300;height:32px;justify-content:center;transition:transform .4s cubic-bezier(.16,1,.3,1);width:32px}.faq-item.active .faq-toggle{background:#06f;color:#fff;transform:rotate(45deg)}.faq-answer{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .5s ease}.faq-item.active .faq-answer{margin-top:1.5rem;max-height:300px;opacity:1}.faq-answer p{color:#555;font-size:1.1rem;line-height:1.7;max-width:90%}.quote-form-section{background-color:#fff;padding:8rem 0}@media (max-width:992px){.headline-highlight,.headline-text{font-size:4.5rem}.hero-section .hero-subtitle{font-size:1.35rem;max-width:90%}.brand-prefix{font-size:1.5rem}.brand-name{font-size:2rem}.bento-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.bento-item.large,.bento-item.tall{grid-column:span 1;grid-row:span 1}.works-grid{grid-template-columns:1fr}.service-row{flex-direction:column;gap:1rem}.service-row p{padding-right:0}.service-tags{justify-content:flex-start}}@media (max-width:768px){.hero-section{min-height:100vh;padding:10rem 0 6rem}.hero-content{align-items:center;text-align:center}.headline-highlight,.headline-text{font-size:3rem}.headline-row{gap:0}.hero-brand,.hero-headline{margin-bottom:2rem}.hero-brand{gap:.75rem}.brand-prefix{font-size:1.25rem}.brand-name{font-size:1.5rem}.brand-dot{height:8px;width:8px}.hero-section .hero-subtitle{font-size:1.1rem;margin-bottom:3rem;max-width:100%}.hero-cta{flex-direction:column;gap:1rem;width:100%}.cta-primary,.cta-secondary{font-size:1rem;justify-content:center;padding:1.1rem 2rem;width:100%}.scroll-indicator{bottom:2rem}.scroll-line{height:40px}.hero-bg-gradient{background:radial-gradient(ellipse 100% 50% at 50% 0,#0066ff1f 0,#0000 50%),radial-gradient(ellipse 80% 40% at 100% 100%,#0066ff14 0,#0000 50%),linear-gradient(180deg,#fff,#f8faff)}.bento-grid{grid-template-columns:1fr}.bento-text p{margin-top:.5rem;max-height:300px;opacity:1;transform:translateY(0)}.bento-header{gap:1rem}.bento-text h3{font-size:1.5rem}.bento-number{font-size:3rem}.tech-grid{grid-template-columns:repeat(2,1fr)}.quote-form-section{padding:0}}@media (max-width:480px){.headline-highlight,.headline-text{font-size:2.25rem}.brand-prefix{font-size:1rem}.brand-name{font-size:1.25rem}.hero-section .hero-subtitle{font-size:1rem}}.contact-page{background-color:#fff;min-height:100vh;padding-top:80px}.page-header{margin-bottom:3rem;text-align:center}.page-header h1{font-size:2.5rem;margin-top:10rem}.page-header p{color:#666;font-size:1.1rem}@media (max-width:768px){.page-header h1{font-size:2rem;margin-top:6rem}.page-header p{font-size:1rem}}.blog-page{background:#fff;min-height:100vh;width:100%}.blog-category-nav{background:#fff;border-bottom:1px solid #eee;position:-webkit-sticky;position:sticky;top:0;z-index:100}.category-list{display:flex;gap:0;justify-content:center;list-style:none;margin:0 auto;max-width:1200px;padding:0}.category-item{background:none;border:none;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:1.25rem 1.5rem;position:relative;transition:color .2s ease}.category-item:hover{color:#000}.category-item.active{color:#000;font-weight:600}.category-item.active:after{background:#000;bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.blog-content-wrapper{margin:0 auto;max-width:1200px;padding:3rem 2rem}.blog-layout{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:1fr 320px}.blog-main{min-width:0}.post-list{list-style:none;margin:0;padding:0}.post-list>li{border-bottom:1px solid #eee}.post-list>li:last-child{border-bottom:none}.post-item{color:inherit;display:flex;gap:2rem;padding:2rem 0;text-decoration:none;transition:opacity .2s ease}.post-item:hover{opacity:.7}.post-text{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.post-title{color:#000;font-size:1.25rem;font-weight:600;line-height:1.5;margin:0 0 .75rem}.post-excerpt,.post-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-excerpt{color:#666;font-size:.95rem;line-height:1.7;margin:0 0 1rem}.post-meta{align-items:center;color:#888;display:flex;font-size:.875rem;gap:.5rem}.post-separator{color:#ccc}.post-author,.post-date{color:#888}.post-thumbnail{background:#f5f5f5;border-radius:8px;flex-shrink:0;height:140px;overflow:hidden;width:200px}.post-thumbnail img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.post-item:hover .post-thumbnail img{transform:scale(1.05)}.blog-sidebar{position:-webkit-sticky;position:sticky;top:80px}.sidebar-section{border-bottom:1px solid #eee;margin-bottom:2.5rem;padding-bottom:2rem}.sidebar-section:last-child{border-bottom:none}.sidebar-title{color:#000;font-size:.875rem;font-weight:600;letter-spacing:.02em;margin:0 0 1.25rem;text-transform:uppercase}.popular-list{list-style:none;margin:0;padding:0}.popular-list>li{margin-bottom:1rem}.popular-list>li:last-child{margin-bottom:0}.popular-item{display:block;padding:.75rem 0;text-decoration:none;transition:opacity .2s ease}.popular-item:hover{opacity:.7}.popular-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#000;display:block;display:-webkit-box;font-size:.95rem;font-weight:500;line-height:1.5;margin-bottom:.25rem;overflow:hidden}.popular-author{color:#888;display:block;font-size:.8rem}.sidebar-cta{background:#f8f9fa;border:1px solid #eee;border-radius:8px;padding:1.5rem}.sidebar-cta .sidebar-title{margin-bottom:.75rem}.cta-description{color:#666;font-size:.9rem;line-height:1.6;margin:0 0 1rem}.cta-button{background:#000;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:background .2s ease;width:100%}.cta-button:hover{background:#333}.blog-loading{padding:6rem 2rem}.blog-empty,.blog-loading{color:#666;font-size:1rem;text-align:center}.blog-empty{background:#f8f9fa;border-radius:8px;padding:4rem 2rem}@media (max-width:1024px){.blog-layout{gap:3rem;grid-template-columns:1fr 280px}.post-thumbnail{height:110px;width:160px}}@media (max-width:768px){.blog-content-wrapper{padding:2rem 1rem}.blog-layout{gap:2rem;grid-template-columns:1fr}.blog-sidebar{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;position:static}.sidebar-section{border-bottom:none;margin-bottom:0;padding-bottom:0}.blog-category-nav{-webkit-overflow-scrolling:touch;overflow-x:auto}.category-list{justify-content:flex-start;min-width:-webkit-max-content;min-width:max-content;padding:0 1rem}.category-item{font-size:.9rem;padding:1rem;white-space:nowrap}.post-item{flex-direction:column-reverse;gap:1rem;padding:1.5rem 0}.post-thumbnail{height:200px;width:100%}.post-title{font-size:1.1rem}.post-excerpt{font-size:.9rem}}@media (max-width:480px){.blog-sidebar{grid-template-columns:1fr}.post-thumbnail{height:180px}}.blog-detail-page{background-color:#fff;min-height:100vh}.blog-detail-loading{color:#666;font-size:1.1rem;min-height:400px}.blog-detail-loading,.blog-not-found{align-items:center;display:flex;justify-content:center}.blog-not-found{flex-direction:column;min-height:60vh;padding:2rem;text-align:center}.blog-not-found h1{color:#000;font-size:2rem;font-weight:800;margin-bottom:1rem}.blog-not-found p{color:#666;margin-bottom:2rem}.blog-not-found .back-button{align-items:center;background:#000;border-radius:50px;color:#fff;display:inline-flex;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;text-decoration:none;transition:all .3s ease}.blog-not-found .back-button:hover{background:#06f}.blog-detail-container{margin:0 auto;max-width:800px;padding:0 1.5rem 4rem}.post-meta-bar{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.meta-category{background:#eff6ff;border-radius:6px;color:#06f;display:inline-block;font-size:.85rem;font-weight:600;padding:.4rem .8rem}.meta-date,.meta-views{color:#888;font-size:.9rem}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.post-tag{background:#f5f5f5;border-radius:20px;color:#666;display:inline-block;font-size:.85rem;padding:.3rem .75rem;transition:all .2s ease}.post-tag:hover{background:#e5e5e5}.post-hero-image{border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:3rem;overflow:hidden;width:100%}.post-hero-image img{display:block;height:auto;width:100%}.post-body{color:#333;font-size:1.1rem;line-height:1.8}.post-body h1{color:#000;font-size:2rem;font-weight:800;margin:2em 0 1em}.post-body h2{color:#000;font-size:1.6rem;font-weight:700;margin:1.5em 0 .75em}.post-body h3{color:#000;font-size:1.3rem;font-weight:700;margin:1.25em 0 .5em}.post-body p{margin-bottom:1.5em}.post-body img{border-radius:12px;box-shadow:0 4px 12px #00000014;height:auto;margin:2rem 0;max-width:100%}.post-body ol,.post-body ul{margin-bottom:1.5em;padding-left:1.5em}.post-body li{margin-bottom:.5em}.post-body blockquote{background:#f8f9fa;border-left:4px solid #06f;border-radius:0 12px 12px 0;color:#555;font-style:italic;margin:2rem 0;padding:1.5rem}.post-body a{color:#06f;text-decoration:underline}.post-body a:hover{text-decoration:none}.post-body code,.post-body pre{background:#f5f5f5;border-radius:6px;font-family:Consolas,Monaco,monospace}.post-body code{font-size:.9em;padding:.2em .4em}.post-body pre{margin:1.5rem 0;overflow-x:auto;padding:1.5rem}.post-body pre code{background:none;padding:0}.post-body hr{border:none;border-top:1px solid #e5e5e5;margin:3rem 0}.post-footer{border-top:1px solid #f0f0f0;margin-top:4rem;padding-top:2rem}.back-to-list{align-items:center;background:#f5f5f5;border:none;border-radius:50px;color:#333;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.back-to-list:hover{background:#e5e5e5}.related-posts-section{background:#f8f9fa;padding:5rem 1.5rem}.related-posts-container{margin:0 auto;max-width:1200px}.related-title{border-left:4px solid #000;font-size:1.5rem;font-weight:800;margin-bottom:2rem;padding-left:1rem}.related-posts-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}.related-post-card{background:#fff;border:1px solid #e5e5e5;border-radius:16px;color:inherit;overflow:hidden;text-decoration:none;transition:all .3s ease}.related-post-card:hover{box-shadow:0 16px 32px #00000014;transform:translateY(-8px)}.related-post-thumbnail{background:#f0f0f0;height:180px;overflow:hidden;width:100%}.related-post-thumbnail img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.related-post-card:hover .related-post-thumbnail img{transform:scale(1.05)}.related-post-info{padding:1.5rem}.related-post-category{color:#06f;display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:.5rem}.related-post-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#000;display:-webkit-box;font-size:1.1rem;font-weight:700;line-height:1.4;margin:0 0 .75rem;overflow:hidden}.related-post-date{color:#888;font-size:.85rem}.blog-detail-cta{background:#000;padding:6rem 1.5rem;text-align:center}.blog-detail-cta .cta-inner{margin:0 auto;max-width:600px}.blog-detail-cta h2{color:#fff;font-size:2rem;font-weight:800;margin-bottom:1rem}.blog-detail-cta p{color:#999;font-size:1.1rem;margin-bottom:2rem}.blog-detail-cta .cta-button{align-items:center;background:#fff;border-radius:50px;color:#000;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.blog-detail-cta .cta-button:hover{background:#06f;color:#fff}.blog-detail-cta .cta-button svg{transition:transform .3s ease}.blog-detail-cta .cta-button:hover svg{transform:translate(2px,-2px)}@media (max-width:1024px){.related-posts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.blog-detail-container{padding:0 1rem 3rem}.post-meta-bar{gap:.75rem}.post-body{font-size:1rem}.post-body h1{font-size:1.6rem}.post-body h2{font-size:1.4rem}.post-body h3{font-size:1.2rem}.related-posts-section{padding:3rem 1rem}.related-posts-grid{gap:1.5rem;grid-template-columns:1fr}.related-post-thumbnail{height:160px}.blog-detail-cta{padding:4rem 1rem}.blog-detail-cta h2{font-size:1.5rem}.blog-detail-cta p{font-size:1rem}}.portfolio-page{background-color:#fff;overflow-x:hidden}.portfolio-container{margin:0 auto;max-width:1440px;padding:0 1.5rem 6rem}.reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.16,1,.3,1)}.reveal.active{opacity:1;transform:translateY(0)}.portfolio-filter{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:4rem}.filter-tab{background:#fff;border:1px solid #e0e0e0;border-radius:50px;color:#555;cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.5rem;transition:all .25s cubic-bezier(.16,1,.3,1)}.filter-tab:hover{border-color:#000;color:#000}.filter-tab.active{background:#000;border-color:#000;color:#fff}.portfolio-grid{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(3,1fr)}.portfolio-card{animation:fadeInUp .6s ease forwards;background:#fff;border:1px solid #e5e5e5;border-radius:16px;color:inherit;display:flex;flex-direction:column;opacity:0;overflow:hidden;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.portfolio-card:hover{box-shadow:0 24px 48px #00000014;transform:translateY(-10px)}.portfolio-thumbnail{aspect-ratio:3/2;background:#f5f5f5;border-bottom:1px solid #f0f0f0;overflow:hidden;position:relative;width:100%}.portfolio-thumbnail img{height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1);width:100%}.portfolio-card:hover .portfolio-thumbnail img{transform:scale(1.05)}.view-icon{align-items:center;background:#fff;border-radius:50%;color:#000;display:inline-flex;height:48px;justify-content:center;transform:scale(.8);transition:transform .4s cubic-bezier(.16,1,.3,1);width:48px}.portfolio-card:hover .view-icon{transform:scale(1)}.portfolio-info{display:flex;flex:1 1;flex-direction:column;padding:1.75rem}.portfolio-category-wrapper{margin-bottom:.75rem}.portfolio-category{background:#eff6ff;border-radius:6px;color:#06f;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.3rem .6rem;text-transform:uppercase}.portfolio-title{color:#000;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;line-height:1.3;margin:0 0 .5rem;transition:color .3s ease}.portfolio-subtitle{color:#666;flex-grow:1;font-size:.95rem;line-height:1.5;margin:0 0 1.5rem}.portfolio-specs{align-items:center;border-top:1px solid #f0f0f0;display:flex;gap:1rem;margin-top:auto;padding-top:1.25rem}.spec-item{display:flex;flex-direction:column;gap:.2rem}.spec-label{color:#999;font-size:.75rem;font-weight:500}.spec-value{color:#333;font-size:.9rem;font-weight:600}.spec-divider{background:#e5e5e5;height:24px;width:1px}.portfolio-empty{color:#666;font-size:1.1rem;text-align:center}.portfolio-empty,.portfolio-loading{padding:6rem 2rem}.portfolio-cta{background:#000;padding:8rem 1.5rem;text-align:center}.cta-inner{margin:0 auto;max-width:700px}.portfolio-cta h2{color:#fff;font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:1rem}.portfolio-cta p{color:#999;font-size:1.2rem;line-height:1.6;margin-bottom:2.5rem}.cta-button{align-items:center;background:#fff;border:none;border-radius:50px;color:#000;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1)}.cta-button:hover{background:#06f;color:#fff}.cta-button svg{transition:transform .3s ease}.cta-button:hover svg{transform:translate(2px,-2px)}@media (max-width:1024px){.portfolio-grid{gap:2rem;grid-template-columns:repeat(2,1fr)}.portfolio-cta h2{font-size:2rem}}@media (max-width:768px){.portfolio-container{padding:0 1rem 4rem}.portfolio-filter{gap:.5rem;margin-bottom:3rem}.filter-tab{font-size:.85rem;padding:.5rem 1rem}.portfolio-grid{gap:1.5rem;grid-template-columns:1fr}.portfolio-info{padding:1.25rem}.portfolio-title{font-size:1.25rem}.portfolio-subtitle{font-size:.95rem}.portfolio-cta{border-radius:16px;margin:2rem 0;padding:5rem 1rem}.portfolio-cta h2{font-size:1.75rem}.portfolio-cta p{font-size:1rem}.cta-button{font-size:.95rem;padding:.875rem 1.5rem}}@media (max-width:480px){.filter-tab{font-size:.8rem;padding:.4rem .8rem}}.portfolio-detail-page{background-color:#fff;margin:0 auto;max-width:1440px;overflow-x:hidden;padding:4rem 2rem;width:100%}.detail-hero-image{margin:0 auto;max-width:1200px;padding:4rem 1.5rem 0;width:100%}.detail-hero-image img{border-radius:16px;box-shadow:0 4px 24px #00000014;height:auto;max-height:600px;object-fit:cover;width:100%}.detail-container{margin:0 auto;max-width:1200px;padding:0 1.5rem}.detail-header{border-bottom:1px solid #f0f0f0;padding:3rem 0 2rem}.detail-title{color:#000;font-size:2.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 .75rem}.detail-subtitle{color:#666;font-size:1.25rem;line-height:1.5;margin:0}.detail-meta-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr;padding:2.5rem 0}.meta-column{gap:2rem}.meta-column,.meta-item{display:flex;flex-direction:column}.meta-item{gap:.75rem}.meta-label{color:#888;font-size:.9rem;letter-spacing:.02em;margin:0}.meta-tags{display:flex;flex-wrap:wrap;gap:.5rem}.meta-tag{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;display:inline-block;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.detail-client-info{padding:1.5rem 0}.client-row{align-items:baseline;display:flex;gap:2rem}.client-label{color:#888;font-size:.9rem;font-weight:600;min-width:80px}.client-value{color:#000;font-size:1rem;font-weight:600}.detail-divider{border:none;border-top:1px solid #e5e5e5;margin:1rem 0 3rem}.detail-content{padding-bottom:4rem}.content-body{color:#333;font-size:1.1rem;line-height:1.8;max-width:100%}.content-body h1{color:#000;font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:2.5em 0 1em}.content-body h2{color:#000;font-size:1.5rem;font-weight:700;margin:2em 0 .75em}.content-body h3{color:#000;font-size:1.25rem;font-weight:700;margin:1.5em 0 .5em}.content-body p{margin-bottom:1.5em}.content-body img{border-radius:12px;box-shadow:0 4px 16px #00000014;height:auto;margin:2rem 0;max-width:100%}.content-body ol,.content-body ul{margin-bottom:1.5em;padding-left:1.5em}.content-body li{margin-bottom:.5em}.content-body blockquote{background:#f8f9fa;border-left:4px solid #06f;border-radius:0 12px 12px 0;color:#555;font-style:italic;margin:2rem 0;padding:1.25rem 1.5rem}.content-body a{color:#06f;text-decoration:underline;text-underline-offset:2px}.content-body a:hover{text-decoration:none}.content-body hr{border:none;border-top:1px solid #e5e5e5;margin:3rem 0}.content-body code,.content-body pre{background:#f5f5f5;border-radius:6px;font-family:Consolas,Monaco,monospace}.content-body code{font-size:.9em;padding:.2em .4em}.content-body pre{margin:1.5rem 0;overflow-x:auto;padding:1.25rem}.content-body pre code{background:none;padding:0}.detail-related{border-top:1px solid #e5e5e5;padding:4rem 0}.related-section-title{color:#000;font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin:0 0 2rem}.related-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}.related-card{color:inherit;display:block;text-decoration:none}.related-thumbnail{aspect-ratio:3/2;background:#f5f5f5;border-radius:12px;margin-bottom:1rem;overflow:hidden}.related-thumbnail img{height:100%;object-fit:cover;width:100%}.related-info{padding:0 .25rem}.related-category{color:#06f;display:block;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.related-title{color:#000;font-size:1.1rem;font-weight:700;line-height:1.4;margin:0}.detail-cta{background:#000;color:#fff;padding:5rem 1.5rem}.cta-container{margin:0 auto;max-width:1200px;text-align:center}.back-link{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:inline-flex;font-size:.95rem;gap:.5rem;margin-bottom:2.5rem;text-decoration:none}.cta-content h2{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 1rem}.cta-content p{color:#999;font-size:1.1rem;margin:0 0 2rem}.detail-cta .cta-button{align-items:center;background:#fff;border:none;border-radius:50px;color:#000;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none}.portfolio-loading{color:#666;font-size:1.1rem}.portfolio-loading,.portfolio-not-found{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:4rem 1.5rem;text-align:center}.portfolio-not-found h1{color:#000;font-size:2rem;margin-bottom:1rem}.portfolio-not-found p{color:#666;font-size:1.1rem;margin-bottom:2rem}.back-button{background:#000;border-radius:50px;color:#fff;display:inline-block;font-weight:600;padding:1rem 2rem;text-decoration:none}@media (max-width:1024px){.detail-hero-image{padding:1.5rem 1.5rem 0}.detail-hero-image img{max-height:500px}.detail-title{font-size:2rem}.detail-meta-grid{gap:2rem}.related-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.detail-hero-image{padding:1rem 1rem 0}.detail-hero-image img{border-radius:12px;max-height:400px}.detail-container{padding:0 1rem}.detail-header{padding:2rem 0 1.5rem}.detail-title{font-size:1.75rem}.detail-subtitle{font-size:1.1rem}.detail-meta-grid{gap:1.5rem;grid-template-columns:1fr;padding:2rem 0}.meta-column{gap:1.5rem}.meta-tag{font-size:.85rem;padding:.4rem .85rem}.client-row{flex-direction:column;gap:.5rem}.detail-divider{margin:.5rem 0 2rem}.content-body{font-size:1rem}.content-body h1{font-size:1.5rem}.content-body h2{font-size:1.3rem}.content-body h3{font-size:1.15rem}.detail-related{padding:3rem 0}.related-grid{gap:1.5rem;grid-template-columns:1fr}.detail-cta{padding:3.5rem 1rem}.cta-content h2{font-size:1.5rem}.cta-content p{font-size:1rem}}@media (max-width:480px){.detail-hero-image img{border-radius:10px;max-height:300px}.detail-title{font-size:1.5rem}.detail-subtitle{font-size:1rem}.meta-label{font-size:.85rem}.meta-tag{font-size:.8rem;padding:.35rem .75rem}.related-section-title{font-size:1.1rem}.related-title{font-size:1rem}}.admin-container{background-color:#f5f5f5;color:#1a1a1a;display:flex;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;height:100vh}.admin-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.admin-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;height:64px;padding:0 24px}.admin-header h2{color:#000;font-size:1.25rem;font-weight:700;margin:0}.admin-content{flex:1 1;overflow-y:auto;padding:20px}.login-wrapper{align-items:center;background-color:#f5f5f5;display:flex;height:100vh;justify-content:center}.login-box{background:#fff;border:1px solid #e0e0e0;border-radius:16px;max-width:380px;padding:2.5rem;text-align:center;width:100%}.login-box h1{color:#000;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.login-input{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:.9rem;margin-bottom:12px;padding:12px;width:100%}.login-input:focus{background:#fff;border-color:#06f;outline:none}.btn-login{background-color:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:8px;padding:12px;width:100%}.btn-login:hover{background-color:#333}.admin-sidebar{background-color:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease;white-space:nowrap;width:260px;z-index:10}.admin-container.sidebar-collapsed .admin-sidebar{width:72px}.admin-logo-wrapper{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;height:64px;justify-content:space-between;padding:0 20px}.admin-container.sidebar-collapsed .admin-logo-wrapper{flex-direction:column;justify-content:center;padding:0}.admin-logo{color:#000;font-size:1.25rem;font-weight:800}.admin-container.sidebar-collapsed .admin-logo{display:none}.btn-toggle-sidebar{align-items:center;background:#0000;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.btn-toggle-sidebar:hover{background:#f5f5f5}.admin-container.sidebar-collapsed .btn-toggle-sidebar{border:none;height:36px;width:36px}.admin-nav{flex:1 1;padding:16px 12px}.admin-nav ul{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.admin-nav li{align-items:center;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:10px;height:44px;padding:12px 16px}.admin-container.sidebar-collapsed .admin-nav li{justify-content:center;padding:12px 0}.nav-icon{align-items:center;display:flex;justify-content:center;min-width:20px}.admin-nav li:hover{background-color:#f5f5f5;color:#000}.admin-nav li.active{background-color:#06f;color:#fff}.admin-footer{border-top:1px solid #f0f0f0;padding:16px 20px}.admin-container.sidebar-collapsed .admin-footer{display:flex;justify-content:center;padding:16px 12px}.admin-footer p{color:#888;font-size:.8rem;margin-bottom:8px}.btn-logout{background:#f1f3f5;border:none;border-radius:6px;color:#495057;cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 12px}.btn-logout.icon-only{align-items:center;display:flex;height:36px;justify-content:center;padding:8px;width:36px}.btn-logout:hover{background:#e9ecef}.editor-container{background:#fff;border:1px solid #e0e0e0;border-radius:12px;display:flex;flex-direction:column;height:calc(100vh - 120px);overflow:hidden}.editor-top-bar{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px}.editor-title-input{background:#0000;border:none;color:#000;font-family:inherit;font-size:1.5rem;font-weight:700;outline:none;width:70%}.editor-title-input::placeholder{color:#ccc}.editor-actions{display:flex;gap:8px}.editor-actions button:disabled{cursor:not-allowed;opacity:.5}.editor-meta-bar{align-items:flex-start;background:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:16px;padding:14px 20px}.meta-section{display:flex;flex-direction:column;gap:6px;min-width:160px}.meta-section.thumbnail-section{min-width:180px}.meta-section.tags-section{flex:1 1;min-width:240px}.meta-label{color:#495057;font-size:.8rem;font-weight:600}.meta-input,.meta-select{background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:.85rem;outline:none;padding:8px 12px}.meta-input:focus,.meta-select:focus{border-color:#06f}.meta-select{cursor:pointer}.thumbnail-upload-area{align-items:center;display:flex;gap:10px}.thumbnail-placeholder{align-items:center;border:1px dashed #ccc;border-radius:6px;color:#adb5bd;cursor:pointer;display:flex;flex-direction:column;font-size:.7rem;gap:4px;height:68px;justify-content:center;width:100px}.thumbnail-placeholder:hover{border-color:#06f;color:#06f}.thumbnail-preview{border-radius:6px;height:68px;overflow:hidden;position:relative;width:100px}.thumbnail-preview img{height:100%;object-fit:cover;width:100%}.thumbnail-remove-btn{background:#000000b3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.65rem;padding:2px 6px;position:absolute;right:4px;top:4px}.thumbnail-remove-btn:hover{background:#ef4444}.tags-input-container{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;flex-wrap:wrap;gap:6px;min-height:36px;padding:6px 10px}.tags-input-container:focus-within{border-color:#06f}.tags-list{display:flex;flex-wrap:wrap;gap:4px}.tag-item{align-items:center;background:#e7f1ff;border-radius:4px;color:#06f;display:inline-flex;font-size:.75rem;font-weight:500;gap:4px;padding:3px 8px}.tag-remove-btn{background:none;border:none;color:#06f;cursor:pointer;font-size:.8rem;line-height:1;opacity:.7;padding:0}.tag-remove-btn:hover{opacity:1}.tag-input{border:none;flex:1 1;font-size:.85rem;min-width:80px;outline:none;padding:4px 0}.tag-input::placeholder{color:#adb5bd}.editor-toolbar{background:#fff;border-bottom:1px solid #f0f0f0;flex-wrap:wrap;gap:6px;padding:10px 20px}.editor-toolbar,.toolbar-group{align-items:center;display:flex}.toolbar-group{gap:3px}.toolbar-select{border:1px solid #e0e0e0;border-radius:4px;color:#333;cursor:pointer;font-size:.85rem;outline:none;padding:5px 8px}.toolbar-select:hover{background:#f5f5f5}.icon-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#555;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.icon-btn:hover{background-color:#f0f0f0;color:#000}.editor-toolbar .separator{color:#e0e0e0;font-size:1rem;margin:0 8px}.color-picker-wrapper{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:28px;justify-content:center;position:relative;width:28px}.color-picker-wrapper:hover{background-color:#f0f0f0}.color-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.editor-workspace{background-color:#fff;cursor:text;flex:1 1;overflow-y:auto;padding:24px}.rich-editor-content{color:#333;font-size:1rem;line-height:1.7;margin:0 auto;max-width:800px;min-height:100%;outline:none;width:100%}.rich-editor-content img{border-radius:8px;display:block;height:auto;margin:16px 0;max-width:100%}.rich-editor-content[placeholder]:empty:before{color:#ccc;content:attr(placeholder);cursor:text}.rich-editor-content h1{font-size:2rem;font-weight:700;margin:.8em 0 .4em}.rich-editor-content h2{font-size:1.6rem;font-weight:700;margin:.8em 0 .4em}.rich-editor-content h3{font-size:1.3rem;font-weight:600;margin:.8em 0 .4em}.rich-editor-content p{margin-bottom:.8em}.rich-editor-content ul{margin-bottom:.8em;padding-left:20px}.rich-editor-content blockquote{border-left:3px solid #06f;color:#555;font-style:italic;margin:.8em 0;padding-left:14px}.rich-editor-content hr{border:none;border-top:1px solid #e0e0e0;margin:20px 0}.rich-editor-content a{color:#06f;text-decoration:underline}.icon-btn.text-btn{font-size:.75rem;font-weight:500;padding:5px 10px;width:auto}@media (max-width:768px){.editor-top-bar{align-items:stretch;flex-direction:column;gap:12px}.editor-title-input{font-size:1.25rem;width:100%}.editor-actions{justify-content:flex-end}.editor-meta-bar{padding:12px 16px}.meta-section,.meta-section.tags-section,.meta-section.thumbnail-section{min-width:100%}.editor-toolbar{padding:10px 12px}.editor-workspace{padding:16px}.editor-toolbar .separator{display:none}}.admin-panel{background:#fff;border:1px solid #e0e0e0;border-radius:16px;min-height:400px;padding:20px}.tool-bar{justify-content:space-between;margin-bottom:16px}.tool-bar,.tool-bar .filter-group{align-items:center;display:flex;gap:12px}.filter-group select{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:.85rem;outline:none;padding:8px 12px}.filter-group select:focus{border-color:#06f}.btn-primary{background:#06f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 20px}.btn-primary:hover{background:#0052cc}.btn-secondary{background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#495057;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 20px}.btn-secondary:hover{background:#f8f9fa}.btn-small{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#495057;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;padding:5px 10px}.btn-small:hover{background:#f5f5f5}.btn-outline{background:#fff;border-color:#06f;color:#06f}.btn-outline:hover{background:#06f;color:#fff}.btn-danger{background:#fff;border-color:#ef4444;color:#ef4444}.btn-danger:hover{background:#ef4444;color:#fff}.admin-table{border-collapse:collapse;width:100%}.admin-table th{border-bottom:1px solid #e0e0e0;color:#333;font-size:.85rem;font-weight:600;padding:12px;text-align:left}.admin-table td{border-bottom:1px solid #f0f0f0;color:#495057;font-size:.9rem;padding:12px;text-align:left;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.status{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:4px 10px}.status.in-progress{background:#e0f2fe;color:#06f}.status.pending{background:#fff7ed;color:#ea580c}.status.done{background:#dcfce7;color:#16a34a}.grid-placeholder{align-items:center;background:#f8f9fa;border:1px dashed #ced4da;border-radius:12px;color:#adb5bd;display:flex;font-size:.9rem;height:200px;justify-content:center}.table-footer{border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;margin-top:12px;padding-top:12px}.portfolio-count,.post-count{color:#868e96;font-size:.85rem}.post-title-cell{align-items:center;display:flex;gap:10px}.post-thumbnail-small{border-radius:4px;flex-shrink:0;height:28px;object-fit:cover;width:40px}.post-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.content-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden}.content-card:hover{border-color:#06f}.content-card-thumbnail{background:#f5f5f5;height:160px;overflow:hidden;position:relative;width:100%}.content-card-thumbnail img{height:100%;object-fit:cover;width:100%}.thumbnail-placeholder-card{align-items:center;background:#f8f9fa;color:#adb5bd;display:flex;font-size:.85rem;height:100%;justify-content:center;width:100%}.card-category-badge{background:#000000b3;border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;left:8px;padding:3px 8px;position:absolute;top:8px}.content-card-content{display:flex;flex:1 1;flex-direction:column;padding:14px}.content-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1a1a1a;display:-webkit-box;font-size:1rem;font-weight:600;line-height:1.4;margin:0 0 8px;overflow:hidden}.content-card-info{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.content-card-info .info-item{color:#495057;font-size:.8rem}.content-card-info .info-item strong{color:#868e96;font-weight:500;margin-right:4px}.content-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.card-tag{background:#e7f1ff;color:#06f}.card-tag,.card-tag-more{border-radius:4px;font-size:.7rem;font-weight:500;padding:2px 8px}.card-tag-more{background:#f1f3f4;color:#868e96}.content-card-meta{align-items:center;display:flex;gap:10px;margin-top:auto;padding-top:8px}.content-card-meta .meta-date,.content-card-meta .meta-views{color:#868e96;font-size:.75rem}.content-card-actions{background:#fafafa;border-top:1px solid #f0f0f0;display:flex;gap:6px;justify-content:flex-end;padding:10px 14px}@media (max-width:1024px){.content-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.admin-panel{padding:12px}.content-grid{grid-template-columns:1fr}.content-card-thumbnail{height:140px}.admin-table td,.admin-table th{font-size:.8rem;padding:10px 8px}.post-thumbnail-small{display:none}.tool-bar{align-items:stretch;flex-direction:column;gap:8px}.tool-bar .btn-primary,.tool-bar .filter-group{width:100%}}.dashboard{display:flex;flex-direction:column;gap:20px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px}.stat-card.highlight{background:#000;border-color:#000}.stat-card.highlight .stat-header h3,.stat-card.highlight .stat-sub,.stat-card.highlight .stat-value{color:#fff}.stat-card.highlight .stat-icon{background:#ffffff1a}.stat-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.stat-card h3{color:#666;font-size:.85rem;font-weight:500;margin:0}.stat-icon{align-items:center;background:#f5f5f5;border-radius:8px;display:flex;font-size:1rem;height:32px;justify-content:center;width:32px}.stat-value{color:#000;font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.stat-change{display:inline-block;font-size:.8rem;font-weight:600}.stat-change.positive{color:#16a34a}.stat-change.negative{color:#ef4444}.stat-sub{color:#868e96;display:block;font-size:.8rem}.charts-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.5fr 1fr}.chart-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px}.chart-title{color:#000;font-size:1rem;font-weight:600;margin:0 0 16px}.bar-chart{align-items:flex-end;display:flex;gap:8px;height:180px;justify-content:space-between}.bar-item{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.bar-wrapper{align-items:flex-end;display:flex;flex:1 1;justify-content:center;width:100%}.bar{background:#06f;border-radius:6px 6px 0 0;max-width:40px;min-height:16px;position:relative;width:100%}.bar-value{color:#333;font-size:.7rem;font-weight:600;left:50%;opacity:0;position:absolute;top:-20px;transform:translateX(-50%);white-space:nowrap}.bar:hover .bar-value{opacity:1}.bar-label{color:#666;font-size:.8rem;font-weight:500;margin-top:8px}.traffic-chart{align-items:center;display:flex;gap:24px}.donut-chart{flex-shrink:0;height:140px;position:relative;width:140px}.donut-chart svg{height:100%;width:100%}.donut-center{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.donut-total{color:#000;font-size:1.1rem;font-weight:700}.traffic-legend{display:flex;flex:1 1;flex-direction:column;gap:10px}.legend-item{align-items:center;display:flex;gap:10px}.legend-color{border-radius:3px;flex-shrink:0;height:10px;width:10px}.legend-name{color:#333;flex:1 1;font-size:.85rem}.legend-value{color:#000;font-size:.85rem;font-weight:600}.info-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.2fr 1fr}.info-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px}.info-card h3{color:#000;font-size:.95rem;font-weight:600;margin:0 0 12px}.info-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.info-card-header h3{margin:0}.btn-link{background:none;border:none;color:#06f;cursor:pointer;font-size:.8rem;font-weight:500;padding:0}.btn-link:hover{text-decoration:underline}.quotes-list{display:flex;flex-direction:column;gap:10px}.quote-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.quote-main{display:flex;flex-direction:column;gap:2px}.quote-company{color:#000;font-size:.9rem;font-weight:600}.quote-type{color:#666;font-size:.75rem}.quote-details{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.quote-budget{font-size:.8rem;font-weight:600}.quote-date{font-size:.75rem}.quote-status{border-radius:4px;font-size:.7rem;font-weight:600;padding:3px 8px}.quote-status.status-new{background:#dcfce7;color:#16a34a}.quote-status.status-pending{background:#fff7ed;color:#ea580c}.quote-status.status-contacted{background:#e0f2fe;color:#06f}.info-card-group{display:flex;flex-direction:column;gap:16px}.popular-pages-card{flex:1 1}.pages-list{display:flex;flex-direction:column;gap:8px}.page-item{background:#f8f9fa;border-radius:6px;gap:10px;padding:10px}.page-item,.page-rank{align-items:center;display:flex}.page-rank{background:#000;border-radius:4px;color:#fff;flex-shrink:0;font-size:.7rem;font-weight:700;height:20px;justify-content:center;width:20px}.page-info{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.page-name{color:#000;font-size:.85rem;font-weight:600}.page-path{color:#868e96;font-size:.7rem}.page-stats{align-items:flex-end;display:flex;flex-direction:column;gap:1px}.page-views{color:#000;font-size:.85rem;font-weight:600}.page-change{font-size:.7rem;font-weight:600}.page-change.positive{color:#16a34a}.page-change.negative{color:#ef4444}.device-card{flex:1 1}.device-list{display:flex;flex-direction:column;gap:12px}.device-item{gap:10px}.device-icon,.device-item{align-items:center;display:flex}.device-icon{background:#f5f5f5;border-radius:8px;font-size:1rem;height:32px;justify-content:center;width:32px}.device-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.device-name{color:#333;font-size:.8rem;font-weight:500}.device-bar-wrapper{background:#f0f0f0;border-radius:3px;height:5px;overflow:hidden}.device-bar{background:#06f;border-radius:3px;height:100%}.device-value{color:#000;font-size:.85rem;font-weight:600;min-width:36px;text-align:right}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.charts-section,.info-section{grid-template-columns:1fr}.traffic-chart{flex-direction:column}.donut-chart{height:120px;width:120px}}@media (max-width:768px){.dashboard{gap:12px}.stats-grid{gap:10px;grid-template-columns:1fr}.stat-card{padding:16px}.stat-value{font-size:1.5rem}.chart-card,.info-card{padding:14px}.bar-chart{gap:6px;height:140px}.bar{max-width:28px}.info-card-group{gap:12px}}.quote-manager{padding:20px}.quote-error,.quote-loading{color:#666;padding:40px 20px;text-align:center}.quote-error{color:#ef4444}.quote-error .btn-primary{margin-top:16px}.quote-toolbar{flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.quote-stats,.quote-toolbar{align-items:center;display:flex}.quote-stats{color:#666;font-size:.85rem;gap:10px}.stat-item{align-items:center;display:flex;gap:4px}.stat-item strong{color:#000;font-weight:700}.stat-item.pending strong{color:#ea580c}.stat-item.in-progress strong{color:#06f}.stat-item.done strong{color:#16a34a}.stat-divider{color:#e0e0e0}.quote-list{display:flex;flex-direction:column;gap:8px}.quote-item{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.quote-item.expanded{border-color:#06f}.quote-item.status-pending{border-left:3px solid #ea580c}.quote-item.status-in-progress{border-left:3px solid #06f}.quote-item.status-done{border-left:3px solid #16a34a}.quote-header{align-items:center;background:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px}.quote-header-left{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.quote-status-badge{border-radius:4px;flex-shrink:0;font-size:.7rem;font-weight:600;padding:4px 10px}.quote-status-badge.pending{background:#fff7ed;color:#ea580c}.quote-status-badge.in-progress{background:#e0f2fe;color:#06f}.quote-status-badge.done{background:#dcfce7;color:#16a34a}.quote-header-info{display:flex;flex-direction:column;gap:2px;min-width:0}.quote-name{align-items:center;color:#000;display:flex;font-size:.9rem;font-weight:600;gap:6px}.quote-company{color:#666;font-size:.8rem;font-weight:400}.quote-service{color:#868e96;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-header-right{align-items:center;display:flex;flex-shrink:0;gap:16px}.quote-budget{color:#06f;font-size:.85rem;font-weight:700}.quote-date{color:#868e96;font-size:.8rem}.expand-icon{align-items:center;color:#666;display:flex;height:24px;justify-content:center;transition:transform .2s ease;width:24px}.expand-icon.rotated{transform:rotate(180deg)}.quote-detail{background:#f9f9f9;border-top:0 solid #0000;max-height:0;overflow:hidden;transition:max-height .3s ease}.quote-detail.show{border-top:1px solid #eee;max-height:800px}.quote-detail-inner{padding:16px}.quote-detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:16px}.detail-section{display:flex;flex-direction:column;gap:8px}.detail-section-title{color:#666;font-size:.75rem;font-weight:700;letter-spacing:.03em;margin:0 0 4px;text-transform:uppercase}.detail-row{align-items:center;display:flex;font-size:.85rem;gap:8px}.detail-label{color:#868e96;flex-shrink:0;min-width:60px}.detail-value{color:#333;font-weight:500}.detail-value.highlight{color:#06f;font-weight:700}.detail-link{color:#06f;text-decoration:none}.detail-link:hover{text-decoration:underline}.detail-content-section{margin-bottom:16px}.detail-content-box{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#333;font-size:.85rem;line-height:1.6;max-height:200px;overflow-y:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.quote-actions{border-top:1px solid #e0e0e0;flex-wrap:wrap;gap:12px;justify-content:space-between;padding-top:12px}.quote-actions,.status-change{align-items:center;display:flex}.status-change{gap:6px}.action-label{color:#666;font-size:.8rem}.status-btn{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;font-size:.75rem;font-weight:500;padding:5px 12px;transition:all .15s}.status-btn:hover{background:#f5f5f5}.status-btn.active{background:#000;border-color:#000;color:#fff}.action-buttons{display:flex;gap:6px}.action-buttons .btn-small{align-items:center;display:inline-flex;font-size:.8rem;gap:4px}@media (max-width:768px){.quote-manager{padding:12px}.quote-toolbar{align-items:stretch;flex-direction:column}.quote-stats{flex-wrap:wrap;font-size:.8rem}.quote-header{align-items:flex-start;flex-direction:column;gap:8px;padding:12px}.quote-header-right{justify-content:space-between;width:100%}.quote-detail-grid{gap:12px;grid-template-columns:1fr}.quote-actions{align-items:stretch;flex-direction:column}.status-change{flex-wrap:wrap}}.calendar-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.calendar-header,.calendar-nav{align-items:center;display:flex}.calendar-nav{gap:12px}.calendar-title{color:#1a1a1a;font-size:1.25rem;font-weight:700;margin:0;min-width:140px;text-align:center}.btn-nav{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#495057;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s ease;width:36px}.btn-nav:hover{background:#f5f5f5;border-color:#06f;color:#06f}.btn-today{background:#fff;border:1px solid #06f;border-radius:8px;color:#06f;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:all .15s ease}.btn-today:hover{background:#06f;color:#fff}.calendar-grid{border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.calendar-weekdays{background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:grid;grid-template-columns:repeat(7,1fr)}.weekday{color:#495057;font-size:.85rem;font-weight:600;padding:12px;text-align:center}.weekday.sunday{color:#ef4444}.weekday.saturday{color:#06f}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{background:#fff;border-bottom:1px solid #f0f0f0;border-right:1px solid #f0f0f0;min-height:100px;padding:8px;position:relative;transition:background .15s ease}.calendar-day:nth-child(7n){border-right:none}.calendar-day:nth-last-child(-n+7){border-bottom:none}.calendar-day:hover{background:#fafbfc}.calendar-day.other-month{background:#f8f9fa}.calendar-day.other-month .day-number{color:#adb5bd}.calendar-day.today{background:#e7f1ff}.calendar-day.today .day-number{align-items:center;background:#06f;border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;width:28px}.day-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.day-number{color:#1a1a1a;font-size:.9rem;font-weight:600}.calendar-day.sunday .day-number{color:#ef4444}.calendar-day.saturday .day-number{color:#06f}.calendar-day.other-month.saturday .day-number,.calendar-day.other-month.sunday .day-number{color:#adb5bd}.btn-add-schedule{align-items:center;background:#06f;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease;visibility:hidden;width:22px}.calendar-day:hover .btn-add-schedule{opacity:1;visibility:visible}.btn-add-schedule:hover{background:#0052cc}.day-schedules{display:flex;flex-direction:column;gap:3px}.schedule-item{align-items:center;background:#e7f1ff;border-radius:4px;cursor:pointer;display:flex;gap:4px;overflow:hidden;padding:3px 6px;transition:all .15s ease}.schedule-item:hover{background:#d0e4ff}.schedule-time{color:#06f;flex-shrink:0;font-size:.7rem;font-weight:600}.schedule-title{color:#1a1a1a;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-more{background:#0000;border:none;border-radius:3px;color:#06f;cursor:pointer;font-size:.7rem;font-weight:500;padding:3px 6px;text-align:left;transition:background .15s ease;width:100%}.schedule-more:hover{background:#e7f1ff}.schedule-more-desktop{display:block}.schedule-more-mobile{display:none}.day-detail-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:999}.day-detail-popover{background:#fff;border-radius:12px;box-shadow:0 16px 48px #00000026;display:flex;flex-direction:column;max-height:70vh;max-width:380px;overflow:hidden;width:100%}.day-detail-header{align-items:flex-start;background:#fafbfc;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.day-detail-title{display:flex;flex-direction:column;gap:2px}.day-detail-title h4{color:#1a1a1a;font-size:1rem;font-weight:700;margin:0}.day-detail-count{color:#868e96;font-size:.8rem}.day-detail-content{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;padding:12px}.day-detail-item{background:#f8f9fa;border:1px solid #0000;border-radius:8px;cursor:pointer;padding:12px 14px;transition:all .15s ease}.day-detail-item:hover{background:#e7f1ff;border-color:#06f}.day-detail-item-time{align-items:center;color:#06f;display:flex;font-size:.8rem;font-weight:600;gap:6px;margin-bottom:6px}.day-detail-item-title{color:#1a1a1a;font-size:.9rem;font-weight:600;line-height:1.4;margin-bottom:6px}.day-detail-item-customer,.day-detail-item-location{align-items:center;color:#868e96;display:flex;font-size:.75rem;gap:5px;margin-top:4px}.day-detail-item-customer svg,.day-detail-item-location svg{flex-shrink:0}.day-detail-footer{background:#fafbfc;border-top:1px solid #e0e0e0;flex-shrink:0;padding:12px 16px}.btn-add-new{gap:6px;padding:10px 16px;width:100%}.btn-add-new,.schedule-dialog-overlay{align-items:center;display:flex;justify-content:center}.schedule-dialog-overlay{background:#00000080;bottom:0;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.schedule-dialog{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;max-height:85vh;max-width:500px;overflow:hidden;width:100%}.dialog-header{align-items:flex-start;background:#fafbfc;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.dialog-header-info{display:flex;flex-direction:column;gap:4px}.dialog-header h3{color:#1a1a1a;font-size:1.1rem;font-weight:700;margin:0}.dialog-date{color:#06f;font-size:.9rem;font-weight:600}.btn-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#868e96;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .15s ease;width:36px}.btn-close:hover{background:#e9ecef;color:#495057}.dialog-content{display:flex;flex:1 1;flex-direction:column;gap:20px;min-height:0;overflow-y:auto;padding:20px 24px}.form-section{display:flex;flex-direction:column;gap:10px}.form-section-label{align-items:center;color:#495057;display:flex;font-size:.85rem;font-weight:600;gap:6px}.form-section-label svg{color:#06f}.form-group{gap:6px}.form-group,.form-group-inline{display:flex;flex-direction:column}.form-group-inline{gap:4px}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-row-half{gap:16px}.form-label{align-items:center;color:#495057;display:flex;font-size:.8rem;font-weight:600;gap:5px}.form-label svg{color:#868e96;height:14px;width:14px}.form-label-small{color:#868e96;font-size:.75rem;font-weight:500}.form-input{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-sizing:border-box;color:#1a1a1a;font-size:.9rem;height:42px;outline:none;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus{border-color:#06f;box-shadow:0 0 0 3px #0066ff1a}.form-input::placeholder{color:#adb5bd}.form-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m3 4.5 3 3 3-3' stroke='%23868e96' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:32px}.form-textarea{height:auto;line-height:1.5;min-height:100px;resize:vertical}.dialog-footer{align-items:center;background:#fafbfc;border-top:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 24px}.dialog-actions{display:flex;gap:10px;margin-left:auto}.btn-delete{align-items:center;border-color:#ef4444;color:#ef4444;display:flex;gap:6px;padding:8px 14px}.btn-delete:hover{background:#ef4444;color:#fff}.calendar-loading{align-items:center;color:#868e96;display:flex;justify-content:center;min-height:400px}@media (max-width:1024px){.calendar-day{min-height:80px;padding:6px}.day-number{font-size:.8rem}.schedule-item{padding:2px 4px}.schedule-time{display:none}.schedule-title{font-size:.7rem}}@media (max-width:768px){.calendar-header{align-items:stretch;flex-direction:column;gap:12px}.calendar-nav{justify-content:center}.btn-today{width:100%}.calendar-day{min-height:60px;padding:4px}.day-number{font-size:.75rem}.calendar-day.today .day-number{height:22px;width:22px}.btn-add-schedule{height:18px;width:18px}.schedule-item{display:none}.day-schedules{bottom:4px;left:4px;position:absolute;right:4px}.schedule-more-desktop{display:none}.schedule-more-mobile{background:#e7f1ff;border-radius:3px;color:#06f;display:block;font-size:.65rem;padding:2px 4px;text-align:center}.day-detail-overlay{align-items:flex-end;padding:12px}.day-detail-popover{border-radius:16px 16px 0 0;max-height:80vh}.day-detail-header{padding:14px 16px}.day-detail-content{padding:10px}.day-detail-footer,.day-detail-item{padding:10px 12px}.schedule-dialog-overlay{align-items:flex-end;padding:12px}.schedule-dialog{border-radius:16px 16px 0 0;max-height:90vh}.dialog-header{padding:16px 20px}.dialog-header h3{font-size:1rem}.dialog-date{font-size:.85rem}.dialog-content{gap:16px;padding:16px 20px}.dialog-footer{padding:14px 20px}.form-row{gap:12px}.form-row,.form-row-half{grid-template-columns:1fr}}@media (max-width:480px){.weekday{font-size:.75rem;padding:8px 4px}.calendar-title{font-size:1.1rem;min-width:120px}.btn-nav{height:32px;width:32px}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.09ed6731.css.map*/