*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue-50:#eef9ff;--blue-100:#d9f1ff;--blue-200:#bbe7ff;--blue-300:#8bd9ff;--blue-400:#4fc3ff;--blue-500:#2bb0ee;--blue-600:#0f8fcc;--blue-700:#0d73a5;--blue-800:#126088;--blue-900:#144f70;--blue-950:#0e334a;--gray-50:#f8fafb;--gray-100:#f1f4f6;--gray-200:#e2e7ec;--gray-300:#c9d1d9;--gray-400:#a3adb9;--gray-500:#7b8794;--gray-600:#5f6b78;--gray-700:#4a545f;--gray-800:#3a424b;--gray-900:#282e34;--gray-950:#181c20;--white:#fff;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-xl:0 12px 48px #0000001f}html{scroll-behavior:smooth;scroll-snap-type:y mandatory;scroll-padding-top:72px}body{color:var(--gray-800);background:var(--white);-webkit-font-smoothing:antialiased;font-family:Public Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button,input,textarea{font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section-label{background:var(--blue-50);color:var(--blue-600);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-full);align-items:center;gap:8px;margin-bottom:16px;padding:6px 16px;font-size:.8rem;font-weight:600;display:inline-flex}.section-label:before{content:"";background:var(--blue-500);border-radius:50%;width:6px;height:6px}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-on-scroll{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(30px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.header{z-index:1000;-webkit-backdrop-filter:blur(20px);background:#ffffffeb;border-bottom:1px solid #0000000d;transition:box-shadow .3s;position:fixed;top:0;left:0;right:0}.header.scrolled{box-shadow:var(--shadow-md)}.header-inner{justify-content:space-between;align-items:center;height:72px;display:flex}.logo{color:var(--gray-900);align-items:center;gap:10px;font-size:1.5rem;font-weight:700;display:flex}.logo-icon{background:linear-gradient(135deg, var(--blue-400), var(--blue-600));border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:flex}.logo-sub{color:var(--gray-500);letter-spacing:.02em;margin-top:-2px;font-size:.65rem;font-weight:400;display:block}.nav{align-items:center;gap:6px;display:flex}.nav a{color:var(--gray-600);border-radius:var(--radius-full);padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.nav a:hover{color:var(--blue-600);background:var(--blue-50)}.nav-cta{margin-left:8px;background:var(--gray-900)!important;color:var(--white)!important;padding:10px 22px!important;font-weight:600!important}.nav-cta:hover{background:var(--gray-700)!important;color:var(--white)!important}.mobile-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.mobile-toggle span{background:var(--gray-800);border-radius:2px;width:24px;height:2px;transition:all .3s}.hero{scroll-snap-align:start;align-items:center;min-height:100vh;padding-top:72px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%}.hero-bg:after{content:"";background:linear-gradient(135deg,#fffffff2 0%,#ffffffd9 35%,#ffffff80 60%,#ffffff26 100%);position:absolute;inset:0}.hero-content{z-index:1;max-width:600px;animation:.9s forwards fadeUp;position:relative}.hero h1{color:var(--gray-950);letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;line-height:1.1}.hero h1 span{color:var(--blue-500)}.hero p{color:var(--gray-600);max-width:480px;margin-bottom:36px;font-size:1.15rem;line-height:1.7}.hero-btns{flex-wrap:wrap;gap:14px;display:flex}.anniversary-sticker{z-index:2;background:linear-gradient(135deg, var(--blue-400), var(--blue-600));width:150px;height:150px;color:var(--white);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1.1;animation:.8s .5s both stickerPop;display:flex;position:absolute;top:110px;right:8%;box-shadow:0 12px 40px #2bb0ee66}.anniversary-sticker:before{content:"";border:2px dashed #fff6;border-radius:50%;position:absolute;inset:-6px}.anniversary-sticker .anni-number{font-size:2.8rem;font-weight:800;line-height:1}.anniversary-sticker .anni-label{text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:.7rem;font-weight:600}.anniversary-sticker .anni-sub{opacity:.85;margin-top:2px;font-size:.6rem;font-weight:500}@keyframes stickerPop{0%{opacity:0;transform:scale(0)rotate(-20deg)}60%{transform:scale(1.1)rotate(3deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (max-width:968px){.anniversary-sticker{width:110px;height:110px;top:90px;right:16px}.anniversary-sticker .anni-number{font-size:2rem}.anniversary-sticker .anni-label{font-size:.6rem}.anniversary-sticker .anni-sub{font-size:.5rem}}@media (max-width:640px){.anniversary-sticker{width:90px;height:90px;top:80px;right:12px}.anniversary-sticker .anni-number{font-size:1.6rem}}.btn-primary{background:var(--gray-900);color:var(--white);border-radius:var(--radius-full);cursor:pointer;border:none;align-items:center;gap:8px;padding:14px 32px;font-size:.95rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-primary:hover{background:var(--gray-700);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-outline{background:var(--white);color:var(--gray-800);border-radius:var(--radius-full);border:2px solid var(--gray-200);cursor:pointer;align-items:center;gap:8px;padding:14px 32px;font-size:.95rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-outline:hover{border-color:var(--blue-300);color:var(--blue-600);box-shadow:var(--shadow-md);transform:translateY(-2px)}.services{background:var(--white);scroll-snap-align:start;align-items:center;min-height:100vh;padding:100px 0;display:flex}.services>.container{width:100%}.services-header{text-align:center;margin-bottom:60px}.services-header h2{color:var(--gray-900);letter-spacing:-.01em;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:700}.services-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.service-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);text-align:center;padding:32px 24px;transition:all .35s;position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(90deg, var(--blue-400), var(--blue-600));height:3px;transition:transform .35s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.service-card:hover{border-color:var(--blue-200);box-shadow:var(--shadow-lg);transform:translateY(-6px)}.service-card:hover:before{transform:scaleX(1)}.service-icon{border-radius:var(--radius-md);background:var(--blue-50);justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;transition:all .35s;display:flex}.service-card:hover .service-icon{background:var(--blue-500)}.service-icon svg{width:26px;height:26px;color:var(--blue-500);transition:color .35s}.service-card:hover .service-icon svg{color:var(--white)}.service-card h3{color:var(--gray-900);margin-bottom:10px;font-size:1rem;font-weight:600}.service-card p{color:var(--gray-500);font-size:.85rem;line-height:1.6}.about{background:var(--gray-50);scroll-snap-align:start;align-items:center;min-height:100vh;padding:100px 0;display:flex;position:relative;overflow:hidden}.about>.container{width:100%}.about-bg{z-index:0;position:absolute;inset:0}.about-bg img{object-fit:cover;object-position:center;opacity:.12;width:100%;height:100%}.about-grid{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid;position:relative}.about-visual{position:relative}.about-image{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden}.about-image img{width:100%;height:auto;display:block}.years-badge{background:linear-gradient(135deg, var(--blue-500), var(--blue-600));width:130px;height:130px;color:var(--white);box-shadow:var(--shadow-xl);border:5px solid var(--white);z-index:2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-20px;left:-20px}.years-badge .number{font-size:2.4rem;font-weight:800;line-height:1}.years-badge .label{text-transform:uppercase;letter-spacing:.05em;opacity:.9;text-align:center;margin-top:2px;font-size:.7rem;font-weight:600;line-height:1.3}.about-content h2{color:var(--gray-900);letter-spacing:-.01em;margin-bottom:20px;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:700}.about-content p{color:var(--gray-600);margin-bottom:16px;font-size:1rem;line-height:1.8}.about-stats{border-top:1px solid var(--gray-200);gap:32px;margin-top:32px;padding-top:32px;display:flex}.stat h4{color:var(--blue-500);font-size:1.5rem;font-weight:700}.stat span{color:var(--gray-500);font-size:.85rem}.cta-banner{background:linear-gradient(135deg, var(--gray-900) 0%, var(--gray-950) 100%);scroll-snap-align:start;align-items:center;min-height:100vh;padding:80px 0;display:flex;position:relative;overflow:hidden}.cta-banner>.container{width:100%}.cta-banner:before{content:"";background:radial-gradient(circle,#2bb0ee26 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-100px;right:-100px}.cta-banner:after{content:"";background:radial-gradient(circle,#2bb0ee1a 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;bottom:-80px;left:-80px}.cta-inner{z-index:1;text-align:center;max-width:650px;margin:0 auto;position:relative}.cta-banner h2{color:var(--white);margin-bottom:16px;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:700}.cta-banner p{color:var(--gray-400);margin-bottom:36px;font-size:1.05rem;line-height:1.7}.btn-blue{background:var(--blue-500);color:var(--white);border-radius:var(--radius-full);cursor:pointer;border:none;align-items:center;gap:8px;padding:16px 36px;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-blue:hover{background:var(--blue-400);transform:translateY(-2px);box-shadow:0 8px 30px #2bb0ee59}.contact{background:var(--white);scroll-snap-align:start;padding:100px 0}.contact-header{text-align:center;margin-bottom:50px}.contact-header h2{color:var(--gray-900);font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:700}.contact-header p{color:var(--gray-500);margin-top:10px;font-size:1.05rem}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:50px;display:grid}.contact-form{background:var(--gray-50);border-radius:var(--radius-xl);border:1px solid var(--gray-100);padding:40px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{margin-bottom:18px}.form-group label{color:var(--gray-700);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.form-group input,.form-group textarea{border:1px solid var(--gray-200);border-radius:var(--radius-md);width:100%;color:var(--gray-800);background:var(--white);outline:none;padding:13px 16px;font-size:.95rem;transition:all .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-400)}.form-group input:focus,.form-group textarea:focus{border-color:var(--blue-400);box-shadow:0 0 0 4px #2bb0ee1a}.form-group textarea{resize:vertical;min-height:120px}.form-submit{background:var(--blue-500);width:100%;color:var(--white);border-radius:var(--radius-full);cursor:pointer;border:none;padding:15px;font-size:1rem;font-weight:600;transition:all .3s}.form-submit:hover{background:var(--blue-600);transform:translateY(-2px);box-shadow:0 6px 24px #2bb0ee4d}.contact-info{padding:20px 0}.contact-info h3{color:var(--gray-900);margin-bottom:24px;font-size:1.3rem;font-weight:700}.info-items{flex-direction:column;gap:20px;display:flex}.info-item{align-items:flex-start;gap:16px;display:flex}.info-icon{border-radius:var(--radius-md);background:var(--blue-50);justify-content:center;align-items:center;width:46px;min-width:46px;height:46px;display:flex}.info-icon svg{width:20px;height:20px;color:var(--blue-500)}.info-text strong{color:var(--gray-800);margin-bottom:2px;font-size:.9rem;display:block}.info-text span{color:var(--gray-500);font-size:.9rem}.info-text a{color:var(--blue-500);transition:color .2s}.info-text a:hover{color:var(--blue-600)}.contact-map{border-radius:var(--radius-xl);border:1px solid var(--gray-200);height:220px;margin-top:32px;overflow:hidden}.contact-map iframe{border:none;width:100%;height:100%}.footer{background:var(--gray-50);border-top:1px solid var(--gray-200);scroll-snap-align:end;padding:40px 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-copy{color:var(--gray-500);font-size:.85rem}.footer-links{gap:24px;display:flex}.footer-links a{color:var(--gray-500);font-size:.85rem;transition:color .2s}.footer-links a:hover{color:var(--blue-500)}.mobile-nav{z-index:999;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:none;position:fixed;inset:0}.mobile-nav.open{display:flex}.mobile-nav a{color:var(--gray-800);border-radius:var(--radius-full);padding:12px 24px;font-size:1.3rem;font-weight:600;transition:all .2s}.mobile-nav a:hover{background:var(--blue-50);color:var(--blue-600)}.mobile-nav-close{cursor:pointer;color:var(--gray-700);background:0 0;border:none;font-size:2rem;line-height:1;position:absolute;top:20px;right:24px}@media (max-width:968px){.nav{display:none}.mobile-toggle{display:flex}.services-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr;gap:40px}.about-visual{order:-1}.contact-grid{grid-template-columns:1fr}}@media (max-width:640px){html{scroll-snap-type:none}.services-grid{grid-template-columns:1fr}.hero h1{font-size:2rem}.hero-btns{flex-direction:column}.hero-btns .btn-primary,.hero-btns .btn-outline{justify-content:center}.form-row{grid-template-columns:1fr}.about-stats{flex-direction:column;gap:16px}.years-badge{width:100px;height:100px;bottom:-10px;left:-10px}.years-badge .number{font-size:1.8rem}.contact-form{padding:24px}.footer-inner{text-align:center;flex-direction:column}}
