:root{--clr-primary:#1a4d8f;--clr-primary-dk:#0e2f5a;--clr-accent:#00b4d8;--clr-accent-dk:#0096c7;--clr-teal:#05c7bc;--clr-white:#fff;--clr-bg:#f4f8fd;--clr-surface:#fff;--clr-text:#1c2b3a;--clr-text-muted:#5a7a96;--clr-border:#d0e4f0;--ff-head:'Fraunces',Georgia,serif;--ff-display:'Bebas Neue',sans-serif;--ff-body:'Inter',system-ui,sans-serif;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--transition:.35s cubic-bezier(.4,0,.2,1);--shadow-md:0 8px 32px rgba(26,77,143,.12);--shadow-lg:0 20px 60px rgba(26,77,143,.16)}*,::after,::before{box-sizing:border-box;margin:0}body{font-family:var(--ff-body);color:var(--clr-text);background:var(--clr-white);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}ol,ul{list-style:none;padding:0}img{display:block;max-width:100%}.container{width:min(1200px,100% - 2rem);margin-inline:auto}.contact-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--clr-primary-dk) 0,var(--clr-primary) 50%,#1a6a9f 100%);padding:130px 0 80px;text-align:center;color:#fff}.contact-hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2300b4d8' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.contact-hero-particles{position:absolute;inset:0;pointer-events:none}.contact-hero-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.15}.contact-hero-blob-1{width:400px;height:400px;background:var(--clr-accent);top:-100px;right:-80px;animation:8s ease-in-out infinite blobFloat}.contact-hero-blob-2{width:300px;height:300px;background:var(--clr-teal);bottom:-80px;left:-60px;animation:10s ease-in-out infinite reverse blobFloat}@keyframes blobFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(20px,-20px) scale(1.05)}66%{transform:translate(-15px,15px) scale(.95)}}.contact-hero-badge{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ff-body);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-accent);padding:.35rem .9rem;background:rgba(0,180,216,.15);border:1px solid rgba(0,180,216,.3);border-radius:var(--radius-pill);margin-bottom:1.2rem;animation:.7s both fadeDown}@keyframes fadeDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.contact-hero h1{font-family:var(--ff-head);font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.15;color:#fff;animation:.8s .1s both fadeUp}.contact-hero h1 em{font-style:italic;color:var(--clr-accent)}.contact-hero p{font-size:1.1rem;color:rgba(255,255,255,.8);max-width:100%;margin:.9rem auto 0;animation:.8s .2s both fadeUp}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.breadcrumb-nav{display:flex;justify-content:center;gap:.5rem;font-size:.85rem;color:rgba(255,255,255,.6);margin-top:1.5rem;animation:.8s .3s both fadeUp}.breadcrumb-nav a{color:rgba(255,255,255,.8)}.breadcrumb-nav a:hover{color:var(--clr-accent)}.breadcrumb-nav span{color:rgba(255,255,255,.4)}.contact-info-strip{background:var(--clr-white);padding:0;box-shadow:0 4px 30px rgba(26,77,143,.08)}.contact-info-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:3px solid var(--clr-accent)}.info-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 1.5rem;gap:.8rem;border-right:1px solid var(--clr-border);transition:background var(--transition),transform var(--transition);position:relative;overflow:hidden}.info-card:last-child{border-right:none}.info-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--clr-accent),var(--clr-teal));transform:scaleX(0);transition:transform var(--transition);transform-origin:left}.info-card:hover::before{transform:scaleX(1)}.info-card:hover{background:var(--clr-bg)}.info-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--clr-primary),var(--clr-accent));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;flex-shrink:0;box-shadow:0 8px 20px rgba(26,77,143,.25);transition:transform var(--transition),box-shadow var(--transition)}.info-card:hover .info-icon{transform:scale(1.1) translateY(-4px);box-shadow:0 14px 30px rgba(0,150,199,.4)}.info-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-accent-dk)}.info-value{font-family:var(--ff-head);font-size:1.05rem;font-weight:700;color:var(--clr-primary-dk);line-height:1.35}.info-value a:hover{color:var(--clr-accent)}.contact-main{padding:90px 0;background:var(--clr-bg)}.contact-main-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:center}.contact-form-panel{background:var(--clr-white);border-radius:24px;padding:2.5rem;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.contact-form-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--clr-primary),var(--clr-accent),var(--clr-teal))}.panel-head{margin-bottom:2rem}.panel-head .badge-inline{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clr-accent-dk);padding:.3rem .8rem;background:rgba(0,180,216,.1);border-radius:var(--radius-pill);margin-bottom:.7rem}.panel-head h2{font-family:var(--ff-head);font-size:1.85rem;color:var(--clr-primary-dk);font-weight:700}.panel-head h2 em{color:var(--clr-accent);font-style:italic}.panel-head p{color:var(--clr-text-muted);margin-top:.5rem;font-size:.95rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-group label{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--clr-text-muted)}.form-group input,.form-group select,.form-group textarea{padding:.8rem 1rem;border:2px solid var(--clr-border);border-radius:var(--radius-md);font-family:var(--ff-body);font-size:.95rem;color:var(--clr-text);background:var(--clr-bg);outline:0;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--clr-accent);background:#fff;box-shadow:0 0 0 4px rgba(0,180,216,.12)}.form-group textarea{resize:vertical;min-height:120px}.form-group select{appearance:none;cursor:pointer}.input-wrap{position:relative}.input-wrap .input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--clr-text-muted);pointer-events:none;font-size:.9rem}.input-wrap input{padding-left:2.5rem}.btn-submit{width:100%;padding:1rem;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--clr-primary),var(--clr-accent));color:#fff;font-family:var(--ff-body);font-size:1rem;font-weight:700;letter-spacing:.03em;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem;transition:transform var(--transition),box-shadow var(--transition);box-shadow:0 8px 24px rgba(26,77,143,.3);position:relative;overflow:hidden}.btn-submit::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--clr-accent),var(--clr-teal));opacity:0;transition:opacity var(--transition)}.btn-submit:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,150,199,.45)}.btn-submit:hover::before{opacity:1}.btn-submit span{position:relative;z-index:1;display:flex;align-items:center;gap:.6rem}.success-msg{display:none;padding:1rem 1.5rem;border-radius:var(--radius-md);background:rgba(28,191,122,.12);border:1.5px solid #1cbf7a;color:#0d8050;font-weight:600;margin-top:1rem;font-size:.95rem}.contact-details-panel{display:flex;flex-direction:column;gap:2rem}.map-card{border-radius:24px;overflow:hidden;box-shadow:var(--shadow-md);position:relative}.map-card iframe{width:100%;height:280px;display:block;border:none}.map-overlay-label{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:rgba(14,47,90,.9);color:#fff;padding:.5rem 1.2rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;backdrop-filter:blur(6px);white-space:nowrap;display:flex;align-items:center;gap:.4rem}.hours-card{background:var(--clr-white);border-radius:24px;padding:2rem;box-shadow:var(--shadow-md)}.hours-card h3{font-family:var(--ff-head);font-size:1.3rem;color:var(--clr-primary-dk);margin-bottom:1.2rem;display:flex;align-items:center;gap:.7rem}.hours-card h3 i{color:var(--clr-accent)}.hours-row{display:flex;justify-content:space-between;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--clr-border);font-size:.9rem}.hours-row:last-child{border-bottom:none}.hours-day{font-weight:600;color:var(--clr-text)}.hours-time{color:var(--clr-text-muted)}.hours-badge{padding:.2rem .7rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:700;text-transform:uppercase}.hours-badge.open{background:rgba(28,191,122,.12);color:#0d8050}.hours-badge.closed{background:rgba(232,76,76,.1);color:#c0392b}.social-connect{background:linear-gradient(135deg,var(--clr-primary-dk),var(--clr-primary));border-radius:24px;padding:2rem;color:#fff}.social-connect h3{font-family:var(--ff-head);font-size:1.3rem;margin-bottom:1.2rem}.social-links{display:flex;gap:.8rem;flex-wrap:wrap}.social-links a{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;transition:background var(--transition),transform var(--transition)}.social-links a:hover{background:var(--clr-accent);transform:translateY(-4px) scale(1.1);border-color:var(--clr-accent)}.contact-cta{background:linear-gradient(135deg,var(--clr-primary-dk) 0,var(--clr-primary) 60%,#1a6a9f 100%);padding:70px 0;text-align:center;position:relative;overflow:hidden}.contact-cta::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%2300b4d8' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.contact-cta h2{font-family:var(--ff-head);font-size:clamp(1.7rem,3.5vw,2.5rem);color:#fff;font-weight:700}.contact-cta h2 em{color:var(--clr-accent)}.contact-cta p{color:rgba(255,255,255,.8);margin:.8rem auto 2rem;max-width:480px;font-size:1rem}.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}.cta-btn-primary{display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 2rem;background:var(--clr-accent);color:#fff;border-radius:var(--radius-pill);font-weight:700;font-size:1rem;transition:transform var(--transition),box-shadow var(--transition),background var(--transition);box-shadow:0 8px 24px rgba(0,150,199,.4)}.cta-btn-primary:hover{background:var(--clr-accent-dk);transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,150,199,.55)}.cta-btn-outline{display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 2rem;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.4);color:#fff;border-radius:var(--radius-pill);font-weight:700;font-size:1rem;transition:background var(--transition),transform var(--transition)}.cta-btn-outline:hover{background:rgba(255,255,255,.22);transform:translateY(-3px)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s,transform .7s}.reveal-left.is-visible{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s,transform .7s}.reveal-right.is-visible{opacity:1;transform:translateX(0)}@media(max-width:900px){.contact-info-grid,.contact-main-grid{grid-template-columns:1fr}.info-card{border-right:none;border-bottom:1px solid var(--clr-border)}.info-card:last-child{border-bottom:none}.form-row{grid-template-columns:1fr}}@media(max-width:600px){.contact-form-panel{padding:1.5rem}.cta-actions{flex-direction:column;align-items:center}}.il-1{background:var(--off)}.nav-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.nav-link svg{flex-shrink:0;display:block}