/* 1st Choice Plumbing - shared site stylesheet (extracted from inline <style>, identical across pages) */
:root{--color-primary:#0094D4;--color-primary-dark:#007bb5;--color-secondary:#1a3a5c;--color-accent:#FFE81F;--color-accent-dark:#e6d000;--color-white:#fff;--color-gray-50:#f8f9fa;--color-gray-200:#e9ecef;--color-gray-500:#adb5bd;--color-gray-600:#6c757d;--color-gray-700:#495057;--color-gray-900:#212529;--font-display:'Bebas Neue','Oswald',sans-serif;--font-heading:'Oswald',sans-serif;--font-body:'Open Sans',-apple-system,sans-serif;--shadow-lg:0 8px 32px rgba(0,0,0,0.1);--radius:4px;--radius-md:8px;--radius-lg:12px;--transition:0.3s ease}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--color-gray-700);background:var(--color-gray-900);overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.1;color:var(--color-secondary);letter-spacing:1px;text-transform:uppercase}h4{font-family:var(--font-heading);font-weight:500}.img-cover{width:100%;height:100%;object-fit:cover}.skip-link{position:absolute;top:-60px;left:0;z-index:9999;background:var(--color-primary-dark);color:var(--color-white);padding:14px 24px;font-family:var(--font-heading);font-weight:600;text-decoration:none;transition:top 0.2s ease}.skip-link:focus{top:0}
    @keyframes orbFloat1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-20px) scale(1.1)}}@keyframes orbFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(-20px,30px)}}.light-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}.light-orb-blue{background:radial-gradient(circle,rgba(0,148,212,0.5) 0%,transparent 70%);animation:orbFloat1 8s ease-in-out infinite}.light-orb-yellow{background:radial-gradient(circle,rgba(255,232,31,0.4) 0%,transparent 70%);animation:orbFloat2 10s ease-in-out infinite}
    .fade-in{opacity:0;transform:translateY(40px);transition:opacity 0.8s ease,transform 0.8s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-left{opacity:0;transform:translateX(-60px);transition:opacity 0.8s ease,transform 0.8s ease}.fade-in-left.visible{opacity:1;transform:translateX(0)}.fade-in-right{opacity:0;transform:translateX(60px);transition:opacity 0.8s ease,transform 0.8s ease}.fade-in-right.visible{opacity:1;transform:translateX(0)}.stagger-1{transition-delay:0.1s}.stagger-2{transition-delay:0.2s}.stagger-3{transition-delay:0.3s}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;font-family:var(--font-heading);font-size:15px;font-weight:500;letter-spacing:1px;text-transform:uppercase;border-radius:var(--radius);transition:all var(--transition);position:relative;overflow:hidden}.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);transition:left 0.5s ease}.btn:hover::before{left:100%}.btn-primary{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary-dark) 100%);color:var(--color-white);box-shadow:0 4px 15px rgba(0,148,212,0.4)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,148,212,0.5)}.btn-accent{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);color:var(--color-secondary);box-shadow:0 4px 15px rgba(255,232,31,0.4)}.btn-accent:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(255,232,31,0.6)}.btn-outline{background:transparent;color:var(--color-white);border:2px solid var(--color-white)}.btn-outline:hover{background:var(--color-white);color:var(--color-secondary)}.btn-lg{padding:20px 48px;font-size:16px}.btn svg{width:18px;height:18px;flex-shrink:0}
    .header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);transition:all var(--transition)}.header.scrolled{box-shadow:0 4px 30px rgba(0,0,0,0.1)}.header-top{background:linear-gradient(135deg,var(--color-secondary) 0%,#0d2540 100%);color:var(--color-white);padding:10px 0;font-size:13px}.header-top-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.header-top a{color:var(--color-white);display:flex;align-items:center;gap:6px}.header-top a:hover{color:var(--color-accent)}.header-top svg{width:14px;height:14px}.header-top-cta{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);color:var(--color-secondary);padding:6px 16px;border-radius:var(--radius);font-weight:600;font-size:12px;text-transform:uppercase}.header-main{padding:16px 0}.header-inner{display:flex;align-items:center;justify-content:space-between}.logo img{height:60px}.nav-desktop{display:none;align-items:center;gap:36px}@media(min-width:1024px){.nav-desktop{display:flex}}.nav-link{font-family:var(--font-heading);font-size:14px;font-weight:500;color:var(--color-gray-700);letter-spacing:1px;text-transform:uppercase;position:relative}.nav-link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transition:width var(--transition)}.nav-link:hover,.nav-link.active{color:var(--color-primary-dark)}.nav-link:hover::after,.nav-link.active::after{width:100%}.header-cta{display:none}@media(min-width:768px){.header-cta{display:flex}}.menu-toggle{display:flex;width:48px;height:48px;align-items:center;justify-content:center}@media(min-width:1024px){.menu-toggle{display:none}}
    .mobile-menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:500;opacity:0;visibility:hidden;transition:all 0.3s ease}.mobile-menu-overlay.active{opacity:1;visibility:visible}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:320px;max-width:100%;background:linear-gradient(180deg,var(--color-white) 0%,var(--color-gray-50) 100%);z-index:501;transform:translateX(100%);transition:transform 0.3s ease;display:flex;flex-direction:column}.mobile-menu.active{transform:translateX(0)}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-gray-200)}.mobile-menu-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.mobile-menu-nav{flex:1;padding:24px}.mobile-menu-link{display:block;padding:16px 0;font-family:var(--font-heading);font-size:16px;font-weight:500;color:var(--color-secondary);border-bottom:1px solid rgba(0,0,0,0.05);text-transform:uppercase;letter-spacing:1px}.mobile-menu-footer{padding:24px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%)}
    .page-hero{position:relative;padding:200px 0 120px;background:linear-gradient(135deg,var(--color-secondary) 0%,#0a1f35 50%,#061525 100%);overflow:hidden}.page-hero::before{content:'';position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1585704032915-c3400ca199e7?w=1600&h=900&fit=crop') center/cover;opacity:0.1}.page-hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}.page-hero-bg .light-orb:nth-child(1){width:500px;height:500px;top:-150px;right:-100px}.page-hero-bg .light-orb:nth-child(2){width:400px;height:400px;bottom:-150px;left:-100px}.page-hero-content{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto}.page-hero h1{font-size:clamp(48px,8vw,72px);color:var(--color-white);margin-bottom:20px}.page-hero h1 span{background:linear-gradient(135deg,var(--color-accent) 0%,#ffd700 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-hero p{font-size:18px;color:rgba(255,255,255,0.85);margin-bottom:32px;font-weight:300}.page-hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}
    .breadcrumb{background:linear-gradient(135deg,var(--color-white) 0%,var(--color-gray-50) 100%);padding:16px 0;border-bottom:1px solid var(--color-gray-200);font-size:14px}.breadcrumb a{color:var(--color-gray-500)}.breadcrumb a:hover{color:var(--color-primary-dark)}.breadcrumb span{color:var(--color-gray-500);margin:0 8px}.breadcrumb-current{color:var(--color-gray-700)}
    .section{padding:100px 0;position:relative;overflow:hidden}.section-light{background:linear-gradient(180deg,var(--color-white) 0%,var(--color-gray-50) 100%)}.section-blue{background:linear-gradient(180deg,#e8f4fc 0%,#d4ecf9 100%);position:relative}.section-blue::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(0,148,212,0.15) 0%,transparent 50%),radial-gradient(ellipse at bottom left,rgba(255,232,31,0.1) 0%,transparent 50%);pointer-events:none}.section-dark{background:linear-gradient(135deg,var(--color-secondary) 0%,#0d2540 50%,#061525 100%);position:relative;overflow:hidden}.section-dark::before{content:'';position:absolute;top:-50%;right:-20%;width:70%;height:200%;background:radial-gradient(ellipse,rgba(0,148,212,0.2) 0%,transparent 50%);pointer-events:none}.section-header{text-align:center;max-width:700px;margin:0 auto 64px}.section-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-heading);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-primary-dark);margin-bottom:16px}.section-eyebrow::before,.section-eyebrow::after{content:'';width:24px;height:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-primary))}.section-title{font-size:clamp(36px,5vw,52px);margin-bottom:16px}.section-subtitle{font-size:17px;color:var(--color-gray-600);font-weight:300}
    .content-grid{display:grid;gap:48px;align-items:center}@media(min-width:1024px){.content-grid{grid-template-columns:1fr 1fr}}.content-image{height:450px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 25px 50px rgba(0,148,212,0.2);position:relative}.content-image::before{content:'';position:absolute;inset:-3px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));z-index:-1}.content-text h2{font-size:clamp(28px,4vw,36px);margin-bottom:20px}.content-text p{margin-bottom:16px;font-weight:300;color:var(--color-gray-600)}.content-list{list-style:none;margin:24px 0}.content-list li{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-gray-200)}.content-list li:last-child{border-bottom:none}.content-list svg{width:20px;height:20px;color:var(--color-primary);flex-shrink:0;margin-top:2px}
    .benefits-grid{display:grid;gap:24px}@media(min-width:768px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.benefits-grid{grid-template-columns:repeat(3,1fr)}}.benefit-card{background:var(--color-white);border-radius:var(--radius-lg);padding:32px;box-shadow:0 10px 40px rgba(0,148,212,0.08);transition:all var(--transition);position:relative;overflow:hidden}.benefit-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transform:scaleX(0);transition:transform var(--transition)}.benefit-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(0,148,212,0.15)}.benefit-card:hover::before{transform:scaleX(1)}.benefit-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-white);margin-bottom:20px;box-shadow:0 8px 25px rgba(0,148,212,0.3)}.benefit-icon svg{width:28px;height:28px}.benefit-card h4{font-size:18px;margin-bottom:10px}.benefit-card p{font-size:14px;color:var(--color-gray-600);font-weight:300}
    .process-grid{display:grid;gap:24px;position:relative;z-index:1}@media(min-width:768px){.process-grid{grid-template-columns:repeat(4,1fr)}}.process-step{text-align:center;padding:24px}.process-step-num{width:70px;height:70px;margin:0 auto 16px;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:32px;color:var(--color-secondary);box-shadow:0 10px 30px rgba(255,232,31,0.3)}.process-step h4{font-size:16px;margin-bottom:8px;color:var(--color-white)}.process-step p{font-size:14px;color:rgba(255,255,255,0.7);font-weight:300}@media(min-width:768px){.process-step:not(:last-child)::after{content:'';position:absolute;top:60px;width:calc(25% - 40px);height:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-primary));left:calc(12.5% + 35px)}.process-step:nth-child(2):not(:last-child)::after{left:calc(37.5% + 35px)}.process-step:nth-child(3):not(:last-child)::after{left:calc(62.5% + 35px)}}
    .cta-section{padding:100px 0;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);text-align:center;position:relative;overflow:hidden}.cta-section::before{content:'';position:absolute;top:-50%;right:-30%;width:80%;height:200%;background:radial-gradient(circle,rgba(255,255,255,0.1) 0%,transparent 50%);animation:orbFloat1 15s ease-in-out infinite}.cta-section .container{position:relative;z-index:2}.cta-section h2{color:var(--color-white);font-size:clamp(36px,5vw,48px);margin-bottom:16px}.cta-section p{color:rgba(255,255,255,0.9);font-size:18px;margin-bottom:32px;font-weight:300}.cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}
    .footer{background:linear-gradient(180deg,#0a1525 0%,#050d15 100%);color:var(--color-gray-500);padding:80px 0 32px;position:relative}.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary),var(--color-accent),var(--color-primary),transparent)}.footer-grid{display:grid;gap:48px;margin-bottom:64px}@media(min-width:768px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1.1fr 1fr}}.footer-brand img{height:56px;margin-bottom:20px}.footer-brand p{font-size:14px;font-weight:300}.footer-title{font-family:var(--font-heading);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-white);margin-bottom:24px;position:relative;padding-bottom:12px}.footer-title::after{content:'';position:absolute;bottom:0;left:0;width:30px;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.footer-links{list-style:none}.footer-links li{margin-bottom:12px}.footer-links a{font-size:14px;color:var(--color-gray-500);transition:all var(--transition)}.footer-links a:hover{color:var(--color-primary-dark);padding-left:5px}.footer-bottom{padding-top:32px;border-top:1px solid rgba(255,255,255,0.1);display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;font-size:14px}@media(min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-bottom a{color:var(--color-primary-dark)}
  

/* ===== MOBILE RESPONSIVE FIXES ===== */
@media (max-width: 480px) {
  .btn svg { width: 16px; height: 16px; }
  .container { padding: 0 16px; }
  .header-top { font-size: 12px; padding: 8px 0; }
  .header-top-inner { justify-content: center; gap: 8px; }
  .header-top-inner > span { display: none; }
  .header-top-cta { padding: 5px 12px; font-size: 11px; }
  .header-main { padding: 12px 0; }
  .logo img { height: 45px; }
  .page-hero { padding: 140px 0 80px; }
  .page-hero h1 { font-size: 32px; margin-bottom: 16px; }
  .page-hero p { font-size: 15px; margin-bottom: 24px; }
  .page-hero-actions { gap: 12px; }
  .page-hero-actions .btn { width: 100%; padding: 14px 24px; }
  .btn { padding: 14px 24px; font-size: 13px; min-height: 48px; }
  .btn-lg { padding: 16px 28px; font-size: 14px; }
  .section { padding: 60px 0; }
  .section-header { margin-bottom: 40px; }
  .section-title { font-size: 28px; }
  .section-subtitle { font-size: 14px; }
  .section-eyebrow { font-size: 11px; }
  .difference-grid { gap: 16px; }
  .difference-card { padding: 24px 16px; }
  .difference-icon { width: 56px; height: 56px; margin-bottom: 16px; }
  .difference-card h4 { font-size: 16px; }
  .difference-card p { font-size: 13px; }
  .products-grid { gap: 20px; }
  .product-card-image { height: 200px; }
  .product-card-content { padding: 24px 20px; }
  .product-card-content h4 { font-size: 20px; }
  .product-features li { font-size: 13px; padding: 8px 0; }
  .product-price { font-size: 24px; }
  .cta-banner { padding: 32px 20px; margin: 32px 0; }
  .cta-banner-content h3 { font-size: 24px; }
  .cta-banner-content p { font-size: 14px; }
  .tech-grid { gap: 12px; }
  .tech-item { padding: 16px; gap: 12px; }
  .tech-item span { font-size: 12px; }
  .faq-question { padding: 18px 20px; font-size: 14px; }
  .faq-answer-inner { padding: 0 20px 20px; font-size: 14px; }
  .allini-badge { padding: 24px 0; }
  .allini-badge-text { font-size: 13px; }
  .allini-badge-text strong { font-size: 16px; }
  .footer { padding: 48px 0 24px; }
  .footer-grid { gap: 32px; }
  .footer-brand img { height: 48px; }
  .footer-title { font-size: 13px; margin-bottom: 16px; }
  .footer-links a { font-size: 13px; }
}
@media (min-width: 481px) and (max-width: 767px) {
  .page-hero { padding: 160px 0 100px; }
  .page-hero h1 { font-size: 38px; }
  .page-hero-actions .btn { width: auto; }
  .difference-card { padding: 28px 20px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-hero { padding: 180px 0 100px; }
  .products-grid { gap: 24px; }
}
    .faq-section{background:linear-gradient(180deg,#e0f2fe 0%,var(--color-white) 100%)}.faq-list{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:0 15px 50px rgba(0,148,212,0.1);overflow:hidden;border:1px solid rgba(0,148,212,0.1)}.faq-item{border-bottom:1px solid var(--color-gray-200)}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 28px;text-align:left;font-family:var(--font-heading);font-size:16px;font-weight:500;color:var(--color-secondary);background:transparent;transition:all var(--transition)}.faq-question:hover{background:linear-gradient(90deg,rgba(0,148,212,0.05) 0%,transparent 100%)}.faq-question svg{width:20px;height:20px;color:var(--color-primary);transition:transform var(--transition);flex-shrink:0}.faq-item.active .faq-question{background:linear-gradient(90deg,rgba(0,148,212,0.08) 0%,rgba(255,232,31,0.05) 100%)}.faq-item.active .faq-question svg{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease}.faq-item.active .faq-answer{max-height:300px}.faq-answer-inner{padding:0 28px 28px;font-size:15px;color:var(--color-gray-600);line-height:1.8;font-weight:300}
    .floating-cta{position:fixed;bottom:24px;right:24px;z-index:99}.floating-btn{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 4px 20px rgba(0,148,212,0.5)}.floating-btn svg{width:24px;height:24px}@keyframes glow{0%,100%{box-shadow:0 0 20px rgba(0,148,212,0.5)}50%{box-shadow:0 0 40px rgba(0,148,212,0.8),0 0 60px rgba(0,148,212,0.4)}}.animate-glow{animation:glow 3s ease-in-out infinite}@media(min-width:768px){.floating-cta{display:none}}
  
    /* Related Services Cross-Links */
    .related-services { background: var(--color-gray-50); padding: 64px 0; }
    .related-title { font-family: var(--font-heading); font-size: 24px; text-transform: uppercase; letter-spacing: 1px; color: var(--color-secondary); margin-bottom: 32px; text-align: center; }
    .related-grid { display: grid; gap: 24px; }
    @media (min-width: 768px) { .related-grid { grid-template-columns: repeat(3, 1fr); } }
    .related-card { display: flex; flex-direction: column; background: var(--color-white); border-radius: var(--radius-lg); padding: 32px; border: 1px solid rgba(0,0,0,0.06); transition: all 0.3s ease; text-decoration: none; color: inherit; position: relative; overflow: hidden; }
    .related-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--color-primary), var(--color-accent)); transform: scaleX(0); transition: transform 0.3s ease; transform-origin: left; }
    .related-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.1); }
    .related-card:hover::before { transform: scaleX(1); }
    .related-card h4 { font-family: var(--font-heading); font-size: 18px; color: var(--color-secondary); margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
    .related-card p { font-size: 14px; color: var(--color-gray-600); line-height: 1.7; flex: 1; margin-bottom: 16px; }
    .related-link { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-heading); font-size: 13px; font-weight: 600; color: var(--color-primary-dark); text-transform: uppercase; letter-spacing: 0.5px; }
    .related-link svg { transition: transform 0.3s ease; }
    .related-card:hover .related-link svg { transform: translateX(4px); }

    /* Breadcrumbs */
    .breadcrumbs { padding: 12px 0; font-size: 13px; color: rgba(255,255,255,0.5); position: relative; z-index: 2; }
    .breadcrumbs a { color: rgba(255,255,255,0.6); transition: color 0.3s; }
    .breadcrumbs a:hover { color: var(--color-accent); }
    .breadcrumbs span { margin: 0 8px; }

    /* Sticky Mobile Call Bar */
    .mobile-callbar {
      display: none;
      position: fixed;
      bottom: 0; left: 0; right: 0;
      z-index: 300;
      background: var(--color-secondary);
      box-shadow: 0 -4px 20px rgba(0,0,0,0.3);
      padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
      gap: 10px;
    }
    .mobile-callbar a {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 13px 10px;
      border-radius: var(--radius);
      font-family: var(--font-heading);
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      min-height: 48px;
    }
    .mobile-callbar svg { width: 18px; height: 18px; flex-shrink: 0; }
    .mobile-callbar .callbar-call {
      background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%);
      color: var(--color-secondary);
    }
    .mobile-callbar .callbar-quote {
      background: var(--color-primary-dark);
      color: var(--color-white);
    }
    @media (max-width: 767px) {
      .mobile-callbar { display: flex; }
      body { padding-bottom: 76px; }
      footer { padding-bottom: 90px !important; }
    }

    /* Scroll To Top */
    .scroll-top {
      position: fixed;
      bottom: 90px;
      right: 16px;
      z-index: 290;
      width: 44px; height: 44px;
      border-radius: 50%;
      background: var(--color-primary);
      color: var(--color-white);
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transform: translateY(8px);
      transition: opacity 0.3s ease, transform 0.3s ease;
      box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    }
    .scroll-top.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
    .scroll-top svg { width: 20px; height: 20px; }
    @media (min-width: 768px) { .scroll-top { bottom: 24px; right: 24px; } }

    /* Active Nav State */
    .nav-link.active { color: var(--color-primary-dark); }
    .nav-link.active::after { width: 100%; }

    /* Rob Chat Widget */
    .rob-launcher {
      position: fixed; bottom: 24px; right: 24px; z-index: 320;
      width: 64px; height: 64px; border-radius: 50%;
      background: var(--color-primary); border: 3px solid var(--color-accent);
      cursor: pointer; padding: 0; overflow: hidden;
      box-shadow: 0 6px 24px rgba(0,0,0,0.3);
      transition: transform 0.25s ease, box-shadow 0.25s ease;
    }
    .rob-launcher:hover { transform: scale(1.07); box-shadow: 0 10px 32px rgba(0,148,212,0.45); }
    .rob-launcher img { width: 100%; height: 100%; object-fit: cover; display: block; }
    /* Attention pulse on launcher (until first interaction) */
    .rob-launcher.pulse::after {
      content: ''; position: absolute; inset: -3px; border-radius: 50%;
      border: 3px solid var(--color-accent);
      animation: robPulse 2s ease-out infinite; pointer-events: none;
    }
    @keyframes robPulse {
      0% { transform: scale(1); opacity: 0.9; }
      70% { transform: scale(1.45); opacity: 0; }
      100% { transform: scale(1.45); opacity: 0; }
    }
    /* Callout box anchored to Rob */
    .rob-callout {
      position: fixed; bottom: 100px; right: 24px; z-index: 320;
      background: var(--color-white); border-radius: 16px 16px 4px 16px;
      box-shadow: 0 14px 44px rgba(0,0,0,0.25);
      width: 290px; max-width: calc(100vw - 40px); overflow: hidden;
      opacity: 0; transform: translateY(10px) scale(0.96); pointer-events: none;
      transition: opacity 0.4s ease, transform 0.4s ease;
      border: 1px solid rgba(0,0,0,0.06);
    }
    .rob-callout.show { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
    .rob-callout-top {
      display: flex; align-items: center; gap: 12px;
      padding: 14px 16px 10px;
    }
    .rob-callout-top img {
      width: 48px; height: 48px; border-radius: 50%;
      border: 2px solid var(--color-accent); object-fit: cover; flex-shrink: 0;
      background: var(--color-primary);
    }
    .rob-callout-title { font-family: var(--font-heading); font-size: 16px; font-weight: 700; color: var(--color-secondary); line-height: 1.25; }
    .rob-callout-sub { font-size: 12px; color: var(--color-gray-600); margin-top: 2px; }
    .rob-callout-body { padding: 0 16px 14px; font-size: 13.5px; color: var(--color-gray-700); line-height: 1.55; }
    .rob-callout-btn {
      display: block; margin: 0 16px 16px; padding: 12px;
      background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%);
      color: var(--color-secondary); border: none; border-radius: 8px;
      font-family: var(--font-heading); font-size: 13px; font-weight: 700;
      letter-spacing: 0.6px; text-transform: uppercase; cursor: pointer;
      width: calc(100% - 32px); text-align: center;
      box-shadow: 0 4px 14px rgba(255,232,31,0.4);
      transition: transform 0.2s ease;
    }
    .rob-callout-btn:hover { transform: translateY(-2px); }
    .rob-callout-close {
      position: absolute; top: 8px; right: 8px;
      width: 24px; height: 24px; border-radius: 50%;
      background: rgba(0,0,0,0.06); color: var(--color-gray-600);
      border: none; cursor: pointer; font-size: 14px; line-height: 1;
      display: flex; align-items: center; justify-content: center;
    }
    .rob-callout-close:hover { background: rgba(0,0,0,0.12); }
    /* FAQ quick-click chips */
    .rob-chips { display: flex; flex-wrap: wrap; gap: 8px; align-self: stretch; padding: 2px 0 4px; }
    .rob-chip {
      border: 1.5px solid var(--color-primary-dark); color: var(--color-primary-dark);
      background: var(--color-white); border-radius: 100px;
      padding: 8px 14px; font-size: 12.5px; font-weight: 600;
      font-family: var(--font-body); cursor: pointer;
      transition: all 0.2s ease; line-height: 1.2;
    }
    .rob-chip:hover { background: var(--color-primary-dark); color: var(--color-white); }
    .rob-window {
      position: fixed; bottom: 100px; right: 24px; z-index: 330;
      width: 392px; max-width: calc(100vw - 32px); height: 580px; max-height: calc(100vh - 140px);
      background: var(--color-white); border-radius: 20px; overflow: hidden;
      box-shadow: 0 16px 48px rgba(0,0,0,0.3);
      display: none; flex-direction: column;
    }
    .rob-window.open { display: flex; }
    .rob-header {
      background: linear-gradient(135deg, var(--color-secondary) 0%, #0a1f35 100%);
      padding: 14px 16px; display: flex; align-items: center; gap: 12px;
      border-bottom: 3px solid var(--color-accent);
    }
    .rob-header img { width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--color-accent); object-fit: cover; }
    .rob-header-info { flex: 1; }
    .rob-header-name { font-family: var(--font-heading); font-size: 16px; font-weight: 600; color: var(--color-white); letter-spacing: 0.5px; }
    .rob-header-status { font-size: 12px; color: rgba(255,255,255,0.65); display: flex; align-items: center; gap: 6px; }
    .rob-header-status::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #4ade80; }
    .rob-close { background: none; border: none; color: rgba(255,255,255,0.7); cursor: pointer; font-size: 22px; line-height: 1; padding: 4px; }
    .rob-close:hover { color: var(--color-white); }
    .rob-messages {
      flex: 1; overflow-y: auto; padding: 18px 14px;
      background: #f2f6fa;
      display: flex; flex-direction: column; gap: 14px;
      scrollbar-width: thin; scrollbar-color: rgba(0,0,0,0.18) transparent;
    }
    .rob-messages::-webkit-scrollbar { width: 5px; }
    .rob-messages::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.18); border-radius: 3px; }
    .rob-row { display: flex; align-items: flex-end; gap: 8px; animation: robMsgIn 0.28s ease both; }
    .rob-row.user { justify-content: flex-end; }
    .rob-row.bot > img { width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; border: 2px solid var(--color-accent); background: var(--color-primary); object-fit: cover; }
    @keyframes robMsgIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
    .rob-msg { max-width: 84%; padding: 11px 15px; border-radius: 16px; font-size: 14.5px; line-height: 1.6; word-wrap: break-word; }
    .rob-msg.bot { background: var(--color-white); color: var(--color-secondary); box-shadow: 0 1px 4px rgba(10,31,53,0.08); border-bottom-left-radius: 4px; }
    .rob-msg.bot p { margin: 0 0 9px; }
    .rob-msg.bot p:last-child, .rob-msg.bot ul:last-child { margin-bottom: 0; }
    .rob-msg.bot ul { margin: 0 0 9px; padding-left: 18px; }
    .rob-msg.bot li { margin: 5px 0; }
    .rob-msg.bot strong { font-weight: 700; color: var(--color-secondary); }
    .rob-msg.bot a { color: var(--color-primary-dark); font-weight: 600; text-decoration: underline; }
    .rob-msg.user { background: linear-gradient(135deg, var(--color-primary-dark) 0%, #0077ad 100%); color: var(--color-white); border-bottom-right-radius: 4px; white-space: pre-wrap; box-shadow: 0 2px 8px rgba(0,148,212,0.3); }
    .rob-success {
      display: inline-flex; align-items: center; gap: 8px;
      background: #e7f7ee; color: #15803d; border: 1px solid #bbe7cd;
      border-radius: 100px; padding: 9px 16px; font-size: 13px; font-weight: 600;
    }
    .rob-success svg { width: 16px; height: 16px; flex-shrink: 0; }
    .rob-row.typing-row { display: none; }
    .rob-row.typing-row.show { display: flex; }
    .rob-typing { display: flex; gap: 5px; background: var(--color-white); box-shadow: 0 1px 4px rgba(10,31,53,0.08); border-radius: 16px; border-bottom-left-radius: 4px; padding: 13px 16px; }
    .rob-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--color-gray-400, #9ca3af); animation: robDot 1.2s infinite; }
    .rob-typing span:nth-child(2) { animation-delay: 0.15s; }
    .rob-typing span:nth-child(3) { animation-delay: 0.3s; }
    @keyframes robDot { 0%, 60%, 100% { opacity: 0.3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-4px); } }
    .rob-input-row { display: flex; gap: 8px; padding: 12px; background: var(--color-white); border-top: 1px solid rgba(0,0,0,0.07); }
    .rob-input { flex: 1; border: 1.5px solid rgba(0,0,0,0.12); border-radius: 24px; padding: 11px 16px; font-size: 15px; font-family: var(--font-body); outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
    .rob-input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(0,148,212,0.15); }
    .rob-send {
      width: 44px; height: 44px; border-radius: 50%; border: none; cursor: pointer;
      background: linear-gradient(135deg, var(--color-primary) 0%, #0077ad 100%); color: var(--color-white);
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
      box-shadow: 0 3px 10px rgba(0,148,212,0.35); transition: transform 0.15s ease;
    }
    .rob-send:hover { transform: scale(1.06); }
    .rob-send:disabled { opacity: 0.5; cursor: default; }
    .rob-send svg { width: 18px; height: 18px; }
    .rob-disclaimer { font-size: 10px; color: var(--color-gray-600); text-align: center; padding: 0 12px 8px; background: var(--color-white); }
    /* Reposition scroll-top to left to avoid Rob */
    .scroll-top { right: auto; left: 16px; }
    @media (min-width: 768px) { .scroll-top { right: auto; left: 24px; } }
    @media (max-width: 767px) {
      .rob-launcher { bottom: 90px; right: 14px; width: 58px; height: 58px; }
      .rob-callout { bottom: 158px; right: 14px; }
      .rob-window { bottom: 0; right: 0; left: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; border-radius: 0; z-index: 400; }
      .rob-input { font-size: 16px; }
      .rob-input-row { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
    }

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms !important;animation-delay:0s !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;transition-delay:0s !important}}
