/*
Theme Name: H Vikas Theme
Author: Mukund Choudhary
Description: A custom theme for H Vikas Pipe & Steel Pvt Ltd.
Version: 1.0.3
*/
*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Poppins',sans-serif;overflow-x:hidden}.site-header{position:fixed;width:100%;padding:15px 0;z-index:1000;background-color:transparent;box-shadow:none;transition:background-color .3s ease-in-out,box-shadow .3s ease-in-out}.site-header .container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.site-branding img{height:100px;width:auto;transition:opacity .3s ease-in-out}.site-branding .scrolled-logo{display:none}.site-branding .transparent-logo{display:block}.site-header.is-scrolled .site-branding .transparent-logo{display:none}.site-header.is-scrolled .site-branding .scrolled-logo{display:block}.site-header:not(.is-scrolled) .main-navigation ul li a{color:#fff}.site-header:not(.is-scrolled) .hamburger-icon,.site-header:not(.is-scrolled) .hamburger-icon::after,.site-header:not(.is-scrolled) .hamburger-icon::before{background-color:#fff}.site-header.is-scrolled{background-color:#fff;box-shadow:0 2px 5px rgba(0,0,0,.1)}.site-header.is-scrolled .main-navigation ul li a{color:#333}.site-header.is-scrolled .hamburger-icon,.site-header.is-scrolled .hamburger-icon::after,.site-header.is-scrolled .hamburger-icon::before{background-color:#333}.main-navigation ul{margin:0;padding:0;list-style:none;display:flex;gap:20px}.main-navigation ul li a{text-decoration:none;font-weight:600;padding:10px;transition:color .3s ease}.main-navigation ul li a:hover,.main-navigation ul li.current-menu-item a{color:#0056b3}.hero-section{height:100vh;width:100%;position:relative;overflow:hidden}.hero-section::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.3);z-index:1}.video-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.video-background video{width:100%;height:100%;object-fit:cover}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;cursor:pointer}.scroll-indicator span{display:block;width:24px;height:24px;border-bottom:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0) rotate(45deg)}40%{transform:translateY(-10px) rotate(45deg)}60%{transform:translateY(-5px) rotate(45deg)}}.services-section{padding:80px 20px;background-color:#f9f9f9;overflow:hidden}.services-carousel{width:100%;padding:40px 0;overflow:visible!important}.swiper-slide{transition:transform .5s ease}.service-card{background-color:#fff;padding:40px 30px;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.08);text-align:center;height:100%;display:flex;flex-direction:column;align-items:center}.card-icon{font-size:3rem;color:#0056b3;margin-bottom:20px}.service-card h3{font-size:1.5rem;color:#333;margin-bottom:15px}.service-card p{font-size:1rem;color:#666;line-height:1.6}.section-header{text-align:center;margin-bottom:20px;padding:0 20px}.section-header h2{font-size:2.5rem;margin-bottom:10px;color:#333}.section-header p{font-size:1.1rem;color:#666;max-width:600px;margin:0 auto}.process-section{padding:80px 20px;background-color:#fff;position:relative}.timeline{position:relative;max-width:1200px;margin:50px auto}.timeline::after{content:'';position:absolute;width:3px;background-color:#e0e0e0;top:0;bottom:0;left:50%;margin-left:-1.5px;z-index:0}.timeline-item{padding:10px 40px;position:relative;width:50%}.timeline-icon{position:absolute;width:50px;height:50px;right:-25px;top:32px;background-color:#0056b3;color:#fff;border-radius:50%;z-index:1;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.timeline-item:nth-child(odd){left:0;text-align:right}.timeline-item:nth-child(even){left:50%}.timeline-item:nth-child(odd) .timeline-icon{right:-25px}.timeline-item:nth-child(even) .timeline-icon{left:-25px}.timeline-content{padding:20px 30px;background-color:#f9f9f9;position:relative;border-radius:8px;border:1px solid #eee;z-index:1}.timeline-content h3{margin-top:0;color:#0056b3}.timeline-content p{color:#555;font-size:.95rem;line-height:1.6}.stats-container{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1000px;margin:80px auto 0;text-align:center}.stat-item{background-color:#f9f9f9;padding:30px 20px;border-radius:8px;border-bottom:3px solid #0056b3}.stat-item h3{font-size:3rem;font-weight:700;color:#333;margin:0 0 10px}.stat-item h3[data-target="25"]::after,.stat-item h3[data-target="1000"]::after,.stat-item h3[data-target="500"]::after{content:'+'}.stat-item p{font-size:1rem;color:#666;margin:0}.proof-section{padding:80px 0;background-color:#f9f9f9}.proof-title{text-align:center;font-size:2.5rem;color:#333;margin-bottom:60px}.logo-wall-container{margin-bottom:100px}.logo-scroller{max-width:1200px;margin:auto;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,silver 20%,silver 80%,transparent);mask-image:linear-gradient(to right,transparent,silver 20%,silver 80%,transparent)}.logo-track{display:flex;width:max-content;animation:scroll 40s linear infinite}.logo-track img{height:80px;margin:0 50px;transition:transform .3s ease,opacity .3s ease}.logo-scroller:hover .logo-track{animation-play-state:paused}.logo-scroller:hover .logo-track img{opacity:.5}.logo-scroller:hover .logo-track img:hover{transform:scale(1.2);opacity:1}@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}.testimonial-sticky-parent{height:250vh}.testimonial-stack{position:sticky;top:15vh;height:70vh;display:flex;justify-content:center;align-items:center;overflow:hidden}.testimonial-card{position:absolute;width:100%;max-width:850px;padding:50px;background:#fff;border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,.1);text-align:center;transition:transform .5s ease,opacity .5s ease}.testimonial-card p{font-size:1.7rem;font-style:italic;color:#555;margin-bottom:25px;line-height:1.5}.testimonial-card h4{font-size:1.2rem;color:#0056b3;margin:0}.testimonial-card span{color:#777}.contact-section{padding:80px 20px;background-color:#fff}.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:1200px;margin:0 auto}.contact-form{background:#f9f9f9;padding:40px;border-radius:10px}.form-group{position:relative;margin-bottom:25px}.form-group input,.form-group textarea{width:100%;padding:15px;border:1px solid #ddd;border-radius:5px;background:#fff;font-size:1rem;outline:none;transition:border-color .3s}.form-group label{position:absolute;top:50%;left:15px;transform:translateY(-50%);color:#999;pointer-events:none;transition:all .3s ease;background:#fff;padding:0 5px}.form-group input:focus,.form-group input:not(:placeholder-shown),.form-group textarea:focus,.form-group textarea:not(:placeholder-shown){border-color:#0056b3}.form-group input:focus+label,.form-group input:not(:placeholder-shown)+label,.form-group textarea:focus+label,.form-group textarea:not(:placeholder-shown)+label{top:0;transform:translateY(-50%) scale(.85);color:#0056b3}.submit-btn{width:100%;padding:15px;background-color:#0056b3;color:#fff;border:none;border-radius:5px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background-color .3s,transform .3s}.submit-btn:hover{background-color:#004494;transform:translateY(-3px)}.contact-info h3{font-size:1.8rem;margin-top:0;color:#333}.contact-info p{color:#666;margin-bottom:30px}.info-item{display:flex;align-items:center;margin-bottom:20px;color:#555}.info-item i{font-size:1.5rem;color:#0056b3;width:40px}.info-item a,.info-item span{text-decoration:none;color:#555;line-height:1.6}.map-container{margin-top:30px;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,.1)}.map-container iframe{width:100%;height:250px;border:0;filter:grayscale(100%);transition:filter .4s ease-in-out}.map-container:hover iframe{filter:grayscale(0)}.site-footer{background-color:#222;color:#aaa;padding:40px 20px;text-align:center}.site-footer p{margin:0}.page-content-area{padding-top:120px;padding-bottom:80px;padding-left:20px;padding-right:20px;background:#fff;color:#333}.page-content-area .container{max-width:900px;margin:0 auto}.page-title{font-size:3rem;margin-bottom:30px;text-align:center}.entry-content p{font-size:1.1rem;line-height:1.8;margin-bottom:20px}.entry-content h2,.entry-content h3{margin-top:40px;margin-bottom:20px}.menu-toggle{display:none;background:transparent;border:none;width:40px;height:40px;cursor:pointer;z-index:1001}.hamburger-icon,.hamburger-icon::after,.hamburger-icon::before{content:'';display:block;background-color:#333;height:3px;width:25px;border-radius:3px;position:relative;transition:all .3s ease-in-out}.hamburger-icon::before{transform:translateY(-8px)}.hamburger-icon::after{transform:translateY(8px)}.menu-toggle.is-active .hamburger-icon{background-color:transparent}.menu-toggle.is-active .hamburger-icon::before{transform:rotate(45deg)}.menu-toggle.is-active .hamburger-icon::after{transform:rotate(-45deg)}@media (max-width:992px){.stats-container{grid-template-columns:repeat(2,1fr)}.contact-wrapper{grid-template-columns:1fr}}@media (max-width:768px){.hero-section{height:60vh}.main-navigation{position:fixed;top:0;right:0;width:80%;height:100vh;background-color:#111;padding-top:80px;transform:translateX(100%);transition:transform .3s ease-in-out;z-index:1000}.main-navigation.is-active{transform:translateX(0)}.main-navigation ul{flex-direction:column;align-items:center;width:100%}.main-navigation ul li a{color:#fff;font-size:1.2rem;padding:15px 0;display:block;width:100%;text-align:center}.menu-toggle{display:block}.timeline::after{left:25px}.timeline-item{width:100%;padding-left:70px;padding-right:15px}.timeline-item:nth-child(even),.timeline-item:nth-child(odd){left:0;text-align:left}.timeline-icon{left:0}}@media (max-width:480px){.stats-container{grid-template-columns:1fr}}.page-hero{position:relative;height:50vh;min-height:350px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding-top:120px}.page-hero .hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(6,12,23,.7);z-index:1}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:3rem;font-weight:700;margin-bottom:.5rem;color:#fff}.page-hero p{font-size:1.25rem;color:rgba(255,255,255,.9);max-width:700px;margin-left:auto;margin-right:auto}.page-intro-section{padding:80px 0;background-color:#f8f9fa}.page-intro-section p{text-align:center;font-size:1.1rem;line-height:1.8;max-width:800px;margin:0 auto}.product-showcase-section{padding:80px 0}.product-tab-nav{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;padding:0;margin:0 0 50px 0;border-bottom:1px solid #dee2e6}.product-tab-nav li a{padding:12px 20px;margin:0 5px 10px 5px;font-weight:600;color:#333;text-decoration:none;border:2px solid transparent;border-radius:8px;transition:all .3s ease;display:block}.product-tab-nav li a:hover{background-color:#f1f1f1;color:#000}.product-tab-nav li a.is-active{background-color:#e9ecef;color:#111;border-color:transparent;border-radius:8px}.tab-content{display:none;animation:fadeIn .6s}.tab-content.is-active{display:block}.tab-content-inner{display:flex;align-items:center;gap:40px;padding:30px;border:1px solid #eaeaea;border-radius:12px}.tab-image{flex:0 0 40%}.tab-image img{width:100%;height:auto;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.1)}.tab-text{flex:1}.tab-text h3{font-size:2rem;margin-top:0;margin-bottom:1rem}.tab-text ul{list-style:none;padding-left:0}.tab-text ul li{padding-left:25px;position:relative;margin-bottom:10px}.tab-text ul li::before{content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;color:var(--primary-color);position:absolute;left:0;top:3px}.process-section-services{padding:80px 0;background-color:#f8f9fa}.process-timeline-services{display:flex;justify-content:space-between;align-items:flex-start;position:relative}.process-step{text-align:center;width:120px}.step-icon{width:80px;height:80px;margin:0 auto 15px auto;background-color:#fff;border:2px solid var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--primary-color);transition:all .3s ease}.process-step:hover .step-icon{background-color:var(--primary-color);color:#fff;transform:scale(1.1)}.step-number{font-size:1.2rem;font-weight:700;color:#333;margin-bottom:5px}.step-title{font-weight:600;line-height:1.3}.step-connector{flex-grow:1;height:2px;background-color:#ddd;margin:40px 0}.proof-section.dark-bg{background-color:#111;padding:60px 0}.proof-section.dark-bg .proof-title{color:#fff}.proof-section.dark-bg .logo-track img{filter:grayscale(1) brightness(1.5) contrast(1.2);transition:filter .3s ease}.proof-section.dark-bg .logo-track img:hover{filter:none}@media (max-width:991px){.page-hero{min-height:300px}.page-hero h1{font-size:2.5rem}.page-hero p{font-size:1.1rem}.tab-content-inner{flex-direction:column;padding:20px}.process-timeline-services{flex-direction:column;align-items:center}.step-connector{width:2px;height:50px;margin:20px 0}}@media (max-width:767px){body.page-template-page-services .container{padding-left:20px;padding-right:20px}.product-tab-nav{flex-direction:column;align-items:center;border-bottom:none}.product-tab-nav li{width:100%;max-width:300px}.product-tab-nav li a{text-align:center}.tab-content-inner{padding:0;border:none}.tab-image img{box-shadow:none}.tab-text h3{font-size:1.75rem}.page-hero h1{font-size:2.2rem}.page-hero p{font-size:1rem}}.narrative-section{padding:100px 0;background:#fff}.narrative-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.narrative-image img{width:100%;height:auto;border-radius:12px}.section-header-left{text-align:left;margin-bottom:20px}.section-header-left h2{font-size:2.5rem;margin-bottom:10px}.section-header-left p{font-size:1.1rem;color:#6c757d}.narrative-text p{line-height:1.8;color:#333;margin-bottom:1rem}.impact-section{padding:100px 0;background-color:#f8f9fa}.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}.impact-item{text-align:center;background:#fff;padding:40px 20px;border-radius:12px;border:1px solid #e9ecef}.impact-icon{font-size:2.5rem;color:var(--primary-color);margin-bottom:15px}.impact-item h3{font-size:3.5rem;font-weight:700;color:#111;margin-bottom:5px}.impact-item p{font-size:1rem;font-weight:600;color:#6c757d;margin:0}.values-section{padding:100px 0}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.value-card{text-align:center}.value-icon{font-size:3rem;color:var(--primary-color);margin-bottom:20px}.value-card h3{font-size:1.5rem;margin-bottom:10px}.value-card p{line-height:1.7;color:#6c757d}@media (max-width:991px){.narrative-grid{grid-template-columns:1fr}.impact-grid{grid-template-columns:1fr 1fr}.values-grid{grid-template-columns:1fr}}@media (max-width:767px){.impact-grid{grid-template-columns:1fr}.impact-item h3{font-size:3rem}}.page-content-wrapper section:not(.page-hero) .container{max-width:1100px;margin-left:auto;margin-right:auto;padding-left:25px;padding-right:25px}@import url('https://fonts.googleapis.com/css2?family=Architects+Daughter&display=swap');body.page-template-page-contact .site-header{background-color:#111}.contact-page-wrapper{position:relative;padding:150px 0 100px 0;background-size:cover;background-position:center;background-attachment:fixed;overflow:hidden;min-height:100vh}.contact-page-wrapper::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.4);z-index:1}.contact-desk.container{position:relative;z-index:10;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:flex-start;max-width:1200px;margin-left:auto;margin-right:auto}.desk-prop{position:absolute;z-index:5;pointer-events:none}.desk-prop.pencil{top:90%;left:10%;width:350px;transform:rotate(15deg);opacity:.6;filter:blur(1px)}.desk-prop.compass{top:15%;right:5%;width:150px;transform:rotate(-25deg);opacity:.3;filter:blur(1px)}.blueprint-form-container{background-color:#004a9e;background-image:url(assets/images/Blueprint%20Texture.jpg);background-blend-mode:multiply;padding:30px;border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.3)}.blueprint-title{font-size:1.8rem;font-weight:700;color:#fff;margin-top:0;margin-bottom:25px;padding-bottom:15px;border-bottom:2px dashed rgba(255,255,255,.5)}.contact-page-wrapper .blueprint-form .form-group input[type=email],.contact-page-wrapper .blueprint-form .form-group input[type=text],.contact-page-wrapper .blueprint-form .form-group textarea{display:block!important;width:100%;background-color:rgba(0,0,0,.25)!important;border:1px solid rgba(255,255,255,.5)!important;color:#fff!important;padding:15px;border-radius:4px}.contact-page-wrapper .blueprint-form .form-group{margin-bottom:20px}.contact-page-wrapper .blueprint-form .form-group label{color:#fff;left:15px}.contact-page-wrapper .blueprint-form .form-group input:focus,.contact-page-wrapper .blueprint-form .form-group textarea:focus{background-color:rgba(0,0,0,.4)!important}.contact-page-wrapper .blueprint-form .form-group input:focus+label,.contact-page-wrapper .blueprint-form .form-group input:not(:placeholder-shown)+label,.contact-page-wrapper .blueprint-form .form-group textarea:focus+label,.contact-page-wrapper .blueprint-form .form-group textarea:not(:placeholder-shown)+label{top:-10px;font-size:.75rem;background:#004a9e;padding:0 5px;color:#fff}.blueprint-btn{width:100%;padding:15px;font-size:1.1rem;background-color:#fff;color:#004a9e;border:none}.blueprint-btn:hover{background-color:#f0f0f0;color:#003b80}.desk-items-container{display:flex;flex-direction:column;gap:30px}.desk-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:25px;backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.2);color:#fff}.memo-pad{background-size:cover;background-position:center;padding:0;border:none}.memo-content{font-family:'Architects Daughter',cursive;color:#222;padding:30px;background:rgba(255,255,255,.9);border-radius:8px}.memo-content h4{font-size:1.5rem;color:#000;margin-top:0;border-bottom:1px solid #ddd;padding-bottom:10px}.memo-content ul{list-style:none;padding:0;margin:0}.memo-content ul li{margin-bottom:10px}.memo-content ul li a{text-decoration:none;color:#111;font-size:1.2rem;font-weight:600;transition:color .3s ease}.memo-content ul li a:hover{color:#004a9e}.map-trigger{cursor:pointer;transition:all .3s ease}.map-trigger:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.4);background:rgba(255,255,255,.1)}.map-trigger h5{font-size:1.3rem;margin-top:0;margin-bottom:10px;color:#fff}.map-trigger p{font-size:1rem;margin-bottom:15px;color:#eee;opacity:.8}.map-click-prompt{font-weight:700;color:#fff;text-transform:uppercase;font-size:.9rem}.business-card-prop{width:100%;height:auto;border-radius:8px;padding:0;border:none;transition:all .3s ease}.business-card-prop:hover{transform:scale(1.05)}.map-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);z-index:9998;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.map-modal-overlay.is-visible{opacity:1;pointer-events:all}.map-modal-content{background:#fff;padding:20px;border-radius:8px;max-width:800px;width:90%;position:relative;transform:scale(.9);transition:transform .3s ease}.map-modal-overlay.is-visible .map-modal-content{transform:scale(1)}.map-modal-close{position:absolute;top:-15px;right:-15px;width:40px;height:40px;background:#fff;border:none;border-radius:50%;font-size:1.5rem;font-weight:700;color:#333;cursor:pointer;box-shadow:0 5px 15px rgba(0,0,0,.3);z-index:9999}.map-embed{border-radius:4px;overflow:hidden}.map-address{padding-top:20px;text-align:center}.map-address h4{margin-top:0;color:#222}.map-address p{color:#555;line-height:1.6}@media (max-width:991px){.contact-desk.container{grid-template-columns:1fr}.desk-prop.compass,.desk-prop.pencil{display:none}}@media (max-width:767px){.contact-page-wrapper{padding:160px 15px 50px 15px}.blueprint-form-container{padding:20px}.desk-item{padding:20px}.memo-content{padding:25px}.memo-content ul li a{font-size:1.1rem}}

