*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-dark);background:var(--white);font-family:Poppins,Noto Sans JP,sans-serif;line-height:1.6}h1,h2,h3{font-family:Playfair Display,Noto Sans JP,serif;font-weight:600;line-height:1.2}.container{max-width:1400px;margin:0 auto;padding:0 24px}
.btn{border-radius:var(--radius-xl);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-orange{background:var(--accent);color:var(--white)}.btn-orange:hover{background:var(--accent-hover);box-shadow:0 6px 20px rgba(var(--accent-rgb),.35);transform:translateY(-2px)}.btn-white{background:var(--white);color:var(--text-dark)}.btn-white:hover{background:var(--off-white);transform:translateY(-2px)}.btn-outline{color:var(--text-dark);border:2px solid var(--border-default);background:0 0}.btn-outline:hover{border-color:var(--text-dark)}.btn-green{background:var(--green-dark);color:var(--white)}.btn-green:hover{background:var(--green-darker)}.btn-sm{padding:10px 20px;font-size:13px}.badge-new{background:var(--white);border:1px solid var(--border-default);color:var(--text-dark);border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.badge-new:hover{border-color:var(--accent);color:var(--accent)}.badge-new:before{content:"NEW!";background:var(--accent);color:var(--white);border-radius:10px;padding:2px 8px;font-size:10px}@media (max-width:768px){.btn{padding:12px 22px;font-size:13px}.btn-sm{padding:8px 16px;font-size:12px}}
.lang-switch{display:inline-flex;position:relative}.lang-switch-trigger{color:var(--green-dark);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-smooth);background:#7c90821a;border:1px solid #7c908226;border-radius:10px;align-items:center;gap:6px;padding:7px 12px;font-family:Poppins,sans-serif;font-size:13px;font-weight:500;display:inline-flex}.lang-switch-trigger:hover{background:#7c908229;border-color:#7c908240}.lang-switch.open .lang-switch-trigger{background:#7c90822e;border-color:#7c90824d}.lang-switch-globe{opacity:.9;flex-shrink:0}.lang-switch-current{text-align:center;min-width:20px}.lang-switch-chevron{opacity:.7;transition:transform var(--transition-smooth);flex-shrink:0}.lang-switch.open .lang-switch-chevron{transform:rotate(180deg)}.lang-switch-dropdown{-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);opacity:0;visibility:hidden;min-width:160px;max-height:360px;transition:all var(--transition-smooth);z-index:var(--z-lang-dropdown);background:#ffffffd1;padding:6px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;transform:translateY(-8px)scale(.97);box-shadow:0 8px 32px #0000001f}.lang-switch.open .lang-switch-dropdown{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.lang-switch-option{width:100%;color:var(--text-dark);cursor:pointer;transition:all var(--transition-smooth);text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;display:flex}.lang-switch-option:hover{background:#7c90820f}.lang-switch-option.selected{color:var(--green-dark);background:#2d8b6f14}.lang-switch-option-check{opacity:0;color:var(--green-dark);transition:opacity var(--transition-smooth)}.lang-switch-option.selected .lang-switch-option-check{opacity:1}.header{top:var(--banner-offset,0px);width:100%;z-index:var(--z-header);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:background var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth);padding:14px 0;position:fixed;left:0}.header.header--scrolled{background:var(--glass-bg-scrolled);box-shadow:var(--glass-shadow-scrolled);border-bottom-color:#00000014}.header.header--minimal{background:var(--white);border-bottom:1px solid var(--border-lighter);-webkit-backdrop-filter:none;box-shadow:none;padding:8px 0;top:0}.header.header--minimal .logo-img{height:34px}.header-minimal-left{align-items:center;gap:12px;display:flex}.header-minimal-back{border:1px solid var(--border-default);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--gray-dark);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.header-minimal-back:hover{border-color:var(--text-dark);color:var(--text-dark);background:var(--off-white)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.header{background:#fffffff5}.header.header--scrolled{background:var(--white)}}.header-content{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;gap:10px;text-decoration:none;display:flex}.logo-img{width:auto;height:42px}.nav{align-items:center;gap:32px;display:flex}.nav a{color:var(--text-dark);letter-spacing:.01em;transition:color var(--transition-smooth);padding-bottom:4px;font-size:14px;font-weight:500;text-decoration:none;position:relative}.nav a:after{content:"";background:var(--accent);width:0;height:2px;transition:width var(--transition-smooth);border-radius:1px;position:absolute;bottom:0;left:0}.nav a:hover{color:var(--accent)}.nav a:hover:after,.nav a.nav-active:after{width:100%}.header-right,.header-cta{align-items:center;gap:10px;display:flex}.header-cta .btn-outline{color:var(--green-dark);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-smooth);background:#7c90820f;border:1.5px solid #7c908259}.header-cta .btn-outline:hover{color:var(--green-darker);background:#7c90821f;border-color:#7c908280;transform:translateY(-1px);box-shadow:0 4px 12px #7c908226}.header-cta .btn-orange{transition:all var(--transition-smooth)}.header-cta .btn-orange:hover{box-shadow:0 6px 24px rgba(var(--accent-rgb),.3),0 0 0 1px rgba(var(--accent-rgb),.1)}.header-login-btn{color:var(--green-dark);transition:all var(--transition-smooth);background:#7c90821a;border:1px solid #7c908226;border-radius:10px;align-items:center;gap:6px;padding:7px 14px;font-family:Poppins,sans-serif;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.header-login-btn:hover{color:var(--accent);background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.25)}.header-login-label{white-space:nowrap}.header-login-btn--active{color:#fff;background:var(--green-dark);border-color:var(--green-dark)}.header-login-btn--active:hover{color:#fff;background:var(--green-darker);border-color:var(--green-darker)}@media (max-width:768px){.logo-img{height:34px}}
.mobile-menu-toggle{cursor:pointer;width:44px;height:44px;z-index:var(--z-hamburger);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px;display:none}.hamburger-line{background:var(--text-dark);width:24px;height:2px;transition:all var(--transition-smooth);border-radius:2px;display:block}.mobile-menu-toggle.open .hamburger-line:first-child{transform:rotate(45deg)translate(5px,5px)}.mobile-menu-toggle.open .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.open .hamburger-line:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-menu{width:100%;max-width:340px;height:100vh;-webkit-backdrop-filter:blur(var(--glass-blur-heavy));backdrop-filter:blur(var(--glass-blur-heavy));border-left:1px solid var(--glass-border);z-index:var(--z-banner);background:#ffffffd9;transition:right .4s cubic-bezier(.4,0,.2,1);position:fixed;top:0;right:-100%;overflow:hidden auto;box-shadow:-8px 0 40px #0000001a}.mobile-menu.open{right:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.mobile-menu{background:#fffffff7}}.mobile-menu-close{cursor:pointer;width:40px;height:40px;color:var(--text-dark);transition:all var(--transition-smooth);z-index:1;background:#0000000a;border:1px solid #0000000f;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.mobile-menu-close:hover{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.2);color:var(--accent);transform:rotate(90deg)}.mobile-menu-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:var(--z-header);opacity:0;visibility:hidden;background:#0000004d;transition:all .4s cubic-bezier(.4,0,.2,1);position:fixed;inset:0}.mobile-menu-overlay.open{opacity:1;visibility:visible}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.mobile-menu-overlay{background:#0000008c}}.mobile-menu-content{box-sizing:border-box;flex-direction:column;gap:28px;width:100%;padding:88px 28px 36px;display:flex}.mobile-nav{flex-direction:column;gap:0;display:flex}.mobile-nav a{color:var(--text-dark);opacity:0;transition:color var(--transition-smooth),transform var(--transition-smooth),opacity var(--transition-smooth);border-bottom:1px solid #0000000f;padding:16px 0;font-size:17px;font-weight:500;text-decoration:none;transition-delay:0s;display:block;transform:translate(20px)}.mobile-menu.open .mobile-nav a{opacity:1;transform:translate(0)}.mobile-menu.open .mobile-nav a:first-child{transition-delay:50ms}.mobile-menu.open .mobile-nav a:nth-child(2){transition-delay:.1s}.mobile-menu.open .mobile-nav a:nth-child(3){transition-delay:.15s}.mobile-menu.open .mobile-nav a:nth-child(4){transition-delay:.2s}.mobile-menu.open .mobile-nav a:nth-child(5){transition-delay:.25s}.mobile-nav a:hover{color:var(--accent);transform:translate(4px)}.mobile-menu-cta{opacity:0;width:100%;transition:all var(--transition-smooth);flex-direction:column;gap:12px;transition-delay:0s;display:flex;transform:translateY(10px)}.mobile-menu.open .mobile-menu-cta{opacity:1;transition-delay:.3s;transform:translateY(0)}.mobile-menu-cta .btn{white-space:normal;text-align:center;box-sizing:border-box;justify-content:center;width:100%;max-width:100%;padding:12px 16px;font-size:13px}.mobile-menu-cta .btn-outline{color:var(--green-dark);background:#7c90820f;border-color:#7c908259}.mobile-menu-dashboard{opacity:0;transition:all var(--transition-smooth);border-top:1px solid #0000000f;padding-top:16px;transition-delay:0s;transform:translateY(10px)}.mobile-menu.open .mobile-menu-dashboard{opacity:1;transition-delay:.3s;transform:translateY(0)}.mobile-menu-dashboard-link{color:var(--gray-dark);transition:color var(--transition-smooth);align-items:center;gap:12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.mobile-menu-dashboard-link:hover{color:var(--accent)}.mobile-menu-dashboard-link--active{color:var(--green-dark);font-weight:600}.mobile-menu-dashboard-link--active:hover{color:var(--green-darker)}.mobile-menu-contact{opacity:0;transition:all var(--transition-smooth);border-top:1px solid #0000000f;flex-direction:column;gap:16px;padding-top:16px;transition-delay:0s;display:flex;transform:translateY(10px)}.mobile-menu.open .mobile-menu-contact{opacity:1;transition-delay:.35s;transform:translateY(0)}.mobile-menu-contact a{color:var(--gray-dark);transition:color var(--transition-smooth);align-items:center;gap:12px;font-size:14px;text-decoration:none;display:flex}.mobile-menu-contact a:hover{color:var(--accent)}
.footer{background:var(--green-darker);color:var(--white);padding:60px 0 30px}.footer-top{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:40px;display:flex}.footer-logo{align-items:center;gap:12px;display:flex}.footer-logo img{width:auto;height:40px}.footer-nav{gap:40px;display:flex}.footer-nav a{color:#ffffffb3;font-size:14px;text-decoration:none;transition:color .2s}.footer-nav a:hover{color:var(--white)}.footer-bottom{justify-content:space-between;align-items:center;display:flex}.footer-bottom-left{align-items:center;gap:20px;display:flex}.footer-bottom p{color:#ffffff80;font-size:13px}.footer-staff-link{color:#fff6;font-size:13px;text-decoration:none;transition:color .2s}.footer-staff-link:hover{color:var(--white)}.footer-social{gap:12px;display:flex}.footer-social a{width:40px;height:40px;color:var(--white);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:background .2s;display:flex}.footer-social a:hover{background:var(--accent)}.footer-middle{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:24px;display:flex}.footer-contact-info{align-items:center;gap:24px;display:flex}.footer-contact-link{color:#ffffffb3;align-items:center;gap:6px;font-size:13px;text-decoration:none;transition:color .2s;display:flex}.footer-contact-link:hover{color:var(--white)}.footer-contact-link svg{stroke:#fff9;flex-shrink:0}.footer-contact-link:hover svg{stroke:var(--white)}.footer-middle-right{align-items:center;gap:16px;display:flex}.footer-badge{color:#ffffffe6;background:#ffffff1a;border-color:#fff3}.footer-badge:hover{border-color:var(--accent);color:var(--accent);background:#ffffff26}.footer-lang-switch .lang-switch-dropdown{top:auto;bottom:calc(100% + 8px);transform:translateY(8px)scale(.97)}.footer-lang-switch.open .lang-switch-dropdown{transform:translateY(0)scale(1)}.footer-lang-switch .lang-switch-chevron{transform:rotate(180deg)}.footer-lang-switch.open .lang-switch-chevron{transform:rotate(0)}.footer-lang-switch .lang-switch-trigger{color:#ffffffe6;background:#ffffff1a;border-color:#ffffff26}.footer-lang-switch .lang-switch-trigger:hover{background:#ffffff29;border-color:#ffffff40}.footer-lang-switch.open .lang-switch-trigger{background:#ffffff2e;border-color:#ffffff4d}.footer-lang-switch .lang-switch-dropdown{background:#5b6e61e6;border-color:#ffffff26}.footer-lang-switch .lang-switch-option{color:#ffffffd9}.footer-lang-switch .lang-switch-option:hover{background:#ffffff1a}.footer-lang-switch .lang-switch-option.selected{color:var(--white);background:#ffffff1f}.footer-lang-switch .lang-switch-option-check{color:#ffffffe6}@media (max-width:768px){.footer{padding:40px 0 24px}.footer-logo img{height:32px}.footer-nav{gap:24px}}@media (max-width:480px){.footer{padding:32px 0 20px}}
.floating-buttons{z-index:var(--z-floating);flex-direction:column;gap:12px;transition:bottom .2s ease-out;display:flex;position:fixed;bottom:24px;right:24px}.floating-btn{width:56px;height:56px;box-shadow:var(--shadow-md);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:relative}.floating-btn:hover{transform:scale(1.1)}.floating-btn.whatsapp{color:var(--white);background:#25d366}.floating-btn.line{color:var(--white);background:#00b900}.floating-btn.chat-ai{background:var(--ai-gradient);color:var(--white);box-shadow:0 4px 20px rgba(var(--ai-primary-rgb),.35);transition:transform var(--transition-spring),box-shadow .3s ease,opacity .2s ease;border:2px solid #ffffffe6}@media (prefers-reduced-motion:no-preference){.floating-btn.chat-ai:not(.chat-ai-hidden){animation:3s ease-in-out infinite aiPulse}}.floating-btn.chat-ai:hover{box-shadow:0 6px 28px rgba(var(--ai-primary-rgb),.45);animation:none}.floating-btn.chat-ai-hidden{opacity:0;pointer-events:none;animation:none;transform:scale(.6)}@keyframes aiPulse{0%,to{box-shadow:0 4px 20px rgba(var(--ai-primary-rgb),.35),0 0 0 0 rgba(var(--ai-primary-rgb),.25)}50%{box-shadow:0 4px 20px rgba(var(--ai-primary-rgb),.35),0 0 0 10px rgba(var(--ai-primary-rgb),0)}}.floating-btn.scroll-top{background:var(--accent);color:var(--white);opacity:0;visibility:hidden}.floating-btn.scroll-top.visible{opacity:1;visibility:visible}.floating-btn-tooltip{background:var(--text-dark);color:var(--white);white-space:nowrap;opacity:0;visibility:hidden;border-radius:6px;margin-right:12px;padding:8px 12px;font-size:12px;font-weight:500;transition:all .2s;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.floating-btn:hover .floating-btn-tooltip{opacity:1;visibility:visible}@media (max-width:768px){.floating-btn-tooltip{display:none}}
@media (min-width:1025px){.mobile-menu,.mobile-menu-overlay{display:none!important}}@media (max-width:1024px){.nav,.header-cta{display:none}.mobile-menu-toggle{display:flex}.header-right{gap:8px}.header-login-label{display:none}.header-login-btn{border-radius:50%;padding:7px}}@media (max-width:768px){.mobile-menu{max-width:100%}.footer-top{flex-direction:column;gap:24px}.footer-nav{flex-wrap:wrap;justify-content:center;gap:20px}.footer-middle{text-align:center;flex-direction:column;align-items:center;gap:16px}.footer-contact-info{flex-wrap:wrap;justify-content:center;gap:16px}.footer-middle-right{flex-wrap:wrap;justify-content:center;gap:12px}.footer-bottom{text-align:center;flex-direction:column;gap:20px}.floating-buttons{bottom:16px;right:16px}.floating-btn{width:50px;height:50px}}@media (max-width:480px){.container{padding:0 16px}}@media (prefers-reduced-motion:reduce){.mobile-nav a,.mobile-menu-cta,.mobile-menu-contact{opacity:1!important;transition-duration:10ms!important;transition-delay:0s!important;transform:none!important}.header,.nav a:after{transition-duration:10ms!important}.mobile-menu-close:hover{transform:none!important}}
@keyframes ml-spin{to{transform:rotate(360deg)}}@keyframes ml-cityscape-build{0%,to{opacity:.3;transform:scaleY(.15)}40%,60%{opacity:1;transform:scaleY(1)}}@keyframes ml-key-rotate{0%{transform:translate(0)}40%,60%{transform:translate(8px)}to{transform:translate(0)}}@keyframes ml-lock-lift{0%,to{transform:translateY(0)}40%,60%{transform:translateY(-2.5px)}}@keyframes ml-windows-pulse{0%,to{opacity:1}50%{opacity:.25}}
.nav-progress{background:var(--accent,#e8734a);z-index:99999;pointer-events:none;width:0;height:3px;transition:none;position:fixed;top:0;left:0}.nav-progress.loading{width:80%;transition:width 3s cubic-bezier(.1,.4,.2,1)}.nav-progress.done{width:100%;transition:width .2s ease-out}.nav-progress.fade{opacity:0;transition:opacity .3s ease-out}
.standalone-header{background:#fff;border-bottom:1px solid #eae9e5;justify-content:center;align-items:center;padding:16px 24px;display:flex}.standalone-logo{color:#1a1a18;font-family:var(--font-playfair,serif);align-items:center;gap:10px;font-size:16px;font-weight:500;text-decoration:none;display:flex}.standalone-logo img{border-radius:6px}.standalone-main{background:#faf9f6;min-height:calc(100vh - 130px);padding:32px 0 0}.standalone-footer{text-align:center;color:#9e9e94;background:#faf9f6;padding:20px 24px;font-size:11px}

