:root{--logo-height:48px;--logo-height-small:34px;--footer-logo-height:56px}
.site-logo{height:var(--logo-height);display:inline-block;vertical-align:middle}
.site-logo-small{height:var(--logo-height-small);display:inline-block;vertical-align:middle}
.footer-logo{height:var(--footer-logo-height);display:inline-block;vertical-align:middle}
.brand-text{display:inline-block;margin-left:8px;color:var(--accent);font-weight:700;font-size:18px}
@media(max-width:900px){.brand-text{display:none}.site-logo{height:36px}.site-logo-small{height:28px}.footer-logo{height:44px}}

/* Exocad reseller badge */
.exocad-badge{height:84px;border-radius:10px;box-shadow:0 10px 30px rgba(2,6,23,0.45);transition:transform .28s,box-shadow .28s;display:inline-block;animation:badge-entrance 1.1s ease forwards}
.exocad-badge.glow{box-shadow:0 12px 40px rgba(6,178,255,0.22),0 4px 18px rgba(0,0,0,0.35);transform:translateY(-4px)}

@keyframes badge-entrance{0%{opacity:0;transform:translateY(18px) scale(0.95)}100%{opacity:1;transform:translateY(0) scale(1)}}

/* Contact quick buttons */
.contact-quick-buttons{display:flex;gap:12px;margin-top:18px}
.contact-quick-buttons a{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#00211a;font-weight:600;box-shadow:var(--shadow-sm)}
.hero-badge-row{display:flex;align-items:center;gap:12px;margin:18px 0 20px;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);box-shadow:0 18px 40px rgba(0,0,0,0.08)}
.hero-badge-row:hover .exocad-badge{transform:translateY(-4px) scale(1.03)}
.hero-badge-row span{color:var(--accent);font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.location-card blockquote{margin:0; padding:14px 18px; background:rgba(255,255,255,0.05); border-left:4px solid var(--accent); border-radius:12px; color:var(--text-main); line-height:1.6;}
.location-card h4{margin:0 0 8px; font-size:1rem; color:var(--text-main);}
.location-entry + hr{margin:18px 0; border:0; border-top:1px solid rgba(255,255,255,0.08);}
.contact-quick-buttons a.email{background:linear-gradient(90deg,#fff 0%,#e6f7ff 100%);color:#004a6b}
.contact-quick-buttons a.facebook{background:#1877f2;color:#fff}
   .contact-quick-buttons i{font-size:1.1rem}

   .appointments-section{padding-top:72px;padding-bottom:72px;background:linear-gradient(180deg,#081424 0%,#07121f 100%)}
   .appointments-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:28px;align-items:start}
   .appointment-card{padding:30px;min-height:470px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);box-shadow:0 24px 60px rgba(0,0,0,0.16);border-radius:28px}
   .appointment-card h3{margin-top:0;font-size:1.35rem;color:#dff9ff}
   .booking-location h4{margin:0 0 10px;font-size:1.05rem;color:#ffffff}
   .booking-location p{margin:0 0 16px;line-height:1.8;color:rgba(255,255,255,0.82)}
   .booking-location ul{padding-left:20px;margin:0;color:rgba(255,255,255,0.78);line-height:1.8}
   .booking-location ul li{margin-bottom:10px}
   .appointment-form-grid{grid-template-columns:1fr 1fr}
   .booking-confirmation{margin-top:18px;padding:16px 18px;border-radius:18px;background:rgba(0,255,200,0.08);border:1px solid rgba(0,255,200,0.14);color:#b8ffe8;display:none}

   @media(max-width:980px){.appointments-grid{grid-template-columns:1fr}}@media(max-width:700px){.contact-quick-buttons{flex-direction:column}.exocad-badge{height:64px}.appointments-section{padding-top:48px;padding-bottom:48px}.appointment-card{padding:22px;min-height:auto}.appointment-form-grid{grid-template-columns:1fr}}