*{margin:0;padding:0;box-sizing:border-box}
:root{--dark:#4f2270;--mid:#3a1854;--deep:#2a0f3f;--purple-light:#6b3d8a;--accent:#f5760a;--paper:#f7f4fb;--white:#fff;--rule-light:rgba(79,34,112,.12);--muted:#7a6588}
html{scroll-behavior:smooth}
body{font-family:"Barlow",Arial,sans-serif;font-weight:300;color:var(--deep);background:var(--white);overflow-x:hidden}
a{color:inherit;text-decoration:none}
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule-light);padding:.55rem 2.2rem .55rem 1.2rem;display:flex;align-items:center;gap:1.5rem}
.nav-logo{margin-right:auto;line-height:0}.nav-logo img{height:48px;width:auto;display:block}
.nav-panel{display:flex;align-items:center;gap:1.2rem}.nav-links{display:flex;gap:1.35rem;list-style:none;align-items:center}
.nav-links a{font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);transition:color .2s}.nav-links a:hover{color:var(--dark)}
.nav-cta{background:var(--dark);color:white;padding:.65rem 1.25rem;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:background .2s;text-align:center}.nav-cta:hover{background:var(--mid)}
.nav-toggle{display:none;width:44px;height:40px;border:1px solid var(--rule-light);background:white;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.nav-toggle span{width:20px;height:2px;background:var(--deep)}
.lang-switcher{display:flex;gap:.35rem}.lang-switcher a{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid transparent}.lang-switcher a:hover,.lang-switcher a.active{border-color:var(--dark);background:rgba(79,34,112,.08)}
.flag-icon{position:relative;display:block;width:22px;height:15px;overflow:hidden;border-radius:2px;box-shadow:0 0 0 1px rgba(42,15,63,.18)}
.flag-pt{background:#159447}.flag-pt:before{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;background:#ffd338;transform:translate(-50%,-50%) rotate(45deg)}.flag-pt:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;background:#1f4aa8;border-radius:50%;transform:translate(-50%,-50%)}
.flag-en{background:linear-gradient(to bottom,#b22234 0 7.69%,#fff 7.69% 15.38%,#b22234 15.38% 23.07%,#fff 23.07% 30.76%,#b22234 30.76% 38.45%,#fff 38.45% 46.14%,#b22234 46.14% 53.83%,#fff 53.83% 61.52%,#b22234 61.52% 69.21%,#fff 69.21% 76.9%,#b22234 76.9% 84.59%,#fff 84.59% 92.28%,#b22234 92.28% 100%)}.flag-en:before{content:"";position:absolute;left:0;top:0;width:10px;height:8px;background:#23407a}
.flag-ja{background:#fff}.flag-ja:before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;background:#bc002d;border-radius:50%;transform:translate(-50%,-50%)}.flag-de{background:linear-gradient(to bottom,#111 0 33.33%,#dd0000 33.33% 66.66%,#ffce00 66.66% 100%)}.flag-fr{background:linear-gradient(to right,#0055a4 0 33.33%,#fff 33.33% 66.66%,#ef4135 66.66% 100%)}.flag-es{background:linear-gradient(to bottom,#c60b1e 0 25%,#ffc400 25% 75%,#c60b1e 75% 100%)}
.hero{min-height:100vh;background:var(--dark);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:8rem 4rem 4rem;gap:4rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E")}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 52% 45%,rgba(245,118,10,.18),rgba(255,255,255,.05) 18%,rgba(255,255,255,0) 44%);pointer-events:none}.hero-routes{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.75}
.hero-left,.hero-right{position:relative;z-index:1}.hero-badge{display:inline-flex;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:.4rem 1rem;margin-bottom:1.5rem}.hero-badge span{font-family:"DM Mono",monospace;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.hero-title{font-family:"Barlow Condensed",Arial,sans-serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:600;color:white;line-height:1.05;margin-bottom:1.5rem;letter-spacing:0}.hero-title span{color:var(--accent)}.hero-sub{font-size:1rem;line-height:1.8;color:rgba(255,255,255,.72);margin-bottom:2.5rem;max-width:46ch}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-hero{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 2rem;font-size:.82rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:all .2s}.btn-solid{background:var(--accent);color:white}.btn-solid:hover{background:#e06a09}.btn-outline{color:white;border:1px solid rgba(255,255,255,.4)}.btn-outline:hover{background:rgba(255,255,255,.1)}
.hero-right{display:flex;flex-direction:column;gap:2rem;align-items:center;justify-content:center}.hero-logo-block{background:white;border:1px solid rgba(255,255,255,.25);padding:2rem;display:flex;flex-direction:column;gap:.5rem;align-items:center;width:100%;box-shadow:0 8px 32px rgba(0,0,0,.25)}.hero-logo-block img{max-width:100%;height:auto;max-height:80px}.hero-logo-label{font-family:"DM Mono",monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#000;margin-top:.5rem}
.strip{background:var(--mid);padding:1rem 4rem;display:flex;gap:3rem;overflow:hidden;align-items:center}.strip-item{font-family:"DM Mono",monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.65);white-space:nowrap}.strip-dot{color:var(--accent)}
section{padding:6rem 4rem}.sec-label{font-family:"DM Mono",monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dark);margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem}.sec-label:before{content:"";display:block;width:1.5rem;height:1px;background:var(--accent)}.sec-label.light{color:rgba(255,255,255,.55)}.sec-label.accent{color:var(--accent)}.sec-title{font-family:"Barlow Condensed",Arial,sans-serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.1;margin-bottom:1rem}.sec-sub{font-size:.95rem;line-height:1.8;color:var(--muted);max-width:none}
.problem-grid,.hus-grid,.gexi-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.problem-points,.hus-points,.gexi-sources{display:flex;flex-direction:column;gap:1.2rem;margin-top:2rem}.prob-item{display:flex;gap:1rem;padding:1.25rem;border:1px solid var(--rule-light);background:white}.prob-icon{width:2rem;height:2rem;background:rgba(79,34,112,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0}.prob-icon svg,.feat-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.prob-text h4,.step-content h4{font-size:.88rem;font-weight:500;margin-bottom:.25rem}.prob-text p,.step-content p{font-size:.78rem;line-height:1.7;color:var(--muted)}
.solution-visual{background:var(--paper);padding:2rem;border:1px solid var(--rule-light)}.sol-step{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule-light)}.sol-step:last-child{border-bottom:0}.step-num{font-family:"Barlow Condensed",Arial,sans-serif;font-size:1.8rem;font-weight:600;color:var(--dark);opacity:.25;line-height:1;min-width:2rem}
.hus-section,.ip-section,.lang-section{background:var(--dark);color:white}.hus-logo-display,.gexi-logo-display{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.hus-logo-display img{max-width:380px;width:100%}.gexi-logo-display img{max-width:340px;width:100%}.hus-scale{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1);padding:1.5rem}.hus-scale-title,.gexi-formula-title{font-family:"DM Mono",monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:1rem}.hus-tier{display:flex;gap:1rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.hus-tier:last-child{border-bottom:0}.hus-range{font-family:"DM Mono",monospace;font-size:.7rem;color:var(--accent);min-width:5rem}.hus-desc,.hus-content .sec-sub,.hus-point-text p{font-size:.78rem;color:rgba(255,255,255,.65);line-height:1.6}.hus-content .sec-title,.ip-section .sec-title,.lang-section .sec-title{color:white}.hus-point{display:flex;gap:1rem}.hus-point-num{font-family:"DM Mono",monospace;font-size:.6rem;color:var(--accent);min-width:4rem}.hus-point-text h4{font-size:.85rem;font-weight:500;color:white;margin-bottom:.2rem}
.gexi-section,.packs-section{background:var(--paper)}.gexi-formula-block{background:white;border:1px solid var(--rule-light);padding:1.5rem;text-align:center}.gexi-formula-title{color:var(--muted)}.gexi-formula-eq{font-family:"DM Mono",monospace;font-size:1rem;color:var(--deep);line-height:1.8}.gexi-note{font-size:.72rem;color:var(--muted);margin-top:.75rem}.gexi-src{display:flex;gap:.75rem;font-size:.78rem}.gexi-src-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0;margin-top:.35rem}.gexi-src span{color:var(--muted);line-height:1.5}.gexi-src strong{color:var(--deep);font-weight:500}
.stats-bar{background:var(--deep);padding:4rem;display:grid;grid-template-columns:repeat(4,1fr);border-top:3px solid var(--accent)}.stat-block{padding:1rem 2rem;border-right:1px solid rgba(255,255,255,.08)}.stat-block:last-child{border-right:0}.stat-n{font-family:"Barlow Condensed",Arial,sans-serif;font-size:3rem;font-weight:700;color:var(--accent);line-height:1}.stat-l{font-size:.75rem;color:rgba(255,255,255,.48);line-height:1.6}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}.feat-card{padding:2rem;border:1px solid var(--rule-light);transition:all .2s}.feat-card:hover{border-color:var(--dark);background:rgba(79,34,112,.04)}.feat-icon{width:2.5rem;height:2.5rem;background:var(--dark);color:white;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.feat-name{font-family:"Barlow Condensed",Arial,sans-serif;font-size:1.15rem;font-weight:600;margin-bottom:.5rem}.feat-desc{font-size:.8rem;line-height:1.75;color:var(--muted)}
.ip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}.ip-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:1.5rem}.ip-num{font-family:"Barlow Condensed",Arial,sans-serif;font-size:2.5rem;font-weight:700;color:var(--accent);opacity:.45;line-height:1}.ip-name{font-size:.88rem;font-weight:500;color:white;margin:.5rem 0 .4rem}.ip-desc{font-size:.78rem;color:rgba(255,255,255,.58);line-height:1.6}
.lang-section{padding:5rem 4rem}.lang-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.12);margin-top:3rem}.lang-card{background:rgba(0,0,0,.15);padding:2rem 1.3rem;text-align:center;transition:background .2s}.lang-card:hover{background:rgba(0,0,0,.28)}.lang-card .flag-icon{width:34px;height:23px;margin:0 auto 1rem}.lang-name{font-family:"Barlow Condensed",Arial,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.lang-desc{font-size:.8rem;color:rgba(255,255,255,.68);line-height:1.7}
.contact-section{display:grid;grid-template-columns:1fr 1fr}.contact-left{background:var(--deep);padding:6rem 4rem;color:white}.contact-right{background:var(--paper);padding:6rem 4rem}.contact-title{font-family:"Barlow Condensed",Arial,sans-serif;font-size:2.5rem;font-weight:600;line-height:1.1;margin-bottom:1rem}.contact-sub{font-size:.88rem;line-height:1.8;color:rgba(255,255,255,.58);margin-bottom:2rem}.contact-info{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;gap:.75rem;font-size:.82rem;color:rgba(255,255,255,.68)}.info-label{font-family:"DM Mono",monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);min-width:4rem}.form-title{font-family:"Barlow Condensed",Arial,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.form-grid{display:flex;flex-direction:column;gap:.75rem}.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;opacity:0;pointer-events:none}input,select,textarea{width:100%;padding:.8rem 1rem;border:1px solid rgba(79,34,112,.2);background:white;font-family:"Barlow",Arial,sans-serif;font-size:.82rem;color:var(--deep);outline:0}input:focus,select:focus,textarea:focus{border-color:var(--dark)}input::placeholder,textarea::placeholder{color:var(--muted)}
.form-progress{display:none;margin:.2rem 0 .35rem}.form-progress.visible{display:block}.form-progress-track{height:4px;background:rgba(79,34,112,.13);overflow:hidden}.form-progress-track span{display:block;width:0;height:100%;background:var(--dark);transition:width .25s}.form-progress.loading .form-progress-track span{width:65%;animation:progressPulse 1.1s ease-in-out infinite}.form-progress.success .form-progress-track span{width:100%;background:#1a7a40;animation:none}.form-progress.error .form-progress-track span{width:100%;background:#c0392b;animation:none}.form-progress-message{font-size:.78rem;color:var(--muted);line-height:1.5;margin-top:.45rem}.form-progress.success .form-progress-message{color:#1a7a40}.form-progress.error .form-progress-message{color:#c0392b}.form-submit{padding:.9rem 2.5rem;background:var(--dark);color:white;border:0;font-family:"Barlow",Arial,sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.form-submit:hover{background:var(--mid)}.form-submit:disabled{opacity:.72;cursor:wait}
footer{background:var(--deep);padding:2rem 4rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid rgba(255,255,255,.05)}.footer-brand,.footer-copy{font-family:"DM Mono",monospace;font-size:.65rem;letter-spacing:.1em;color:rgba(255,255,255,.3)}.footer-copy{white-space:nowrap;color:rgba(255,255,255,.25)}.back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:90;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--dark);color:white;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 28px rgba(42,15,63,.24);transition:background .2s,transform .2s}.back-to-top:before{content:">";display:block;font-family:"DM Mono",monospace;font-size:1.45rem;line-height:1;transform:rotate(-90deg);margin-top:-1px}.back-to-top:hover{background:var(--mid);transform:translateY(-2px)}
.fade-in{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.fade-in.visible{opacity:1;transform:translateY(0)}
@keyframes progressPulse{0%{transform:translateX(-70%);width:45%}50%{width:70%}100%{transform:translateX(160%);width:45%}}
@media (max-width:1180px){.site-nav{padding:.55rem 1.25rem}.nav-panel{gap:.8rem}.nav-links{gap:.9rem}.hero{padding-left:2rem;padding-right:2rem}section,.lang-section{padding-left:2rem;padding-right:2rem}.lang-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.nav-toggle{display:flex}.nav-panel{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:white;border-bottom:1px solid var(--rule-light);padding:1rem 1.25rem 1.25rem;box-shadow:0 18px 40px rgba(42,15,63,.12)}.site-nav.open .nav-panel{display:flex}.nav-links{flex-direction:column;align-items:flex-start}.lang-switcher{flex-wrap:wrap}.nav-cta{width:100%}.hero,.problem-grid,.hus-grid,.gexi-grid,.contact-section{grid-template-columns:1fr}.hero{min-height:auto;padding-top:7rem}.features-grid,.stats-bar,.ip-grid{grid-template-columns:repeat(2,1fr)}.contact-left,.contact-right{padding:4rem 2rem}}
@media (max-width:640px){.hero{padding:6.5rem 1.2rem 3rem}.hero-title{font-size:clamp(2.4rem,14vw,3.3rem)}.btn-hero{width:100%}.strip{padding:1rem 1.2rem;gap:1.5rem}section,.lang-section{padding:4rem 1.2rem}.features-grid,.stats-bar,.ip-grid,.lang-grid,.form-row2{grid-template-columns:1fr}.stat-block{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:1rem 0}.stats-bar{padding:2.5rem 1.2rem}.contact-left,.contact-right{padding:4rem 1.2rem}footer{padding:2rem 1.2rem;flex-direction:column;align-items:flex-start}.footer-copy{white-space:normal}}