/* --- Form Status Messages --- */
.form-message {
    padding: 15px 20px;
    margin-bottom: 20px;
    border-radius: 5px;
    font-weight: 600;
    border: 1px solid transparent;
    line-height: 1.5;
}

.form-message strong {
    font-weight: 700;
}

/* Homepage Form Messages */
.success-message {
    background-color: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
}

.error-message {
    background-color: #f8d7da;
    border-color: #f5c6cb;
    color: #721c24;
}

/* Contact Page (Blueprint) Form Messages */
.blueprint-form-container .form-message {
    text-align: center;
    font-size: 1.1rem;
    color: #fff;
}

.blueprint-success {
    background-color: rgba(40, 167, 69, 0.8); /* Green */
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.blueprint-error {
    background-color: rgba(220, 53, 69, 0.8); /* Red */
    border: 1px solid rgba(255, 255, 255, 0.5);
}

/* --- Accessibility Improvements --- */

/* Focus visible styles for keyboard navigation */
*:focus-visible {
    outline: 3px solid #0056b3;
    outline-offset: 2px;
}

/* Skip to main content link (add this to header.php after <body>) */
.skip-to-main {
    position: absolute;
    left: -9999px;
    z-index: 999;
    padding: 1em;
    background-color: #0056b3;
    color: white;
    text-decoration: none;
}

.skip-to-main:focus {
    left: 50%;
    transform: translateX(-50%);
    top: 0;
}

/* Improved button focus states */
.submit-btn:focus-visible,
.blueprint-btn:focus-visible,
.menu-toggle:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(0, 86, 179, 0.3);
}

/* Better link focus states */
a:focus-visible {
    outline: 2px solid #0056b3;
    outline-offset: 2px;
    border-radius: 2px;
}

/* Improve contrast for better readability */
.service-card p,
.timeline-content p {
    color: #444;
}

/* Loading spinner for form submission */
.hvikas-custom-form.is-submitting {
    opacity: 0.6;
    pointer-events: none;
}

.hvikas-custom-form.is-submitting .submit-btn::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 10px;
    border: 2px solid #fff;
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .service-card,
    .timeline-content,
    .value-card {
        border: 2px solid currentColor;
    }
}

/* Screen reader only class */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Improved form error states */
.form-group.error input,
.form-group.error textarea {
    border-color: #dc3545;
}

.form-group.error label {
    color: #dc3545;
}

/* Rate limit message styling */
.form-message.rate-limit-message {
    background-color: #fff3cd;
    border-color: #ffc107;
    color: #856404;
}