.contact-page{--blue: #046bd2;--blue-dark: #035ab0;--blue-light: #60a5fa;--navy: var(--color-slate-900);--navy-mid: var(--color-slate-800);--white: #ffffff;--gray-50: var(--color-slate-50);--gray-100: var(--color-slate-100);--gray-200: var(--color-slate-200);--gray-300: var(--color-slate-300);--gray-400: var(--color-slate-400);--gray-500: var(--color-slate-500);--gray-600: var(--color-slate-600);--gray-800: var(--color-slate-800);--text-dark: var(--color-slate-900);--wa: #15803d;--wa-dark: #166534;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(14,27,46,.04), 0 12px 32px -20px rgba(14,27,46,.25);--shadow-md: 0 8px 40px rgba(14,27,46,.15);--green: #22c55e;--red: #ef4444;color:var(--text-dark);background:var(--white)}html.dark .contact-page{color:var(--color-slate-200);background:var(--color-slate-950)}.contact-page a{text-decoration:none;color:inherit}.contact-page ul{list-style:none;margin:0;padding:0}.contact-page .btn-icon{display:inline-flex;width:20px;height:20px;flex-shrink:0}.contact-page .btn-icon svg{width:100%;height:100%}.contact-page .hero{background:var(--white);background-image:radial-gradient(ellipse 80% 60% at 70% 50%,rgba(4,107,210,.07) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 10% 80%,rgba(4,107,210,.04) 0%,transparent 60%);padding:128px 24px 40px;text-align:center}html.dark .contact-page .hero{background:var(--navy);background-image:radial-gradient(ellipse 80% 60% at 70% 50%,rgba(4,107,210,.12) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 10% 80%,rgba(4,107,210,.07) 0%,transparent 60%)}.contact-page .hero-inner{max-width:680px;margin:0 auto}.contact-page .badge{display:inline-flex;align-items:center;gap:7px;background:#eff6ff;border:1px solid #dbeafe;color:#035ab0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:24px}html.dark .contact-page .badge{background:#046bd226;border-color:#046bd24d;color:var(--blue-light)}.contact-page .badge:before{content:"";width:6px;height:6px;background:var(--color-accent);border-radius:50%}.contact-page .hero h1{font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:800;color:var(--text-dark);line-height:1.1;letter-spacing:-.03em;margin-bottom:18px}html.dark .contact-page .hero h1{color:var(--white)}.contact-page .hero h1 .blue{color:var(--blue)}html.dark .contact-page .hero h1 .blue{color:var(--blue-light)}.contact-page .hero p{font-size:1.05rem;color:var(--gray-600);max-width:560px;margin:0 auto;line-height:1.7}html.dark .contact-page .hero p{color:#ffffffb3}.contact-page .hero p a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}html.dark .contact-page .hero p a{color:var(--blue-light)}.contact-page .book{padding:0 24px 80px;background:var(--white);scroll-margin-top:1rem}html.dark .contact-page .book{background:var(--navy)}.contact-page .book-panel{max-width:1100px;margin:0 auto;background:var(--white);border:1px solid var(--gray-200);border-top:4px solid var(--color-accent);border-radius:20px;padding:36px 32px;box-shadow:var(--shadow)}html.dark .contact-page .book-panel{background:var(--color-slate-950);border-color:#ffffff1a;border-top-color:var(--color-accent);box-shadow:0 20px 50px -25px #00000080}.contact-page .book-head{text-align:center;margin-bottom:28px}.contact-page .book-head h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--text-dark);letter-spacing:-.02em;margin-bottom:8px}html.dark .contact-page .book-head h2{color:var(--white)}.contact-page .book-head p{color:var(--gray-600);font-size:1rem}html.dark .contact-page .book-head p{color:#e6e1d7b3}.contact-page .book-options{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:900px){.contact-page .book-options{grid-template-columns:1.35fr 1fr 1fr}}.contact-page .book-option{display:flex;flex-direction:column;align-items:flex-start;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:16px;padding:24px}html.dark .contact-page .book-option{background:var(--color-slate-900);border-color:#ffffff1a}.contact-page .book-option--wa{background:#15803d0f;border:2px solid rgba(21,128,61,.35);padding:28px}html.dark .contact-page .book-option--wa{background:#22c55e14;border-color:#4ade8059}.contact-page .book-icon{width:44px;height:44px;border-radius:12px;margin-bottom:14px;display:inline-flex;align-items:center;justify-content:center;background:#046bd21a;color:var(--blue)}.contact-page .book-icon svg{width:22px;height:22px}html.dark .contact-page .book-icon{background:#60a5fa26;color:var(--blue-light)}.contact-page .book-icon--wa,html.dark .contact-page .book-icon--wa{background:var(--wa);color:var(--white)}.contact-page .book-option h3{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin-bottom:6px}.contact-page .book-option--wa h3{font-size:1.3rem}html.dark .contact-page .book-option h3{color:var(--white)}.contact-page .book-option p,.contact-page .book-hours{font-size:.9rem;color:var(--gray-600);line-height:1.6;margin-bottom:18px}html.dark .contact-page .book-option p,html.dark .contact-page .book-hours{color:#e6e1d7b3}.contact-page .book-option>a{margin-top:auto}.contact-page .btn-wa,.contact-page .btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:var(--radius);font-size:1rem;font-weight:700;text-align:center;transition:background .2s,border-color .2s,color .2s}.contact-page .nw{white-space:nowrap}.contact-page .btn-wa{width:100%;background:var(--wa);color:var(--white);box-shadow:0 8px 18px -10px #15803dcc}.contact-page .btn-wa:hover{background:var(--wa-dark)}.contact-page .btn-wa--lg{min-height:56px;font-size:1.05rem;margin-bottom:24px;position:relative}.contact-page .btn-outline{width:100%;border:1.5px solid rgba(4,107,210,.45);color:var(--blue);background:var(--white)}.contact-page .btn-outline:hover{border-color:var(--blue);background:#046bd20d}html.dark .contact-page .btn-outline{background:transparent;color:var(--blue-light);border-color:#60a5fa73}html.dark .contact-page .btn-outline:hover{border-color:var(--blue-light);background:#60a5fa1a;color:var(--white)}.contact-page .btn-wa:focus-visible,.contact-page .btn-outline:focus-visible,.contact-page .submit-btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}html.dark .contact-page .btn-wa:focus-visible,html.dark .contact-page .btn-outline:focus-visible,html.dark .contact-page .submit-btn:focus-visible{outline-color:var(--blue-light)}.contact-page .section{padding:80px 24px}.contact-page .section.alt{background:var(--gray-50)}html.dark .contact-page .section{background:var(--color-slate-950)}html.dark .contact-page .section.alt{background:var(--color-slate-900)}.contact-page .container{max-width:1200px;margin:0 auto}.contact-page .text-center{text-align:center}.contact-page .text-center .section-sub{margin-left:auto;margin-right:auto}.contact-page .section-label{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}.contact-page .section-label:before{content:"";width:6px;height:6px;background:var(--color-accent);border-radius:50%}html.dark .contact-page .section-label{color:var(--blue-light)}.contact-page .section-title{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:16px;color:var(--text-dark)}html.dark .contact-page .section-title{color:var(--white)}.contact-page .section-title .blue{color:var(--blue)}html.dark .contact-page .section-title .blue{color:var(--blue-light)}.contact-page .section-sub{font-size:1rem;color:var(--gray-600);max-width:580px;line-height:1.7;margin-bottom:48px}html.dark .contact-page .section-sub{color:#e6e1d7a6}.contact-page .quote-head .section-sub{margin-bottom:40px}.contact-page .contact-grid{display:grid;grid-template-columns:1fr 1.4fr;grid-template-rows:auto 1fr;grid-template-areas:"reach form" "office form";gap:24px 48px;align-items:start}.contact-page .reach{grid-area:reach}.contact-page .office{grid-area:office}.contact-page .form-box{grid-area:form}.contact-page .sidebar-box{background:var(--navy);border-radius:20px;padding:32px 28px;position:relative;overflow:hidden}html.dark .contact-page .sidebar-box{background:var(--navy-mid)}.contact-page .sidebar-box:before{content:"";position:absolute;top:-50px;right:-50px;width:180px;height:180px;background:radial-gradient(circle,rgba(4,107,210,.2) 0%,transparent 70%);pointer-events:none}.contact-page .sidebar-box h3{font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:20px;position:relative}.contact-page .sidebar-info{display:flex;flex-direction:column;gap:18px;position:relative}.contact-page .info-row{display:flex;align-items:flex-start;gap:14px}.contact-page .info-row .info-icon{flex-shrink:0;width:40px;height:40px;background:#046bd226;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--blue-light)}.contact-page .info-row .info-icon svg{width:20px;height:20px}.contact-page .info-row .info-text{display:flex;flex-direction:column;gap:2px;min-width:0}.contact-page .info-row .info-text--full{flex:1}.contact-page .info-row .info-text .label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffff8c}.contact-page .info-row .info-text a,.contact-page .info-row .info-text>span:not(.label){font-size:.95rem;font-weight:500;color:#ffffffe6;transition:color .2s;overflow-wrap:anywhere}.contact-page .info-row .info-text a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:#ffffff4d;text-underline-offset:4px}.contact-page .info-row .info-text a:hover{color:var(--blue-light)}.contact-page .sidebar-hours{margin-top:4px}.contact-page .hours-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.88rem}.contact-page .hours-row:last-child{border-bottom:none}.contact-page .hours-row .day{color:#ffffffa6}.contact-page .hours-row .time{color:var(--white);font-weight:500}.contact-page .form-box{background:var(--white);border:1px solid var(--gray-200);border-radius:20px;padding:40px 36px;box-shadow:var(--shadow);transition:background-color .25s,border-color .25s,box-shadow .25s}html.dark .contact-page .form-box{background:var(--color-slate-950);border-color:#ffffff1a;box-shadow:0 20px 50px -25px #00000080}.contact-page .form-box h3{font-size:1.4rem;font-weight:800;color:var(--text-dark);margin-bottom:6px}html.dark .contact-page .form-box h3{color:var(--white)}.contact-page .form-box .form-sub{font-size:.9rem;color:var(--gray-600);margin-bottom:28px;line-height:1.6}html.dark .contact-page .form-box .form-sub{color:#e6e1d7b3}.contact-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-page .form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.contact-page .form-group label{font-size:.85rem;font-weight:600;color:var(--gray-800)}html.dark .contact-page .form-group label{color:#e6e1d7d9}.contact-page .form-group label .req{color:var(--blue)}html.dark .contact-page .form-group label .req{color:var(--blue-light)}.contact-page .form-group label .opt{font-weight:400;color:var(--gray-500)}html.dark .contact-page .form-group label .opt{color:var(--gray-400)}.contact-page .form-group input,.contact-page .form-group select,.contact-page .form-group textarea{width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;color:var(--text-dark);background:var(--white);outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s,color .2s;appearance:none}html.dark .contact-page .form-group input,html.dark .contact-page .form-group select,html.dark .contact-page .form-group textarea{background-color:var(--color-slate-900);border-color:#ffffff24;color:var(--color-slate-100)}.contact-page .form-group input:focus,.contact-page .form-group select:focus,.contact-page .form-group textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #046bd21f}html.dark .contact-page .form-group input:focus,html.dark .contact-page .form-group select:focus,html.dark .contact-page .form-group textarea:focus{border-color:var(--blue-light);box-shadow:0 0 0 3px #046bd240}.contact-page .form-group input::placeholder,.contact-page .form-group textarea::placeholder{color:var(--gray-500)}html.dark .contact-page .form-group input::placeholder,html.dark .contact-page .form-group textarea::placeholder{color:var(--gray-400)}.contact-page .form-group textarea{resize:vertical;min-height:130px}.contact-page .form-group .is-invalid,.contact-page .form-group .is-invalid:focus{border-color:#dc2626}.contact-page .form-group .is-invalid:focus{box-shadow:0 0 0 3px #dc262626}html.dark .contact-page .form-group .is-invalid,html.dark .contact-page .form-group .is-invalid:focus{border-color:#f87171}html.dark .contact-page .form-group .is-invalid:focus{box-shadow:0 0 0 3px #f8717140}.contact-page .field-error{margin:0;font-size:.85rem;font-weight:500;line-height:1.5;color:#b91c1c}html.dark .contact-page .field-error{color:#fca5a5}.contact-page .form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}.contact-page .submit-btn{width:100%;min-height:52px;padding:14px;border:none;border-radius:var(--radius);background:var(--blue);color:var(--white);box-shadow:0 6px 16px -8px #046bd2b3;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.contact-page .submit-btn:hover{background:var(--blue-dark);box-shadow:0 10px 20px -8px #046bd2b3}.contact-page .form-note{text-align:center;font-size:.8rem;color:var(--gray-500);margin-top:14px;line-height:1.5}html.dark .contact-page .form-note{color:#e6e1d78c}.contact-page .form-note a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}html.dark .contact-page .form-note a{color:var(--blue-light)}.contact-page .form-success{display:none;gap:12px;align-items:flex-start;text-align:left;background:#22c55e14;border:1.5px solid rgba(34,197,94,.3);border-radius:var(--radius);padding:18px 20px;margin-top:18px;font-size:.9rem;color:#15803d;line-height:1.6}html.dark .contact-page .form-success{color:#4ade80}.contact-page .form-success.show{display:flex}.contact-page .form-success .success-icon{flex-shrink:0;width:22px;height:22px;margin-top:1px}.contact-page .form-success .success-icon svg{width:100%;height:100%}.contact-page .form-success a{text-decoration:underline;text-underline-offset:3px;font-weight:600}.contact-page .map-address{color:var(--gray-600);font-size:1rem;margin-top:8px}html.dark .contact-page .map-address{color:#e6e1d7b3}.contact-page .map-tube{font-size:.95rem;color:var(--gray-600)}html.dark .contact-page .map-tube{color:#e6e1d7b3}.contact-page .map-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--blue);text-decoration:underline;text-underline-offset:4px}html.dark .contact-page .map-link{color:var(--blue-light)}.contact-page .faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.contact-page .faq-item{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;transition:background-color .25s,border-color .25s}html.dark .contact-page .faq-item{background:var(--color-slate-900);border-color:#ffffff1a}.contact-page .faq-q{width:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:20px 26px;font-size:.95rem;font-weight:600;color:var(--text-dark);text-align:left;gap:16px;font-family:inherit}html.dark .contact-page .faq-q{color:var(--white)}.contact-page .faq-q svg{flex-shrink:0;width:20px;height:20px;color:var(--blue);transition:transform .25s}html.dark .contact-page .faq-q svg{color:var(--blue-light)}.contact-page .faq-q.open svg{transform:rotate(45deg)}.contact-page .faq-a{padding:0 26px 20px;font-size:.92rem;color:var(--gray-600);line-height:1.7;display:none;text-align:left}html.dark .contact-page .faq-a{color:#e6e1d7bf}.contact-page .faq-a.open{display:block}.contact-page .faq-link{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}html.dark .contact-page .faq-link{color:var(--blue-light)}.contact-page .alt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;max-width:640px;margin:0 auto}.contact-page .alt-card{background:var(--white);border:1px solid var(--gray-200);border-radius:16px;padding:28px 24px;text-align:center;transition:border-color .25s,box-shadow .25s,background-color .25s}.contact-page .alt-card:hover{border-color:#046bd259;box-shadow:var(--shadow)}html.dark .contact-page .alt-card{background:var(--color-slate-950);border-color:#ffffff1a}html.dark .contact-page .alt-card:hover{border-color:#60a5fa66;box-shadow:0 10px 25px -10px #046bd259}.contact-page .alt-icon{width:44px;height:44px;border-radius:12px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:#046bd21a;color:var(--blue)}.contact-page .alt-icon svg{width:20px;height:20px}html.dark .contact-page .alt-icon{background:#60a5fa26;color:var(--blue-light)}.contact-page .alt-card h3{font-size:.95rem;font-weight:700;color:var(--text-dark);margin-bottom:8px}html.dark .contact-page .alt-card h3{color:var(--white)}.contact-page .alt-card p{font-size:.85rem;color:var(--gray-600);line-height:1.6;margin-bottom:10px}html.dark .contact-page .alt-card p{color:#e6e1d7a6}.contact-page .alt-card a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:.88rem;font-weight:600;color:var(--blue)}.contact-page .alt-card a .btn-icon{width:16px;height:16px}html.dark .contact-page .alt-card a{color:var(--blue-light)}@media(max-width:900px){.contact-page .contact-grid{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"reach" "form" "office"}}@media(max-width:640px){.contact-page .section{padding:56px 16px}.contact-page .hero{padding:100px 16px 32px}.contact-page .book{padding:0 16px 56px}.contact-page .book-panel{padding:28px 14px}.contact-page .book-option,.contact-page .book-option--wa{padding:20px 16px}.contact-page .btn-wa,.contact-page .btn-outline{padding:12px 14px;font-size:.95rem}.contact-page .form-box,.contact-page .sidebar-box{padding:28px 20px}.contact-page .form-row{grid-template-columns:1fr;gap:0}}@media print{.contact-page .book,.contact-page .hero{background:#fff}.contact-page .sidebar-box{background:#fff;border:1px solid #ccc}.contact-page .sidebar-box h3,.contact-page .info-row .info-text a,.contact-page .info-row .info-text>span:not(.label),.contact-page .hours-row .time{color:#000}.contact-page #contactForm{display:none}}
