:root{--contact-gold:#c9a34a;--contact-gold-dark:#a78131;--contact-black:#0c0c0d;--contact-charcoal:#171719;--contact-gray:#6e6e73;--contact-light:#f7f7f5;--contact-border:#e2e2de;--contact-white:#ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth}.contact-header{position:relative;z-index:50;min-height:104px;background:var(--contact-black)}.contact-header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-logo{display:flex;align-items:center;flex:0 0 auto;height:78px;overflow:visible}.contact-logo img{display:block;width:auto;max-width:230px;height:74px;object-fit:contain;object-position:center}.contact-nav{display:flex;align-items:center;gap:20px}.contact-nav a{color:#ffffff;text-decoration:none;font-size:14px;transition:color .2s ease}.contact-nav a:hover,.contact-nav a.active{color:var(--contact-gold)}.contact-header-button,.primary-action,.submit-quote-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid var(--contact-gold);border-radius:8px;background:var(--contact-gold);color:#ffffff;text-decoration:none;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease}.contact-header-button:hover,.primary-action:hover,.submit-quote-button:hover{background:var(--contact-gold-dark);transform:translateY(-1px)}.contact-hero{padding:82px 0 72px;background:linear-gradient(90deg,rgba(5,5,6,.94),rgba(5,5,6,.74)),url("../images/home/corporate.jpg") center/cover no-repeat;color:#ffffff}.contact-hero-inner{max-width:850px;margin:0 auto;text-align:center}.contact-eyebrow{display:inline-block;margin-bottom:12px;color:var(--contact-gold);font-size:13px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.contact-hero h1{margin:0 0 16px;font-size:clamp(40px,6vw,68px);line-height:1.04;color:#ffffff}.contact-hero p{max-width:700px;margin:0 auto 26px;color:rgba(255,255,255,.82);font-size:18px}.contact-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid rgba(255,255,255,.45);border-radius:8px;color:#ffffff;text-decoration:none;font-weight:700}.contact-details{padding:34px 0;background:#ffffff}.contact-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.contact-card{min-height:180px;padding:24px;border:1px solid var(--contact-border);border-radius:15px;background:#ffffff;box-shadow:0 12px 30px rgba(0,0,0,.035)}.contact-card-label{display:block;margin-bottom:16px;color:var(--contact-black);font-size:22px;font-weight:800}.contact-card a,.contact-card p,.contact-card>span:not(.contact-card-label){display:block;margin:0 0 7px;color:var(--contact-gray);text-decoration:none;line-height:1.55}.contact-card strong{color:var(--contact-black)}.quote-section{padding:62px 0;background:var(--contact-light)}.quote-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:34px;align-items:start}.quote-intro{position:sticky;top:24px;padding:30px;border-radius:18px;background:var(--contact-black);color:#ffffff}.quote-intro h2{margin:0 0 14px;color:#ffffff;font-size:36px;line-height:1.13}.quote-intro p{color:rgba(255,255,255,.72)}.quote-feature-list{display:grid;gap:10px;margin-top:24px}.quote-feature-list span{position:relative;padding-left:22px;color:rgba(255,255,255,.9);font-size:14px}.quote-feature-list span::before{content:"✓";position:absolute;left:0;color:var(--contact-gold);font-weight:800}.booking-form,.booking-summary{padding:30px;border:1px solid var(--contact-border);border-radius:18px;background:#ffffff;box-shadow:0 18px 50px rgba(0,0,0,.05)}.form-section-heading{display:flex;align-items:center;gap:13px;margin:8px 0 18px;padding-top:22px;border-top:1px solid var(--contact-border)}.form-section-heading:first-child{padding-top:0;border-top:0}.form-section-heading>span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--contact-black);color:var(--contact-gold);font-weight:800}.form-section-heading h3{margin:0;font-size:20px}.form-section-heading p{margin:2px 0 0;color:var(--contact-gray);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:22px}.form-grid-three{grid-template-columns:repeat(3,1fr)}.form-grid-full{grid-column:1 / -1}.booking-form label>span,.special-request>span{display:block;margin-bottom:7px;color:var(--contact-black);font-size:13px;font-weight:700}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-height:48px;padding:12px 13px;border:1px solid #cacac5;border-radius:8px;background:#ffffff;color:var(--contact-black);font:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.booking-form textarea{min-height:120px;resize:vertical}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--contact-gold);box-shadow:0 0 0 3px rgba(201,163,74,.15)}.booking-form .field-error{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.1)}.special-request{display:block;margin-bottom:18px}.consent-row{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin-bottom:18px}.consent-row input{width:18px;min-height:auto;height:18px;margin-top:2px}.consent-row span{margin:0 !important;color:var(--contact-gray) !important;font-weight:500 !important}.form-status{min-height:24px;margin-bottom:10px;font-size:14px;font-weight:700}.form-status.error{color:#b42318}.form-status.success{color:#177245}.submit-quote-button{width:100%;min-height:54px;border:0;font-size:16px}.form-note{margin:13px 0 0;color:var(--contact-gray);font-size:12px;text-align:center}.booking-summary[hidden]{display:none}.booking-summary{grid-column:2}.summary-badge{display:inline-block;padding:7px 10px;border-radius:999px;background:#f2ead7;color:#7f5e1c;font-size:12px;font-weight:800;text-transform:uppercase}.booking-summary h2{margin:18px 0 10px}.reference-box{margin:22px 0;padding:18px;border-radius:12px;background:var(--contact-black);color:#ffffff}.reference-box span{display:block;color:rgba(255,255,255,.65);font-size:12px;text-transform:uppercase}.reference-box strong{display:block;margin-top:5px;color:var(--contact-gold);font-size:24px}.summary-details{margin:0}.summary-details>div{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--contact-border)}.summary-details dt{color:var(--contact-gray);font-weight:700}.summary-details dd{margin:0;color:var(--contact-black)}.summary-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.summary-actions button{min-height:45px;padding:11px 16px;border:1px solid var(--contact-gold);border-radius:8px;background:var(--contact-gold);color:#ffffff;font-weight:700;cursor:pointer}.summary-actions .summary-secondary{background:#ffffff;color:var(--contact-black);border-color:var(--contact-border)}.service-area-section{padding:58px 0}.section-heading-centered{max-width:700px;margin:0 auto 24px;text-align:center}.section-heading-centered h2{margin:0 0 8px;font-size:36px}.service-area-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.service-area-grid span{padding:15px 10px;border:1px solid var(--contact-border);border-radius:10px;background:#ffffff;text-align:center;font-weight:700}.contact-map-section{padding:0 0 58px}.contact-map-section iframe{width:100%;height:400px;border:0;border-radius:16px}.contact-footer{padding:42px 0;background:#ffffff;border-top:1px solid var(--contact-border)}.contact-footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr;gap:28px}.contact-footer-logo{display:block;width:220px;max-width:100%;height:auto;margin-bottom:14px}.contact-footer h3{margin:0 0 10px;font-size:16px}.contact-footer a{display:block;margin-bottom:6px;color:var(--contact-gray);text-decoration:none}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:80;padding:13px 17px;border-radius:999px;background:#111;color:#ffffff;text-decoration:none;font-weight:800;box-shadow:0 12px 32px rgba(0,0,0,.22)}@media (max-width:1050px){.contact-nav{display:none}.contact-card-grid{grid-template-columns:repeat(2,1fr)}.quote-layout{grid-template-columns:1fr}.quote-intro{position:static}.booking-summary{grid-column:1}.service-area-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:760px){.contact-header{min-height:88px}.contact-header-inner{min-height:88px}.contact-logo{height:66px}.contact-logo img{height:62px;max-width:190px}.contact-header-button{display:none}.contact-hero{padding:64px 0 56px}.contact-card-grid,.form-grid,.form-grid-three,.contact-footer-grid{grid-template-columns:1fr}.form-grid-full{grid-column:auto}.booking-form,.booking-summary,.quote-intro{padding:22px}.service-area-grid{grid-template-columns:repeat(2,1fr)}.summary-details>div{grid-template-columns:1fr;gap:4px}}body{overflow-x:hidden}.contact-hero{position:relative;isolation:isolate;overflow:hidden}.contact-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 20% 20%,rgba(201,163,74,.18),transparent 35%),radial-gradient(circle at 85% 75%,rgba(201,163,74,.12),transparent 32%);animation:heroGlow 8s ease-in-out infinite alternate}@keyframes heroGlow{from{transform:scale(1);opacity:.75}to{transform:scale(1.08);opacity:1}}.contact-card,.booking-form,.booking-summary,.service-area-grid span,.review-card,.faq-item{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.contact-card:hover,.service-area-grid span:hover,.review-card:hover{transform:translateY(-5px);border-color:rgba(201,163,74,.55);box-shadow:0 18px 40px rgba(0,0,0,.08)}.business-hours-section,.reviews-section,.faq-section,.contact-cta-section{padding:58px 0}.business-hours-section{background:#ffffff}.business-hours-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:center;padding:34px;border-radius:18px;background:#111}.business-hours-panel h2,.business-hours-panel p{color:#ffffff}.business-hours-panel h2{margin:0 0 10px;font-size:36px}.business-hours-panel p{color:rgba(255,255,255,.72)}.hours-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.hours-grid div{padding:19px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.06)}.hours-grid span,.hours-grid strong{display:block}.hours-grid span{margin-bottom:6px;color:rgba(255,255,255,.66);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.hours-grid strong{color:#ffffff;font-size:15px}.reviews-section{background:var(--contact-light)}.review-slider{position:relative;min-height:245px;max-width:820px;margin:0 auto}.review-card{display:none;padding:34px;border:1px solid var(--contact-border);border-radius:18px;background:#ffffff;text-align:center;box-shadow:0 16px 45px rgba(0,0,0,.05)}.review-card.active{display:block;animation:reviewFade .35s ease}@keyframes reviewFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.review-stars{margin-bottom:14px;color:var(--contact-gold);font-size:23px;letter-spacing:.14em}.review-card p{margin:0 auto 18px;max-width:670px;font-size:20px;line-height:1.55;color:#2a2a2d}.review-card strong{color:var(--contact-gray);font-size:14px}.review-controls{display:flex;justify-content:center;gap:10px;margin-top:18px}.review-controls button{width:44px;height:44px;border:1px solid var(--contact-border);border-radius:50%;background:#ffffff;color:#111;font-size:18px;cursor:pointer}.review-controls button:hover{border-color:var(--contact-gold);color:var(--contact-gold-dark)}.faq-section{background:#ffffff}.faq-list{max-width:900px;margin:0 auto}.faq-item{margin-bottom:12px;border:1px solid var(--contact-border);border-radius:12px;background:#ffffff;overflow:hidden}.faq-item[open]{border-color:rgba(201,163,74,.65);box-shadow:0 12px 30px rgba(0,0,0,.045)}.faq-item summary{position:relative;padding:19px 52px 19px 20px;color:var(--contact-black);font-weight:800;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--contact-gold);font-size:24px}.faq-item[open] summary::after{content:"−"}.faq-item p{margin:0;padding:0 20px 20px;color:var(--contact-gray)}.contact-cta-panel{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:34px;border-radius:18px;background:linear-gradient(115deg,rgba(12,12,13,.96),rgba(25,25,27,.92)),url("../images/home/corporate.jpg") center/cover no-repeat}.contact-cta-panel h2,.contact-cta-panel p{color:#ffffff}.contact-cta-panel h2{margin:0 0 8px;font-size:36px}.contact-cta-actions{display:flex;flex-wrap:wrap;gap:11px}.floating-whatsapp{display:inline-flex;align-items:center;gap:9px;background:#111}.floating-whatsapp img{width:26px;height:26px;object-fit:cover;border-radius:50%}.reveal-section{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal-section.is-visible{opacity:1;transform:translateY(0)}.booking-form.is-submitting{pointer-events:none;opacity:.72}.submit-quote-button.is-loading::after{content:"";width:18px;height:18px;margin-left:10px;border:2px solid rgba(255,255,255,.45);border-top-color:#ffffff;border-radius:50%;animation:buttonSpin .7s linear infinite}@keyframes buttonSpin{to{transform:rotate(360deg)}}@media (max-width:900px){.business-hours-panel{grid-template-columns:1fr}.contact-cta-panel{flex-direction:column;text-align:center}}@media (max-width:700px){.hours-grid{grid-template-columns:1fr}.review-card{padding:24px}.review-card p{font-size:17px}.floating-whatsapp span{display:none}.floating-whatsapp{width:54px;height:54px;padding:0;justify-content:center}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important}.reveal-section{opacity:1;transform:none}}section{scroll-margin-top:88px}.honeypot-field{position:absolute!important;left:-9999px!important;opacity:0!important}.header.contact-header{position:sticky!important;top:0;left:0;width:100%;z-index:9999;box-shadow:0 3px 18px rgba(0,0,0,.08)}.header.contact-header.sticky{box-shadow:0 10px 30px rgba(0,0,0,.14)}
