*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--main: #68549f;--secondary: #9a85bd;--text: #505050;--light: #f5f2fa;--white: #ffffff;--radius: 16px}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;color:var(--text);background:var(--white);overflow-x:hidden}#header{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 60px;background:#ffffffeb;backdrop-filter:blur(12px);border-bottom:1px solid rgba(154,133,189,.15)}nav{max-width:1100px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}.nav-logo img{height:44px;display:block}.nav-menu{display:flex;align-items:center;gap:32px}.nav-links{display:flex;gap:36px;list-style:none}.nav-links a{text-decoration:none;color:var(--text);font-size:1.2rem;font-weight:500;letter-spacing:.02em;transition:color .2s;padding:.3rem}.nav-links a:hover,.nav-links a.active{color:var(--main);border-bottom:3px solid var(--main)}.nav-cta{background:var(--main);color:var(--white);padding:10px 24px;border-radius:100px;text-decoration:none;font-size:1rem;font-weight:500;transition:background .2s,transform .15s}.nav-cta:hover{background:#574490;transform:translateY(-1px)}#thank-you-message{position:absolute;text-align:center;background-color:var(--main);color:var(--white);padding:20px;top:85px;left:0;right:0;z-index:200}#thank-you-message.hidden{display:none}.hero{min-height:100vh;display:flex;align-items:center;padding:120px 60px 80px;background:var(--light);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-120px;right:-120px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(104,84,159,.12) 0%,transparent 70%);pointer-events:none}.hero:after{content:"";position:absolute;bottom:-80px;left:20%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(154,133,189,.1) 0%,transparent 70%);pointer-events:none}.hero-inner{max-width:1100px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero-tag{display:inline-block;background:#68549f1a;color:var(--main);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:24px}.hero h1{font-family:Fraunces,serif;font-size:clamp(2.8rem,5vw,4.2rem);font-weight:700;line-height:1.12;color:#1a1a2e;margin-bottom:12px}.hero h1 span{color:var(--main)}.hero-slogan{font-family:Fraunces,serif;font-style:italic;font-weight:300;font-size:1.25rem;color:var(--secondary);margin-bottom:28px}.hero p{font-size:1rem;line-height:1.75;color:var(--text);max-width:420px;margin-bottom:40px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.btn-primary{background:var(--main);color:var(--white);padding:14px 32px;border-radius:100px;text-decoration:none;font-size:.95rem;font-weight:500;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 20px #68549f4d}.btn-primary:hover{background:#574490;transform:translateY(-2px);box-shadow:0 8px 28px #68549f66}.btn-ghost{border:1.5px solid rgba(104,84,159,.4);color:var(--main);padding:14px 32px;border-radius:100px;text-decoration:none;font-size:.95rem;font-weight:500;transition:border-color .2s,background .2s}.btn-ghost:hover{border-color:var(--main);background:#68549f0d}.hero-visual{display:flex;justify-content:center;align-items:center;position:relative}.hero-logo-wrap{width:320px;height:320px;background:var(--white);border-radius:40px;display:flex;align-items:center;justify-content:center;box-shadow:0 24px 80px #68549f2e,0 4px 16px #68549f14;animation:float 5s ease-in-out infinite}.hero-logo-wrap img{width:220px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}section{padding:100px 60px}.section-label{font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary);margin-bottom:12px}.section-title{font-family:Fraunces,serif;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;color:#1a1a2e;line-height:1.2;margin-bottom:16px}.section-sub{font-size:1rem;line-height:1.7;color:var(--text);max-width:540px}.section-header{margin-bottom:60px}#section-services{background:var(--white)}.services-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.service-card{background:var(--light);border-radius:var(--radius);padding:40px 36px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;border:1px solid rgba(154,133,189,.15)}.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px #68549f1f}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--main),var(--secondary));opacity:0;transition:opacity .25s}.service-card:hover:before{opacity:1}.service-icon{width:52px;height:52px;border-radius:14px;background:#68549f1a;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:20px}.service-card h3{font-family:Fraunces,serif;font-size:1.3rem;font-weight:700;color:#1a1a2e;margin-bottom:12px}.service-card p{font-size:.93rem;line-height:1.7;color:var(--text)}.section-inner{max-width:1100px;margin:0 auto}#why{background:var(--main)}#why .section-label{color:#fff9}#why .section-title{color:var(--white)}#why .section-sub{color:#ffffffbf}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:60px}.why-item{background:#ffffff14;border-radius:var(--radius);padding:36px 28px;border:1px solid rgba(255,255,255,.12);transition:background .2s}.why-item:hover{background:#ffffff24}.why-num{font-family:Fraunces,serif;font-size:2.8rem;font-weight:700;color:#fff3;margin-bottom:12px;line-height:1}.why-item h4{font-size:1.05rem;font-weight:500;color:var(--white);margin-bottom:10px}.why-item p{font-size:.88rem;line-height:1.65;color:#ffffffa6}#section-contact{background:var(--light)}.contact-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}.contact-info p{font-size:.95rem;line-height:1.75;margin-bottom:32px}.contact-detail{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}.contact-detail-icon{width:40px;height:40px;border-radius:10px;background:#68549f1a;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.contact-detail-text{font-size:.9rem;line-height:1.5;color:var(--text)}.contact-detail-text strong{display:block;font-weight:500;color:#1a1a2e;margin-bottom:2px}.contact-form{display:flex;flex-direction:column;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.82rem;font-weight:500;color:var(--text);letter-spacing:.02em}.form-group input,.form-group textarea{background:var(--white);border:1.5px solid rgba(154,133,189,.25);border-radius:10px;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:.93rem;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--main);box-shadow:0 0 0 3px #68549f1a}.form-group textarea{resize:vertical;min-height:130px}.form-submit{background:var(--main);color:var(--white);border:none;border-radius:100px;padding:14px 36px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;align-self:flex-start;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 20px #68549f4d}.form-submit:hover{background:#574490;transform:translateY(-2px);box-shadow:0 8px 28px #68549f66}.field-error{display:none;color:#b42318;font-size:.85rem}.form-group input:not(:placeholder-shown):invalid+.field-error,.form-group textarea:not(:placeholder-shown):invalid+.field-error{display:block}.form-group input:not(:placeholder-shown):invalid,.form-group textarea:not(:placeholder-shown):invalid{border-color:#b42318}footer{background:#1a1a2e;color:#fff9;padding:50px 60px}footer>div{max-width:1100px;margin:0 auto;width:100%;display:flex;justify-content:space-between;align-items:center}.footer-logo img{height:38px;filter:brightness(0) invert(1) opacity(.85);margin-bottom:8px}.footer-brand{font-size:.82rem;line-height:1.6}.footer-copy{font-size:.8rem}.fade-up{opacity:0;transform:translateY(30px);animation:fadeUp .7s ease forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.35s}.delay-4{animation-delay:.5s}@media(max-width:900px){#header{display:none}#thank-you-message{top:0}.hero-inner{grid-template-columns:1fr;text-align:center}.hero p{max-width:100%}.hero-actions{justify-content:center}.hero-visual{order:-1}.hero-logo-wrap{width:220px;height:220px}.hero-logo-wrap img{width:150px}.services-grid,.why-grid{grid-template-columns:1fr}.contact-wrap{grid-template-columns:1fr;gap:40px}section{padding:70px 24px}footer{flex-direction:column;gap:24px;text-align:center}}@media(max-width:600px){#header{padding:14px 16px}.nav-logo img{height:36px}.nav-toggle{width:46px;height:46px;border-radius:14px}.hero{min-height:auto;padding:104px 16px 56px}.hero-tag{margin-bottom:18px}.hero h1{font-size:clamp(2.3rem,13vw,3.1rem);margin-bottom:8px}.hero-slogan{font-size:1.05rem;margin-bottom:18px}.hero p{font-size:.96rem;line-height:1.65;margin-bottom:28px}.hero-actions{flex-direction:column;gap:12px}.btn-primary,.btn-ghost{width:100%;text-align:center;padding:13px 22px}.hero-logo-wrap{width:min(70vw,220px);height:min(70vw,220px);border-radius:28px}.hero-logo-wrap img{width:min(48vw,150px)}section{padding:56px 16px}.section-header{margin-bottom:36px}.section-title{font-size:clamp(1.75rem,9vw,2.2rem);margin-bottom:12px}.section-sub{font-size:.96rem;line-height:1.6}.service-card,.why-item{padding:28px 22px}.why-grid{margin-top:36px;gap:20px}.contact-wrap{gap:28px}.contact-info p{margin-bottom:24px}.form-row{grid-template-columns:1fr;gap:14px}.form-group input,.form-group textarea{padding:11px 14px}.form-submit{width:100%;align-self:stretch;text-align:center}footer{padding:36px 16px}footer>div{display:block}footer>div>div{width:100%;margin-bottom:2rem}}@media(max-width:420px){.nav-menu{padding:16px;border-radius:20px}.nav-links a{font-size:1rem}.service-card,.why-item{padding:24px 18px}.contact-detail{gap:10px}.contact-detail-icon{width:36px;height:36px}}
