:root{--primary-color: #F2F2F2;--header-accent: #8fadbf;--tertiary-color: #30495d;--font-color: #1a2930;--accent-color: #9ebbcd;--text-dark: #1a2930;--text-light: #30495d;--bg-light: #F2F2F2;--bg-white: #ffffff;--border-color: #9ebbcd;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 0 15px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 0 30px rgba(0, 0, 0, .15);--transition: all .3s ease;--transition-slow: all .6s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.6;color:var(--text-dark);background-color:var(--bg-white)}h1,h2,h3,h4,h5,h6{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:var(--transition);display:inline-block}a:hover:not(.btn){transform:scale(1.05)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.contact-bar{background-color:#fff;padding:12px 0;box-shadow:0 0 8px #0000001a}.contact-bar .container{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.contact-bar .contact-info a{display:flex;align-items:center;gap:8px;color:var(--text-dark);font-weight:500;font-size:.95rem}.contact-bar .contact-info i{font-size:18px}.contact-bar .social-links{display:flex;gap:15px;align-items:center}.contact-bar .social-links a{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%;color:var(--text-dark);transition:var(--transition);box-shadow:0 0 4px #0000001a}.contact-bar .social-links a:hover{background-color:var(--header-accent);color:var(--tertiary-color);transform:scale(1.1);box-shadow:0 0 8px #00000026}.contact-info{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.contact-info a{display:flex;align-items:center;gap:8px;color:var(--text-dark);font-size:.95rem}.contact-info a:hover{transform:scale(1.05)}.contact-info .material-icons{font-size:18px}.social-links{display:flex;gap:15px}.social-links a{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:#ffffff1a;border-radius:50%;transition:var(--transition);color:var(--text-dark);box-shadow:0 0 8px #0000004d}.social-links a svg,.social-links a text{display:block}.social-links a:nth-child(2) svg{margin-left:-5px}.social-links a:hover{background-color:var(--accent-color);transform:translateY(-2px) scale(1.1);box-shadow:0 0 12px #0006}header.header-main{background-color:var(--tertiary-color);padding:15px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1002;box-shadow:0 0 12px #00000026;width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.header-main .container{display:flex;justify-content:space-between;align-items:center}.logo{padding:8px 0;display:inline-block;transition:var(--transition)}.logo:hover{transform:scale(1.05)}.logo img{height:60px;width:auto;display:block;transition:var(--transition)}nav ul{display:flex;list-style:none;gap:30px}nav a{color:#fff;font-weight:600;font-size:1rem;padding:5px 0;position:relative;display:inline-block;transition:transform .3s ease}nav a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--header-accent);transition:width .3s ease}nav a:hover{transform:scale(1.05)}nav a:hover:after,nav a.active:after{width:100%}.mobile-menu-toggle{display:none;background:none;border:none;font-size:28px;cursor:pointer;color:#fff;z-index:1003;position:relative;padding:10px;touch-action:manipulation}.hero{position:relative;height:600px;background-size:auto 100vh;background-position:center center;background-repeat:no-repeat;background-attachment:fixed;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;overflow:hidden}@media(max-width:968px){.hero{background-attachment:scroll!important;background-size:cover!important}}.hero:before{content:"";position:absolute;inset:0;background:#0000004d;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%,to{opacity:1}50%{opacity:.9}}.hero-content{position:relative;z-index:1;max-width:800px;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-subtitle{font-size:1.125rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;margin-bottom:15px;text-shadow:0 0 8px rgba(0,0,0,.5)!important;animation:fadeInUp 1s ease-out .1s both}.hero-divider{width:80px;height:2px;border:none;background-color:#fff;margin:0 auto 25px;box-shadow:0 0 4px #00000080!important;animation:fadeInUp 1s ease-out .15s both}.hero h1{font-size:3rem;font-weight:700;margin-bottom:20px;line-height:1.2;text-shadow:0 0 8px rgba(0,0,0,.5)!important;animation:fadeInUp 1s ease-out .2s both}.hero p{font-size:1.25rem;margin-bottom:30px;opacity:.95;text-shadow:0 0 8px rgba(0,0,0,.5)!important;animation:fadeInUp 1s ease-out .4s both}.btn{display:inline-block;padding:14px 32px;font-size:1rem;font-weight:600;border-radius:6px;transition:var(--transition);cursor:pointer;border:none;position:relative;overflow:hidden;animation:fadeInUp 1s ease-out .6s both;box-shadow:0 0 8px #00000080;z-index:1}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s;z-index:-1}.btn:hover:before{width:300px;height:300px}.btn-primary{background-color:var(--tertiary-color);color:#fff;z-index:2}.btn-primary:hover{background-color:#1e2f3d;transform:translateY(-2px)!important;box-shadow:var(--shadow-xl)}.btn-secondary{background-color:var(--tertiary-color);color:#fff}.btn-secondary:hover{background-color:#1e2f3d;transform:translateY(-2px);box-shadow:var(--shadow-xl)}.hero-slider{position:relative;height:600px;overflow:hidden}.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease-in-out}.hero-slide.active{opacity:1}section{padding:80px 0;box-shadow:0 0 8px #0000000d}.hero+section{box-shadow:0 0 12px #00000026}.section-header{text-align:center;max-width:800px;margin:0 auto 60px}.section-header h2{font-size:2.5rem;font-weight:700;color:var(--text-dark);margin-bottom:15px;text-align:center}.section-header p{font-size:1.125rem;color:var(--text-light)}.section-bg{background-color:var(--bg-light)}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;max-width:1000px;margin:0 auto}.service-card{background-color:var(--bg-white);padding:40px 30px;border-radius:12px;box-shadow:var(--shadow-md);transition:var(--transition-slow);text-align:center;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:4px;background:linear-gradient(90deg,var(--header-accent),var(--accent-color));transition:left .5s ease}.service-card:hover:before{left:0}.service-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:var(--shadow-xl)}.service-card h3{font-size:1.5rem;font-weight:700;color:var(--tertiary-color);margin-bottom:15px}.service-card p{color:var(--text-light);margin-bottom:25px;line-height:1.7}.about-content{display:grid;grid-template-columns:auto 1fr;gap:60px;align-items:center}.about-image{width:400px;height:400px}.about-image img{border-radius:12px;box-shadow:0 0 20px #0000001a;width:100%;height:100%;object-fit:cover}.about-text h2{font-size:1.5rem;font-weight:400;color:var(--text-dark);margin-bottom:20px}.about-text h3{font-size:2.25rem;color:var(--text-dark);margin-bottom:25px;font-weight:700}.about-text p{color:var(--text-light);margin-bottom:20px;line-height:1.8}.cta-section{background-image:url(/assets/hero-estate-planning-B7bSTAXx.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;color:#fff;text-align:center;padding:40px 0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:500px}.cta-section:before{content:"";position:absolute;inset:0;background:#0000004d;z-index:0}.cta-section .container{position:relative;z-index:1;width:100%}.cta-section .section-header{margin-bottom:0}.cta-section h2{font-size:2.5rem;font-weight:700;margin-bottom:20px;color:#fff;text-shadow:0 0 8px rgba(0,0,0,.5);text-align:center;white-space:normal}.cta-section p{font-size:1.25rem;margin-bottom:35px;opacity:.95;color:#fff;text-shadow:0 0 8px rgba(0,0,0,.5)}.practice-areas{max-width:900px;margin:0 auto}.practice-area{margin-bottom:25px}.practice-area h4{font-size:1.25rem;font-weight:700;color:var(--tertiary-color);margin-bottom:10px}.practice-area h4 a{color:var(--tertiary-color);transition:var(--transition);display:inline-block}.practice-area h4 a:hover{color:var(--header-accent);transform:scale(1.05)}.practice-area p{color:var(--text-light);line-height:1.8}.contact-section{background-image:url(/assets/contact-bg-wrD_q9KR.jpg);background-size:auto 100vh;background-position:center center;background-repeat:no-repeat;background-attachment:fixed;position:relative;overflow:hidden}@media(max-width:968px){.contact-section{background-attachment:scroll!important;background-size:cover!important}}.contact-section:before{content:"";position:absolute;inset:0;background:#0000004d;z-index:0}.contact-section .container{position:relative;z-index:1}.contact-form{max-width:600px;margin:0 auto;background-color:#fff;padding:50px;border-radius:12px;box-shadow:0 0 20px #0000001a}.contact-form h2{font-size:2rem;font-weight:700;color:var(--text-dark);margin-bottom:15px;text-align:center}.contact-form .form-description{text-align:center;color:var(--text-light);margin-bottom:30px;font-size:1rem}.form-group{margin-bottom:25px}.form-group label{display:block;font-weight:600;color:var(--text-dark);margin-bottom:8px}.form-group input,.form-group textarea{width:100%;padding:14px 16px;border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:1rem;transition:var(--transition);background-color:var(--bg-white)}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--header-accent);box-shadow:0 0 0 4px #8fadbf26}.form-group textarea{resize:vertical;min-height:140px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:25px}.form-row .form-group{margin-bottom:0}.error-message{color:#dc2626;font-size:.9rem;margin-top:5px;display:none}.error-message.active{display:block}.form-group input.error{border-color:#dc2626}.btn-submit{width:100%;margin-top:10px;font-size:1.1rem;padding:16px 32px;position:relative}.btn-submit:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none!important}.btn-submit.sending{background-color:#6b7280}.form-feedback{text-align:center;margin-top:15px;font-size:1rem;font-weight:600;min-height:24px}.form-feedback.success{color:#059669}.form-feedback.error{color:#dc2626}#tsi-form310991545885241{width:100%}#tsi-form310991545885241 .gfield{margin-bottom:25px!important}#tsi-form310991545885241 label{display:none}#tsi-form310991545885241 input[type=text],#tsi-form310991545885241 input[type=email],#tsi-form310991545885241 input[type=tel],#tsi-form310991545885241 textarea{width:100%;padding:14px 16px;border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:1rem;transition:var(--transition);background-color:var(--bg-white)}#tsi-form310991545885241 input:focus,#tsi-form310991545885241 textarea:focus{outline:none;border-color:var(--header-accent);box-shadow:0 0 0 4px #8fadbf1a}#tsi-form310991545885241 textarea{resize:vertical;min-height:120px}#tsi-form310991545885241 .gform_button,#tsi-form310991545885241 button[type=submit],#tsi-form310991545885241 input[type=submit]{background-color:var(--tertiary-color);color:#fff;padding:14px 40px;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--transition);width:100%;margin-top:10px}#tsi-form310991545885241 .gform_button:hover,#tsi-form310991545885241 button[type=submit]:hover,#tsi-form310991545885241 input[type=submit]:hover{background-color:#1e2f3d;transform:translateY(-2px);box-shadow:var(--shadow-xl)}#tsi-form310991545885241 .ginput_complex{display:flex;flex-direction:column;gap:0;margin-bottom:0!important}#tsi-form310991545885241 .ginput_complex span{display:flex;flex-direction:column;width:100%;margin-bottom:0!important}#tsi-form310991545885241 .ginput_complex span:not(:last-child){margin-bottom:25px!important}#tsi-form310991545885241 .ginput_complex span label{display:none}#tsi-form310991545885241 .ginput_complex input{width:100%;padding:14px 16px;border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:1rem;transition:var(--transition);background-color:var(--bg-white)}#tsi-form310991545885241 .ginput_complex input:focus{outline:none;border-color:var(--header-accent);box-shadow:0 0 0 4px #8fadbf1a}#tsi-form310991545885241 .validation_message{color:#dc2626;font-size:.9rem;margin-top:5px}#tsi-form310991545885241 .gfield_error input,#tsi-form310991545885241 .gfield_error textarea{border-color:#dc2626}.contact-form .g-recaptcha,#tsi-form310991545885241 .g-recaptcha{margin:25px 0;display:flex;justify-content:center}.grecaptcha-badge{margin:20px 0}footer{background-color:var(--tertiary-color);color:#fff;padding:60px 0 30px;box-shadow:0 0 12px #00000026}.footer-content{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:50px;align-items:start}.footer-section{display:flex;flex-direction:column;align-items:flex-start}.footer-section-center{text-align:center;align-items:center}.footer-section h3{font-size:1.125rem;font-weight:700;margin-bottom:20px;text-transform:uppercase;letter-spacing:.5px}.footer-section p{color:#ffffffd9;line-height:1.8;margin-bottom:10px}.footer-section a{color:#ffffffd9;transition:var(--transition);display:inline-block}.footer-section a:hover{color:var(--header-accent);transform:scale(1.05)}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:30px;display:flex;flex-direction:column;align-items:center;gap:15px;color:#ffffffb3;font-size:.9rem}.footer-bottom p{margin:0;text-align:center}.footer-logo img{height:18px;transition:var(--transition)}.footer-logo:hover img{opacity:1;transform:scale(1.05)}@media(max-width:968px){header.header-main{position:fixed;inset:0 0 auto;z-index:9999;background-color:var(--tertiary-color);width:100vw;margin:0;padding:15px 0}.header-main .container{background-color:var(--tertiary-color)}.logo:hover{transform:none}nav{display:none}nav.active{display:block;position:absolute;top:100%;left:0;right:0;background-color:#fff;box-shadow:var(--shadow-lg);z-index:1000}nav.active ul{flex-direction:column;padding:20px;gap:0}nav.active li{border-bottom:1px solid var(--border-color)}nav.active a{display:block;padding:15px 10px;color:var(--text-dark)}nav.active a:after{background-color:var(--tertiary-color)}.mobile-menu-toggle{display:block;z-index:1002;position:relative;-webkit-tap-highlight-color:rgba(255,255,255,.2)}main{margin-top:90px}.hero h1{font-size:2.25rem}.about-content{grid-template-columns:1fr;gap:40px;justify-items:center}.about-image{width:100%;max-width:400px}.services-grid,.form-row{grid-template-columns:1fr}.contact-form{padding:30px 20px}.footer-content{grid-template-columns:1fr;gap:40px}.footer-section{align-items:center;text-align:center}}@media(min-width:641px)and (max-width:968px){main{margin-top:100px}}@media(max-width:640px){.hero{height:500px}.hero h1{font-size:1.875rem}.hero p{font-size:1.125rem}section{padding:50px 0}.section-header h2{font-size:2rem;white-space:normal;text-align:center}.cta-section h2{font-size:1.875rem;white-space:normal;text-align:center}.logo{padding:6px 0}.logo img{height:50px}}.two-column-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.content-column h2{font-size:2rem;font-weight:700;color:var(--text-dark);margin-bottom:15px}.content-column h3{font-size:1.5rem;color:var(--header-accent);margin-bottom:20px;font-weight:600}.content-column p{color:var(--text-light);margin-bottom:20px;line-height:1.8}.content-column ul,.content-column ol{margin-left:20px;margin-bottom:20px}.content-column li{color:var(--text-light);margin-bottom:15px;line-height:1.8}.content-column li strong{color:var(--text-dark);font-weight:600}.map-section{width:100%;height:600px;overflow:hidden;padding:0;margin:0}.map-section iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(40%) contrast(90%) brightness(95%)}.contact-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-top:50px}.contact-detail-card{background-color:var(--bg-white);padding:40px 30px;border-radius:12px;box-shadow:var(--shadow-md);transition:var(--transition-slow);text-align:center;position:relative;overflow:hidden}.contact-detail-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:4px;background:linear-gradient(90deg,var(--header-accent),var(--accent-color));transition:left .5s ease}.contact-detail-card:hover:before{left:0}.contact-detail-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:var(--shadow-xl)}.contact-detail-card h3{font-size:1.5rem;font-weight:700;color:var(--tertiary-color);margin-bottom:15px}.contact-detail-card p{color:var(--text-light);line-height:1.8;margin-bottom:10px}.contact-detail-card a{color:var(--header-accent);font-weight:600;transition:var(--transition);display:inline-block}.contact-detail-card a:hover{color:var(--tertiary-color);transform:scale(1.05)}@media(max-width:968px){.two-column-content{grid-template-columns:1fr;gap:40px}.contact-details{grid-template-columns:1fr}}.text-center{text-align:center}.mt-4{margin-top:30px}.mb-4{margin-bottom:30px}.scroll-animate{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out}.scroll-fade-up{opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s ease-out}.scroll-fade-up.visible{opacity:1;transform:translateY(0)}.scroll-fade-left{opacity:0;transform:translate(-40px);transition:opacity .8s ease-out,transform .8s ease-out}.scroll-fade-left.visible{opacity:1;transform:translate(0)}.scroll-fade-right{opacity:0;transform:translate(40px);transition:opacity .8s ease-out,transform .8s ease-out}.scroll-fade-right.visible{opacity:1;transform:translate(0)}.scroll-fade{opacity:0;transition:opacity .8s ease-out}.scroll-fade.visible{opacity:1}.scroll-scale{opacity:0;transform:scale(.9);transition:opacity .8s ease-out,transform .8s ease-out}.scroll-scale.visible{opacity:1;transform:scale(1)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}.stagger-6{transition-delay:.6s}.page-transition-container{position:relative;width:100%;overflow-x:clip;overflow-y:visible}.page-wrapper{width:100%}.page-static{position:relative;transform:none!important;animation:none!important}.page-enter-active-forward{position:relative;animation:fadeIn .4s cubic-bezier(.4,0,.2,1) forwards}.page-exit-active-forward{position:absolute;top:0;left:0;width:100%;max-height:100vh;overflow:hidden;animation:fadeOut .4s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}.page-enter-active-backward{position:relative;animation:fadeIn .4s cubic-bezier(.4,0,.2,1) forwards}.page-exit-active-backward{position:absolute;top:0;left:0;width:100%;max-height:100vh;overflow:hidden;animation:fadeOut .4s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}
