/* Styles loaded only by the corporate home page. Shared styles and checkout stay intact. */
body.rebrand {
  --bg-base: #f4f1eb;
  --surface: #ede9e2;
  --surface-solid: #f4f1eb;
  --surface-hover: #e4e0d9;
  --text-primary: #202429;
  --text-secondary: #596067;
  --border: #ccc9c2;
  --accent: #087eb3;
  --accent-hover: #07638c;
  --font-title: Georgia, 'Times New Roman', serif;
  color: var(--text-primary);
  background: var(--bg-base);
}
body.rebrand .container { max-width: 1320px; padding-inline: clamp(20px, 5vw, 72px); }
body.rebrand section[id] { scroll-margin-top: 135px; }
body.rebrand .section-padding { padding: 80px 0; }
body.rebrand .section-title { font-size: clamp(32px, 3.8vw, 52px); font-weight: 400; letter-spacing: -.025em; }
body.rebrand .section-tag { font-family: 'Inter', sans-serif; font-size: 11px; letter-spacing: .16em; color: #07638c; }
body.rebrand .section-header { max-width: 750px; margin: 0 0 36px; text-align: left; }
body.rebrand .section-desc { font-size: 15px; line-height: 1.8; }
body.rebrand .card { border-radius: 2px; box-shadow: none; backdrop-filter: none; }
body.rebrand .card:hover { box-shadow: none; border-color: #8d979d; }
body.rebrand .btn { border-radius: 2px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 13px; padding: 14px 22px; }
body.rebrand .btn-primary { background: #202429; color: #fff; }
body.rebrand .btn-primary:hover:not(:disabled) { background: #07638c; box-shadow: none; transform: none; }
body.rebrand .btn-secondary { border-color: #969b9e; }
body.rebrand .btn-secondary:hover { background: #e5e1d9; transform: none; }
body.rebrand a:focus-visible, body.rebrand button:focus-visible, body.rebrand summary:focus-visible { outline: 3px solid #087eb3; outline-offset: 5px; }
body.rebrand .main-header, body.rebrand .main-header.scrolled {
  --text-primary: #f4f1eb; --text-secondary: #c8cdd0;
  background: #202429; padding: 0; box-shadow: none; backdrop-filter: none;
}
body.rebrand .nav-container { max-width: 1320px; padding: 12px clamp(20px, 5vw, 72px); gap: 28px; min-height: 112px; }
body.rebrand .logo-img, body.rebrand .main-header.scrolled .logo-img { width: 118px; height: 88px; object-fit: contain; border-radius: 0; }
body.rebrand .nav-list { gap: clamp(12px, 1.7vw, 26px); }
body.rebrand .nav-link { font-family: 'Inter', sans-serif; font-size: 12px; white-space: nowrap; }
body.rebrand .header-actions .btn-primary { background: #087eb3; }
body.rebrand .mobile-menu-overlay { --text-primary: #f4f1eb; --text-secondary: #c8cdd0; background: rgba(32,36,41,.97); }
body.rebrand .mobile-menu-content { background: #202429; width: min(340px, 100%); }
body.rebrand .mobile-nav-link { font-family: 'Inter', sans-serif; font-weight: 400; }
body.rebrand .mobile-nav-toggle, body.rebrand .mobile-menu-close { min-width: 44px; min-height: 44px; }
body.rebrand .hero-section { min-height: auto; padding: 170px 0 76px; display: block; }
body.rebrand .hero-container { display: grid; grid-template-columns: 1fr 1.1fr; gap: 4vw; align-items: center; }
body.rebrand .hero-content { max-width: none; }
body.rebrand .badge-futuristic { border: 0; border-radius: 0; padding: 0; margin-bottom: 22px; background: none; font-family: 'Inter',sans-serif; font-weight: 500; letter-spacing: .12em; color: #07638c; }
body.rebrand .hero-title { font-size: clamp(40px, 4.2vw, 62px); font-weight: 400; line-height: 1.08; letter-spacing: -.035em; }
body.rebrand .hero-subtitle { font-size: 16px; margin-bottom: 24px; }
body.rebrand .hero-actions { gap: 14px; }
body.rebrand .hero-signature { margin-top: 28px; color: #596067; font-size: 12px; }
body.rebrand .hero-original-description { margin-top: 16px; font-size: 13px; line-height: 1.8; color: #596067; }
body.rebrand .rebrand-hero-figure { margin: 0; min-width: 0; }
body.rebrand .rebrand-hero-figure img { display: block; width: 100%; height: 510px; object-fit: cover; }
body.rebrand .rebrand-hero-figure figcaption { font-size: 11px; padding-top: 10px; color: #596067; }
body.rebrand .service-overview { border-top: 1px solid var(--border); }
body.rebrand .specialty-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin-top: 36px; }
body.rebrand .specialty-grid article { border-top: 1px solid #a7adb0; padding-top: 22px; }
body.rebrand .specialty-number { font-size: 10px; letter-spacing: .12em; color: #07638c; }
body.rebrand .specialty-grid h3 { font-family: var(--font-title); font-size: 26px; font-weight: 400; line-height: 1.2; margin: 16px 0; }
body.rebrand .specialty-grid p { color: #596067; font-size: 14px; margin-bottom: 20px; }
body.rebrand .specialty-grid a, body.rebrand .video-fallback-link { color: #07638c; font-size: 13px; text-underline-offset: 5px; }
body.rebrand .portfolio-section {
  --bg-base: #202429; --surface: #252b30; --text-primary: #f4f1eb; --text-secondary: #c8cdd0; --border: #43494d;
  background: #202429; color: #f4f1eb;
}
body.rebrand .portfolio-section .section-tag, body.rebrand .portfolio-category { color: #83d4f3; }
body.rebrand .portfolio-tabs { justify-content: flex-start !important; }
body.rebrand .filter-btn { border-radius: 2px; color: #c8cdd0; font-family: 'Inter', sans-serif; }
body.rebrand .filter-btn.active { background: #087eb3; color: #fff; }
body.rebrand .portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
body.rebrand .portfolio-img-wrapper { aspect-ratio: 3/2; border-radius: 0; }
body.rebrand .portfolio-title { font-family: var(--font-title); font-weight: 400; font-size: 24px; }
body.rebrand .portfolio-body { padding: 22px; }
body.rebrand .portfolio-description { font-size: 13px; }
body.rebrand .portfolio-badge { color: #83d4f3; background: transparent; border-radius: 0; }
body.rebrand .recorridos-section { background: #e8e4dd; }
body.rebrand .videos-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
body.rebrand .video-thumbnail-card { background: transparent; border: 0; border-top: 1px solid #a7adb0; padding-top: 20px; }
body.rebrand .video-card-body { padding: 22px 0 0; }
body.rebrand .video-card-title { font-family: var(--font-title); font-size: 26px; font-weight: 400; }
body.rebrand .video-card-desc { margin: 12px 0; }
body.rebrand .video-fallback-link { display: inline-block; padding: 10px 0; }
body.rebrand .video-img-container, body.rebrand .video-player-container { border-radius: 0; }
body.rebrand .servicios-section .servicios-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
body.rebrand .servicios-section .card { background: transparent; }
body.rebrand .servicios-section .servicios-grid li { flex-wrap: wrap; }
body.rebrand .servicios-section .servicios-grid h3 { font-weight: 400; }
body.rebrand .contacto-icon-wrapper { background: transparent; border-radius: 0; }
body.rebrand .sobre-mi-section { border-top: 1px solid var(--border); }
body.rebrand .sobre-mi-grid { grid-template-columns: 210px minmax(0,1fr); align-items: start; gap: 50px; }
body.rebrand .sobre-mi-visual { display: block; }
body.rebrand .sobre-mi-card { width: 180px; max-width: 100%; height: auto; padding: 0; background: transparent; border: 0; overflow: visible; box-shadow: none; }
body.rebrand .sobre-mi-card::before, body.rebrand .sobre-mi-card::after { display: none; }
body.rebrand .sobre-mi-photo { display: block; width: 180px; max-width: 100%; height: 220px; object-fit: cover; object-position: top; border-radius: 2px; filter: none; border: 0; box-shadow: none; }
body.rebrand .visual-badge { position: static; margin-top: 18px; background: transparent; border: 0; padding: 0; box-shadow: none; backdrop-filter: none; }
body.rebrand .badge-number { font-size: 28px; color: #07638c; }
body.rebrand .badge-text { color: #596067; }
body.rebrand .trayectoria-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
body.rebrand .point-card { background: transparent; border: 0; border-top: 1px solid #a7adb0; padding: 20px 0; border-radius: 0; }
body.rebrand .point-card:hover { transform: none; background: transparent; }
body.rebrand .point-header { align-items: start; }
body.rebrand .point-header h4 { font-weight: 500; font-size: 15px; }
body.rebrand .sobre-mi-conclusion { background: transparent; border-left: 0; border-top: 1px solid #ccc9c2; padding: 24px 0 0; font-style: normal; }
body.rebrand .form-control { background: #faf8f4; border-color: #969b9e; border-radius: 2px; color: #202429; }
body.rebrand .contacto-form-panel { background: #ede9e2; }
body.rebrand .form-success-overlay { background: #ede9e2; }
body.rebrand .ecosystem-note { border-top: 1px solid var(--border); padding: 34px 0; }
body.rebrand .ecosystem-summary { display: flex; gap: 28px; align-items: center; justify-content: space-between; }
body.rebrand .ecosystem-summary h2 { font-family: var(--font-title); font-weight: 400; font-size: 24px; }
body.rebrand .ecosystem-summary p { font-size: 13px; color: #596067; max-width: 660px; }
body.rebrand .ecosystem-summary a { font-size: 13px; color: #07638c; flex-shrink: 0; }
body.rebrand .ecosystem-details { margin-top: 16px; }
body.rebrand .ecosystem-details summary { cursor: pointer; padding: 12px 0; font-size: 13px; color: #596067; }
body.rebrand .ecosystem-details > .container { padding: 24px 0; }
body.rebrand .ecosystem-details .hero-bg-grid { display: none; }
body.rebrand .ecosystem-details .card { background: #ede9e2 !important; }
body.rebrand .main-footer {
  --text-primary: #f4f1eb; --text-secondary: #c8cdd0; --border: #43494d;
  background: #202429; color: #f4f1eb; padding-top: 50px;
}
body.rebrand .footer-links a, body.rebrand .footer-services a { font-size: 13px; }
body.rebrand .lightbox-modal { --text-primary: #f4f1eb; --text-secondary: #c8cdd0; }
@media (max-width: 1100px) {
  body.rebrand .main-nav { display: none; }
  body.rebrand .mobile-nav-toggle { display: flex; align-items: center; justify-content: center; }
  body.rebrand .trayectoria-points { grid-template-columns: 1fr; gap: 8px; }
}
@media (max-width: 760px) {
  body.rebrand section[id] { scroll-margin-top: 105px; }
  body.rebrand .section-padding { padding: 48px 0; }
  body.rebrand .nav-container { min-height: 94px; padding: 10px 20px; gap: 14px; }
  body.rebrand .logo-img, body.rebrand .main-header.scrolled .logo-img { width: 92px; height: 69px; }
  body.rebrand .header-actions { gap: 10px; }
  body.rebrand .header-actions .btn { font-size: 11px; padding: 12px; }
  body.rebrand .hero-section { padding: 130px 0 48px; }
  body.rebrand .hero-container { grid-template-columns: 1fr; gap: 32px; }
  body.rebrand .hero-title { font-size: clamp(36px, 9vw, 52px); }
  body.rebrand .rebrand-hero-figure img { height: 300px; }
  body.rebrand .specialty-grid, body.rebrand .portfolio-grid, body.rebrand .videos-grid,
  body.rebrand .servicios-section .servicios-grid, body.rebrand .sobre-mi-grid { grid-template-columns: 1fr !important; }
  body.rebrand .sobre-mi-grid { gap: 28px; }
  body.rebrand .sobre-mi-card { width: 140px; }
  body.rebrand .sobre-mi-photo { width: 140px; height: 170px; }
  body.rebrand .portfolio-tabs { gap: 10px !important; }
  body.rebrand .ecosystem-summary { flex-direction: column; align-items: start; gap: 16px; }
  body.rebrand .domotica-teaser-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  body.rebrand .servicios-section .card { padding: 22px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.rebrand *, body.rebrand *::before, body.rebrand *::after { scroll-behavior: auto; transition: none !important; animation: none !important; }
}
