:root{--color-primary: #4046a9;--color-accent: #8694ff;--color-mint: #7fffbe;--color-bg-dark: #0c0c1d;--color-bg-mid: #12122a;--color-white: #ffffff;--color-white-80: rgba(255, 255, 255, .8);--color-white-60: rgba(255, 255, 255, .6);--color-white-40: rgba(255, 255, 255, .4);--color-white-20: rgba(255, 255, 255, .2);--color-white-10: rgba(255, 255, 255, .1);--color-white-05: rgba(255, 255, 255, .05);--font-heading: "Shippori Antique B1", serif;--font-body: "Blinker", sans-serif;--radius-sm: 8px;--radius-md: 15px;--radius-lg: 20px;--radius-full: 9999px;--max-width: 1100px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;color:var(--color-white);background:linear-gradient(180deg,var(--color-bg-dark) 0%,var(--color-bg-mid) 50%,var(--color-bg-dark) 100%);background-attachment:fixed;min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 1rem}@media(min-width:640px){.container{padding:0 1.5rem}}@media(min-width:1024px){.container{padding:0 2rem}}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.main-content{flex-grow:1}.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:transform .3s ease-in-out}.site-nav.nav-hidden{transform:translateY(-100%)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem}@media(min-width:640px){.nav-inner{padding:1.5rem}}@media(min-width:1024px){.nav-inner{padding:2rem}}.logo-line2{margin-top:8px;font-size:.8rem}.nav-logo{font-family:var(--font-heading);font-weight:400;font-size:1rem;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;line-height:1.1;transition:opacity .2s}@media(min-width:640px){.nav-logo{font-size:1.2rem}}.nav-logo:hover{opacity:.8}.nav-pill{display:none;align-items:center;background:var(--color-mint);border-radius:var(--radius-full);padding:.5rem 1rem;gap:1rem}@media(min-width:768px){.nav-pill{display:flex;padding:.5rem 2rem;gap:2rem}}.nav-pill a{font-family:var(--font-body);font-size:.75rem;color:var(--color-bg-dark);letter-spacing:.03em;transition:color .2s;white-space:nowrap}@media(min-width:1024px){.nav-pill a{font-size:.875rem}}.nav-pill a:hover{color:var(--color-primary)}.nav-pill a.active{font-weight:600}.hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;position:relative;z-index:60}@media(min-width:768px){.hamburger{display:none}}.hamburger-line{width:1.5rem;height:2px;background:var(--color-accent);transition:all .3s ease-in-out}.hamburger-line+.hamburger-line{margin-top:6px}.hamburger.open .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.open .hamburger-line:nth-child(2){opacity:0}.hamburger.open .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;background:var(--color-bg-dark);z-index:55;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu-links{display:flex;flex-direction:column;align-items:center;gap:.5rem}.mobile-menu a{font-family:var(--font-body);font-size:1.5rem;color:var(--color-white);transition:color .2s;padding:.75rem 0}.mobile-menu a:hover,.mobile-menu a.active{color:var(--color-accent)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:5rem;text-align:center}.hero-quote{font-family:var(--font-heading);font-weight:400;font-size:clamp(1.5rem,4vw,3.5rem);line-height:1.3;color:var(--color-mint);max-width:900px;margin:0 auto}.hero-line{display:block;opacity:0;transform:translateY(30px);animation:hero-line-in .8s ease forwards}.hero-line:nth-child(1){animation-delay:.2s}.hero-line:nth-child(2){animation-delay:.5s}.hero-line:nth-child(3){animation-delay:.8s}@keyframes hero-line-in{to{opacity:1;transform:translateY(0)}}.page-title-section{padding-top:8rem;padding-bottom:2rem;margin-bottom:2rem}@media(min-width:640px){.page-title-section{padding-top:10rem;margin-bottom:3rem}}@media(min-width:1024px){.page-title-section{padding-top:12rem;margin-bottom:4rem}}.page-title{font-family:var(--font-heading);font-weight:400;font-size:clamp(2rem,5vw,3.5rem);color:var(--color-accent);text-transform:uppercase;line-height:1;opacity:0;transform:translateY(20px);animation:fade-up .6s ease .2s forwards}.page-subtitle{font-family:var(--font-body);font-size:.75rem;color:var(--color-white-60);text-transform:uppercase;letter-spacing:.3em;margin-top:.75rem;opacity:0;transform:translateY(20px);animation:fade-up .6s ease .4s forwards}@media(min-width:640px){.page-subtitle{font-size:.875rem;letter-spacing:.45em}}@keyframes fade-up{to{opacity:1;transform:translateY(0)}}.card{background:var(--color-white-05);border:1px solid var(--color-white-10);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:1.5rem}@media(min-width:640px){.card{padding:2rem}}@media(min-width:1024px){.card{padding:2.5rem}}.card-highlight{border-color:var(--color-primary);background:#4046a91a}.card h3{font-family:var(--font-body);font-size:1.125rem;font-weight:600;color:var(--color-accent);margin-bottom:.5rem}.card p{color:var(--color-white-80);line-height:1.6}.services-tabs-container{position:relative;padding:1.5rem 0;margin-bottom:4rem}@media(min-width:640px){.services-tabs-container{padding:2rem 0;margin-bottom:5rem}}.services-tabs-bg{position:absolute;inset:0;pointer-events:none;display:flex;justify-content:center;padding:0 .5rem}@media(min-width:640px){.services-tabs-bg{padding:0 1rem}}.services-bg-shape{width:100%;max-width:1200px;height:100%;background-color:var(--color-mint);border-radius:24px}@media(min-width:640px){.services-bg-shape{border-radius:32px}}@media(min-width:1024px){.services-bg-shape{border-radius:40px}}.services-inner{position:relative;z-index:10;max-width:var(--max-width);margin:0 auto;padding:0 1rem}@media(min-width:640px){.services-inner{padding:0 2rem}}@media(min-width:1024px){.services-inner{padding:0 3rem}}.services-header{margin-bottom:1.5rem}@media(min-width:640px){.services-header{margin-bottom:2rem}}.services-title{font-family:var(--font-heading);font-size:clamp(1.25rem,3vw,2rem);font-weight:400;line-height:.95;letter-spacing:.03em;text-transform:uppercase;color:var(--color-bg-dark)}.services-tabs{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem}@media(min-width:640px){.services-tabs{gap:.5rem;margin-bottom:1.5rem}}@media(min-width:1024px){.services-tabs{gap:.75rem}}.services-tab{font-family:var(--font-body);font-size:.65rem;font-weight:400;line-height:.9;letter-spacing:.02em;padding:.5rem .625rem;border-radius:5px;border:none;cursor:pointer;white-space:nowrap;transition:all .3s;background:var(--color-white);color:var(--color-bg-dark)}@media(min-width:640px){.services-tab{font-size:.85rem;padding:.625rem .75rem}}@media(min-width:1024px){.services-tab{font-size:1.125rem;padding:.625rem .875rem}}.services-tab:hover{opacity:.85}.services-tab.active{background:var(--color-bg-dark);color:var(--color-mint)}.services-content-area{min-height:180px}@media(min-width:640px){.services-content-area{min-height:200px}}.services-text-wrapper{transition:opacity .3s ease}.services-subtitle{font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--color-bg-dark);margin-bottom:.75rem;letter-spacing:.02em}@media(min-width:640px){.services-subtitle{font-size:1rem}}@media(min-width:1024px){.services-subtitle{font-size:1.125rem}}.services-description{font-family:var(--font-body);font-size:.8rem;font-weight:400;line-height:1.5;letter-spacing:.02em;color:var(--color-bg-dark);white-space:pre-line}@media(min-width:640px){.services-description{font-size:.9375rem}}@media(min-width:1024px){.services-description{font-size:1.125rem}}.services-tagline{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--color-bg-dark);margin-top:1rem;opacity:.8}@media(min-width:640px){.services-tagline{font-size:.9375rem}}@media(min-width:1024px){.services-tagline{font-size:1.0625rem}}.section{padding:4rem 0}@media(min-width:640px){.section{padding:5rem 0}}.section-title{font-family:var(--font-heading);font-size:clamp(1.25rem,3vw,2rem);font-weight:400;color:var(--color-accent);margin-bottom:1.5rem;line-height:1.2}.section-text{font-size:1.125rem;color:var(--color-white-80);line-height:1.6;margin-bottom:1.5rem}.grid-2{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}.grid-3{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.grid-3{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.grid-3{grid-template-columns:1fr 1fr 1fr}}.legal-heading{font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--color-accent);margin-top:1.5rem;margin-bottom:.375rem}.legal-list{color:var(--color-white-80);font-size:.9375rem;margin:.75rem 0 .75rem 1rem;display:flex;flex-direction:column;gap:.375rem}.legal-list li:before{content:"•";margin-right:.5rem;color:var(--color-white-40)}.legal-note{font-size:.875rem;color:var(--color-white-60);line-height:1.5}.legal-note a{color:var(--color-accent);transition:opacity .2s}.legal-note a:hover{opacity:.8}.legal-rights-grid{display:grid;grid-template-columns:1fr;gap:.5rem;color:var(--color-white-80);font-size:.9375rem}@media(min-width:640px){.legal-rights-grid{grid-template-columns:1fr 1fr}}.legal-rights-grid span:before{content:"•";margin-right:.5rem;color:var(--color-white-40)}.cookie-check-icon{width:4rem;height:4rem;background:#4046a933;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.cookie-check-icon svg{width:2rem;height:2rem;color:var(--color-accent)}.cookie-link-btn{display:inline-flex;align-items:center;gap:.5rem;background:#4046a91a;border:2px solid var(--color-primary);color:var(--color-accent);font-family:var(--font-body);font-weight:600;font-size:.9375rem;padding:.75rem 1.5rem;border-radius:var(--radius-full);transition:background .2s,color .2s}.cookie-link-btn:hover{background:var(--color-primary);color:var(--color-white)}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;color:var(--color-white-60);text-transform:uppercase;letter-spacing:.05em}.form-input,.form-textarea{background:var(--color-white-05);border:1px solid var(--color-white-20);border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--color-white);font-family:var(--font-body);font-size:1rem;transition:border-color .2s;outline:none}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-white-40)}.form-textarea{resize:vertical;min-height:120px}.btn-primary{display:inline-block;background:var(--color-mint);color:var(--color-bg-dark);font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:.875rem 2rem;border-radius:var(--radius-full);border:none;cursor:pointer;transition:opacity .2s,transform .2s}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.cta-section{text-align:center;padding:4rem 0}.cta-section .section-title{color:var(--color-mint)}.cta-section p{color:var(--color-white-80);font-size:1.125rem;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.site-footer{padding:2rem 0;margin-top:4rem}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem}@media(min-width:640px){.footer-inner{flex-direction:row;justify-content:space-between}}.footer-links{display:flex;align-items:center;gap:1.5rem}.footer-links a{font-size:.875rem;color:var(--color-white);transition:color .2s}.footer-links a:hover{color:var(--color-accent)}.footer-social a{color:var(--color-white);transition:color .2s}.footer-social a:hover{color:var(--color-accent)}.footer-copyright{text-align:center;margin-top:1.5rem;font-size:.75rem;color:var(--color-white-60)}@media(min-width:640px){.footer-copyright{margin-top:1rem}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.intro-section{padding:4rem 0 2rem}.intro-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.intro-grid{grid-template-columns:1fr 1fr 1fr}}.intro-card{background:var(--color-white-05);border:1px solid var(--color-white-10);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:2rem;text-align:center}.intro-card h3{font-family:var(--font-heading);font-size:1.125rem;color:var(--color-accent);margin-bottom:.75rem}.intro-card p{color:var(--color-white-80);font-size:.9375rem;line-height:1.6}.principle-item{margin-bottom:1.5rem}.principle-item h4{font-family:var(--font-body);font-size:1.125rem;font-weight:600;color:var(--color-accent);margin-bottom:.375rem}.principle-item p{color:var(--color-white-80);line-height:1.6}.highlight-box{font-size:1.25rem;font-weight:600;color:var(--color-accent);border:2px solid var(--color-primary);border-radius:var(--radius-md);padding:1rem 1.5rem;display:inline-block}.logo-strip{padding:0 0 2rem}.logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem}.logo-box{aspect-ratio:1;background:var(--color-white-05);border:1px solid var(--color-white-10);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;padding:1rem;transition:border-color .3s}.logo-box:hover{border-color:var(--color-primary)}.logo-box img{max-width:100%;max-height:100%;object-fit:contain;opacity:.7;transition:opacity .3s}.logo-box:hover img{opacity:1}.ref-card{background:var(--color-white-05);border:1px solid var(--color-white-10);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:2rem;transition:border-color .3s,transform .3s}.ref-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.ref-card-tag{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-mint);background:#7fffbe1a;padding:.25rem .75rem;border-radius:var(--radius-full);margin-bottom:1rem}.ref-card h3{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-accent);margin-bottom:.75rem}.ref-card p{color:var(--color-white-80);line-height:1.6;font-size:.9375rem}.ref-card-client{display:block;margin-top:1rem;font-size:.875rem;color:var(--color-accent);font-style:italic}.info-card{background:var(--color-white-05);border:1px solid var(--color-white-10);border-radius:var(--radius-md);padding:1.25rem 1.5rem;display:flex;align-items:flex-start;gap:1rem}.info-card-icon{width:2.5rem;height:2.5rem;background:#4046a933;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-card-icon svg{width:1.25rem;height:1.25rem;color:var(--color-accent)}.info-card-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-white-60);margin-bottom:.25rem}.info-card-value{font-size:1.25rem;font-weight:600;color:var(--color-accent)}.info-card-value a{transition:opacity .2s}.info-card-value a:hover{opacity:.8}.info-card-note{font-size:.875rem;color:var(--color-white-60);margin-top:.25rem}.address-block{text-align:center;margin-top:3rem}.address-card{display:inline-block;background:var(--color-white-05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:1.5rem 3rem 2rem}.address-card h3{font-family:var(--font-heading);font-size:1.125rem;color:var(--color-accent);margin-bottom:1rem}.address-card address{font-style:normal;color:var(--color-white-80);line-height:1.8}.address-card .phone{margin-top:.75rem;color:var(--color-white-60);font-size:.875rem}.helper-note{font-size:.875rem;color:var(--color-white-40);display:flex;align-items:center;gap:.5rem;margin-top:1.5rem}.helper-note svg{width:1rem;height:1rem;flex-shrink:0}
