Preview de mixed.css
/* MIXED CSS PACK */
/* Template: abogadorodriguezcastroyasociados.com.ar/index.html */
/* Template mtime: 2026-04-02 17:04:35 */
/* external link (no embedded): https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap */
/* external link (no embedded): https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css */
/* external link (no embedded): https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css */
/* ===== INLINE <style> BLOCK #1 ===== */
:root {
--font-display: 'Cormorant Garamond', Georgia, serif;
--font-body: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
--brand: #7a2b2f;
--brand-light: #93363a;
--brand-dark: #652125;
--accent: #c9a467;
--accent-light: #d4b57e;
--accent-dark: #a88446;
--dark: #0d1117;
--dark-soft: #161b22;
--muted: #8b949e;
--light: #f0f3f6;
--lighter: #f8fafc;
--white: #ffffff;
--gold-gradient: linear-gradient(135deg, #d4af37 0%, #c9a467 25%, #f4d03f 50%, #c9a467 75%, #a88446 100%);
--brand-gradient: linear-gradient(135deg, #5c1d21 0%, #8d3236 48%, #74272b 100%);
--shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
--shadow-md: 0 8px 30px rgba(0,0,0,0.12);
--shadow-lg: 0 20px 60px rgba(0,0,0,0.15);
--shadow-gold: 0 10px 40px rgba(201, 164, 103, 0.25);
--shadow-brand: 0 10px 40px rgba(122, 43, 47, 0.22);
--radius: 16px;
--radius-lg: 24px;
--radius-xl: 32px;
--ease-smooth: cubic-bezier(0.25, 0.8, 0.25, 1);
--ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
--ease-expo: cubic-bezier(0.19, 1, 0.22, 1);
}
*, *::before, *::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: var(--font-body);
font-weight: 400;
color: #374151;
line-height: 1.7;
overflow-x: hidden;
background: var(--white);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* ========================================
TYPOGRAPHY SYSTEM
======================================== */
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
font-family: var(--font-display);
color: var(--dark);
font-weight: 600;
letter-spacing: -0.02em;
line-height: 1.15;
}
.display-4 { font-size: clamp(2.5rem, 5vw, 4rem); }
.display-5 { font-size: clamp(2rem, 4vw, 3rem); }
.display-6 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
.lead {
font-size: 1.15rem;
font-weight: 400;
line-height: 1.8;
color: var(--muted);
}
/* ========================================
NAVIGATION
======================================== */
.navbar {
padding: 1.25rem 0;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1030;
transition: all 0.5s var(--ease-smooth);
background: transparent;
}
.navbar.scrolled {
background: rgba(13, 17, 23, 0.97);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
padding: 0.75rem 0;
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}
.navbar .navbar-brand {
font-family: var(--font-body);
font-size: 0.95rem;
font-weight: 600;
color: var(--white);
display: flex;
align-items: center;
gap: 0.85rem;
text-decoration: none;
transition: all 0.3s var(--ease-smooth);
}
.navbar .navbar-brand:hover {
transform: translateX(3px);
}
.navbar .navbar-brand img {
height: 44px;
width: auto;
display: block;
object-fit: contain;
transition: all 0.3s var(--ease-smooth);
}
.navbar-dark .navbar-nav .nav-link {
font-family: var(--font-body);
font-weight: 500;
font-size: 0.9rem;
color: rgba(255, 255, 255, 0.85);
margin: 0 0.15rem;
padding: 0.6rem 1rem !important;
position: relative;
letter-spacing: 0.03em;
transition: all 0.3s var(--ease-smooth);
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
color: var(--white);
}
.navbar-dark .navbar-nav .nav-link::before {
content: '';
position: absolute;
bottom: 4px;
left: 1rem;
right: 1rem;
height: 2px;
background: var(--gold-gradient);
transform: scaleX(0);
transform-origin: right;
transition: transform 0.4s var(--ease-expo);
}
.navbar-dark .navbar-nav .nav-link:hover::before,
.navbar-dark .navbar-nav .nav-link.active::before {
transform: scaleX(1);
transform-origin: left;
}
.navbar-toggler {
border: none;
padding: 0.5rem;
position: relative;
width: 40px;
height: 40px;
}
.navbar-toggler:focus {
box-shadow: none;
}
.navbar-toggler-icon {
background-image: none !important;
position: relative;
width: 24px;
height: 2px;
background: var(--white);
display: block;
transition: all 0.3s var(--ease-smooth);
}
.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
content: '';
position: absolute;
left: 0;
width: 100%;
height: 2px;
background: var(--white);
transition: all 0.3s var(--ease-smooth);
}
.navbar-toggler-icon::before { top: -7px; }
.navbar-toggler-icon::after { bottom: -7px; }
/* ========================================
BUTTONS
======================================== */
.btn-brand {
font-family: var(--font-body);
font-weight: 600;
font-size: 0.9rem;
letter-spacing: 0.04em;
background: var(--gold-gradient);
background-size: 200% 200%;
color: var(--dark);
border: none;
border-radius: 50px;
padding: 1rem 2rem;
position: relative;
overflow: hidden;
transition: all 0.4s var(--ease-smooth);
box-shadow: var(--shadow-gold);
}
.btn-brand::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
transition: left 0.6s var(--ease-smooth);
}
.btn-brand:hover {
transform: translateY(-3px);
box-shadow: 0 15px 50px rgba(201, 164, 103, 0.4);
background-position: 100% 0;
color: var(--dark);
}
.btn-brand:hover::before {
left: 100%;
}
.btn-outline-elegant {
font-family: var(--font-body);
font-weight: 500;
font-size: 0.9rem;
letter-spacing: 0.04em;
background: transparent;
color: var(--white);
border: 1.5px solid rgba(255, 255, 255, 0.4);
border-radius: 50px;
padding: 1rem 2rem;
position: relative;
overflow: hidden;
transition: all 0.4s var(--ease-smooth);
}
.btn-outline-elegant:hover {
background: var(--white);
color: var(--dark);
border-color: var(--white);
transform: translateY(-3px);
box-shadow: 0 15px 40px rgba(255, 255, 255, 0.15);
}
/* ========================================
HERO SECTION
======================================== */
.hero {
min-height: 100vh;
display: flex;
align-items: center;
position: relative;
overflow: hidden;
color: var(--white);
background: var(--dark);
}
.hero::before {
content: '';
position: absolute;
inset: 0;
background:
linear-gradient(135deg, rgba(101, 33, 37, 0.58) 0%, rgba(58, 16, 20, 0.66) 100%),
url('img/hero.png') center/cover no-repeat;
z-index: 1;
}
.hero::after {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at 20% 50%, rgba(201, 164, 103, 0.08) 0%, transparent 50%),
radial-gradient(ellipse at 80% 20%, rgba(147, 54, 58, 0.26) 0%, transparent 40%);
z-index: 2;
pointer-events: none;
}
.hero-pattern {
position: absolute;
inset: 0;
z-index: 2;
opacity: 0.03;
background-image:
linear-gradient(rgba(201, 164, 103, 0.5) 1px, transparent 1px),
linear-gradient(90deg, rgba(201, 164, 103, 0.5) 1px, transparent 1px);
background-size: 60px 60px;
pointer-events: none;
}
.hero-content {
position: relative;
z-index: 10;
max-width: 950px;
}
.hero-overline {
display: inline-flex;
align-items: center;
gap: 1rem;
font-family: var(--font-body);
font-size: 0.85rem;
font-weight: 500;
letter-spacing: 0.25em;
text-transform: uppercase;
color: var(--accent);
margin-bottom: 2rem;
opacity: 0;
animation: fadeSlideUp 0.8s var(--ease-expo) 0.2s forwards;
}
.hero-overline::before,
.hero-overline::after {
content: '';
width: 40px;
height: 1px;
background: var(--accent);
}
.hero h1 {
color: var(--white);
margin-bottom: 1.5rem;
opacity: 0;
animation: fadeSlideUp 0.8s var(--ease-expo) 0.4s forwards;
}
.hero-accent-line {
width: 100px;
height: 3px;
background: var(--gold-gradient);
border-radius: 3px;
margin: 0 auto 2rem;
opacity: 0;
animation: fadeSlideUp 0.8s var(--ease-expo) 0.5s forwards;
}
.hero .lead {
color: rgba(255, 255, 255, 0.8);
font-size: 1.25rem;
max-width: 700px;
margin: 0 auto 2.5rem;
opacity: 0;
animation: fadeSlideUp 0.8s var(--ease-expo) 0.6s forwards;
}
.hero-info {
display: flex;
flex-wrap: wrap;
gap: 1rem;
justify-content: center;
margin-bottom: 3rem;
opacity: 0;
animation: fadeSlideUp 0.8s var(--ease-expo) 0.7s forwards;
}
.hero-pill {
display: flex;
align-items: center;
gap: 0.6rem;
padding: 0.85rem 1.5rem;
border-radius: 50px;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
color: rgba(255, 255, 255, 0.9);
font-size: 0.9rem;
font-weight: 500;
backdrop-filter: blur(10px);
transition: all 0.3s var(--ease-smooth);
}
.hero-pill:hover {
background: rgba(255, 255, 255, 0.1);
border-color: rgba(201, 164, 103, 0.3);
transform: translateY(-2px);
}
.hero-pill-icon {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--accent);
box-shadow: 0 0 10px var(--accent);
}
.hero-buttons {
display: flex;
justify-content: center;
gap: 1.25rem;
flex-wrap: wrap;
opacity: 0;
animation: fadeSlideUp 0.8s var(--ease-expo) 0.8s forwards;
}
.hero-scroll {
position: absolute;
bottom: 3rem;
left: 50%;
transform: translateX(-50%);
z-index: 10;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.75rem;
color: rgba(255, 255, 255, 0.5);
font-size: 0.75rem;
letter-spacing: 0.15em;
text-transform: uppercase;
text-decoration: none;
transition: color 0.3s var(--ease-smooth);
opacity: 0;
animation: fadeSlideUp 0.8s var(--ease-expo) 1s forwards;
}
.hero-scroll:hover {
color: var(--accent);
}
.hero-scroll-line {
width: 1px;
height: 50px;
background: linear-gradient(to bottom, var(--accent), transparent);
animation: scrollLine 2s var(--ease-smooth) infinite;
}
@keyframes scrollLine {
0%, 100% { transform: scaleY(1); opacity: 1; }
50% { transform: scaleY(0.5); opacity: 0.5; }
}
@keyframes fadeSlideUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* ========================================
SECTION STYLES
======================================== */
.section {
padding: 7rem 0;
position: relative;
}
.section-light {
background: var(--white);
}
.section-muted {
background: var(--lighter);
position: relative;
}
.section-muted::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(201, 164, 103, 0.3), transparent);
}
.section-dark {
background: var(--dark);
color: var(--white);
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: 0.75rem;
font-family: var(--font-body);
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--accent);
margin-bottom: 1rem;
}
.eyebrow::before {
content: '';
width: 30px;
height: 2px;
background: var(--accent);
}
.section-header {
margin-bottom: 4rem;
}
.section-header h2 {
margin-bottom: 1rem;
}
.title-accent {
width: 80px;
height: 3px;
background: var(--gold-gradient);
border-radius: 3px;
display: inline-block;
margin-bottom: 1.5rem;
}
.section-header .lead {
max-width: 800px;
margin: 0 auto;
}
/* ========================================
ICON BOXES (ESTUDIO SECTION)
======================================== */
.icon-box {
display: flex;
gap: 1.25rem;
align-items: flex-start;
padding: 1.75rem;
border-radius: var(--radius-lg);
background: var(--white);
border: 1px solid rgba(0, 0, 0, 0.04);
height: 100%;
position: relative;
overflow: hidden;
transition: all 0.5s var(--ease-smooth);
box-shadow: var(--shadow-sm);
}
.icon-box::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 3px;
background: var(--gold-gradient);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.5s var(--ease-expo);
}
.icon-box:hover {
transform: translateY(-8px);
box-shadow: var(--shadow-lg);
border-color: transparent;
}
.icon-box:hover::before {
transform: scaleX(1);
}
.icon-badge {
width: 60px;
height: 60px;
border-radius: var(--radius);
flex: 0 0 60px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, var(--brand) 0%, var(--brand-light) 100%);
color: var(--white);
font-weight: 700;
font-size: 1.1rem;
font-family: var(--font-display);
box-shadow: var(--shadow-brand);
transition: all 0.4s var(--ease-smooth);
}
.icon-box:hover .icon-badge {
transform: scale(1.05) rotate(-3deg);
box-shadow: 0 15px 40px rgba(122, 43, 47, 0.30);
}
.icon-box h3 {
font-family: var(--font-display);
font-size: 1.35rem;
font-weight: 600;
margin-bottom: 0.5rem;
color: var(--dark);
}
.icon-box p {
color: var(--muted);
margin: 0;
font-size: 0.95rem;
}
/* ========================================
SERVICE CARDS
======================================== */
.service-card {
background: var(--white);
border-radius: var(--radius-lg);
padding: 2rem;
height: 100%;
position: relative;
overflow: hidden;
border: 1px solid rgba(0, 0, 0, 0.04);
transition: all 0.5s var(--ease-smooth);
box-shadow: var(--shadow-sm);
}
.service-card::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 4px;
background: var(--gold-gradient);
transform: scaleX(0);
transition: transform 0.5s var(--ease-expo);
}
.service-card::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 100px;
height: 100px;
background: radial-gradient(circle, rgba(201, 164, 103, 0.1) 0%, transparent 70%);
opacity: 0;
transition: opacity 0.5s var(--ease-smooth);
}
.service-card:hover {
transform: translateY(-8px);
box-shadow: var(--shadow-lg);
border-color: transparent;
}
.service-card:hover::before {
transform: scaleX(1);
}
.service-card:hover::after {
opacity: 1;
}
.service-card h3 {
font-family: var(--font-display);
font-size: 1.4rem;
font-weight: 600;
margin-bottom: 1rem;
color: var(--dark);
position: relative;
}
.service-card p {
color: var(--muted);
margin: 0;
font-size: 0.95rem;
line-height: 1.75;
position: relative;
}
/* ========================================
ABOUT SECTION
======================================== */
.about-card {
background: var(--white);
border-radius: var(--radius-xl);
padding: 3rem;
box-shadow: var(--shadow-md);
position: relative;
overflow: hidden;
}
.about-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: var(--gold-gradient);
}
.about-accent {
width: 80px;
height: 3px;
background: var(--gold-gradient);
border-radius: 3px;
display: inline-block;
margin-bottom: 1.5rem;
}
.brand-pic {
max-width: 100%;
position: relative;
}
.brand-pic::before {
content: '';
position: absolute;
top: 20px;
left: 20px;
right: -20px;
bottom: -20px;
border: 2px solid var(--accent);
border-radius: var(--radius-xl);
z-index: 0;
}
.brand-image {
width: 100%;
height: auto;
display: block;
border-radius: var(--radius-xl);
box-shadow: var(--shadow-lg);
position: relative;
z-index: 1;
transition: transform 0.5s var(--ease-smooth);
}
.brand-pic:hover .brand-image {
transform: translate(-5px, -5px);
}
/* ========================================
CONTACT SECTION
======================================== */
.contact-form {
background: var(--white);
border-radius: var(--radius-xl);
padding: 2.5rem;
box-shadow: var(--shadow-md);
height: 100%;
}
.contact-info {
background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
border-radius: var(--radius-xl);
padding: 2.5rem;
height: 100%;
color: var(--white);
position: relative;
overflow: hidden;
}
.contact-info::before {
content: '';
position: absolute;
top: -50%;
right: -50%;
width: 100%;
height: 100%;
background: radial-gradient(circle, rgba(201, 164, 103, 0.15) 0%, transparent 60%);
pointer-events: none;
}
.contact-info::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 4px;
background: var(--gold-gradient);
}
.contact-info h3,
.contact-info h5,
.contact-info a,
.contact-info span,
.contact-info p {
color: var(--white);
position: relative;
}
.contact-info h3 {
font-family: var(--font-display);
font-size: 1.75rem;
margin-bottom: 2rem;
}
.contact-info h5 {
font-family: var(--font-body);
font-size: 0.9rem;
font-weight: 600;
letter-spacing: 0.05em;
color: var(--accent);
margin-bottom: 0.5rem;
}
.contact-info a:hover {
color: var(--accent);
}
.contact-list {
list-style: none;
padding: 0;
margin: 0;
}
.contact-list li {
margin-bottom: 1.75rem;
padding-bottom: 1.75rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.contact-list li:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}
.form-label {
font-family: var(--font-body);
font-size: 0.85rem;
font-weight: 600;
color: var(--dark);
margin-bottom: 0.5rem;
letter-spacing: 0.02em;
}
.form-control,
.form-select {
font-family: var(--font-body);
padding: 1rem 1.25rem;
border: 2px solid #e5e7eb;
border-radius: var(--radius);
font-size: 0.95rem;
transition: all 0.3s var(--ease-smooth);
background: var(--lighter);
}
.form-control:focus,
.form-select:focus {
border-color: var(--accent);
box-shadow: 0 0 0 4px rgba(201, 164, 103, 0.15);
background: var(--white);
}
textarea.form-control {
resize: vertical;
min-height: 140px;
}
/* ========================================
CTA SECTION
======================================== */
.footer-cta {
position: relative;
padding: 6rem 0;
text-align: center;
overflow: hidden;
background: var(--dark);
}
.footer-cta::before {
content: '';
position: absolute;
inset: 0;
background:
linear-gradient(135deg, rgba(101, 33, 37, 0.95) 0%, rgba(58, 16, 20, 0.98) 100%),
url('img/footer-cta.jpg') center/cover no-repeat;
}
.footer-cta::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at center, rgba(201, 164, 103, 0.08) 0%, transparent 60%);
}
.footer-cta > * {
position: relative;
z-index: 2;
}
.footer-cta h2 {
font-family: var(--font-display);
color: var(--white);
margin-bottom: 1rem;
}
.footer-cta p {
color: rgba(255, 255, 255, 0.7);
margin-bottom: 2rem;
font-size: 1.1rem;
}
/* ========================================
FOOTER
======================================== */
.site-footer {
background: var(--accent);
color: var(--dark);
padding: 5rem 0 2rem;
position: relative;
}
.site-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--brand), var(--brand-light), var(--brand));
}
.footer-brand {
display: flex;
align-items: center;
gap: 1rem;
text-decoration: none;
margin-bottom: 1.5rem;
transition: transform 0.3s var(--ease-smooth);
}
.footer-brand:hover {
transform: translateX(5px);
}
.footer-brand img {
height: 48px;
width: auto;
}
.footer-brand span {
font-family: var(--font-body);
font-size: 0.95rem;
font-weight: 700;
color: var(--dark);
line-height: 1.3;
}
.footer-head {
font-family: var(--font-display);
font-size: 1.25rem;
font-weight: 600;
color: var(--dark);
margin-bottom: 1.5rem;
}
.footer-nav,
.footer-list {
list-style: none;
padding: 0;
margin: 0;
}
.footer-nav li,
.footer-list li {
margin-bottom: 0.75rem;
}
.site-footer a {
color: var(--dark);
text-decoration: none;
font-weight: 500;
position: relative;
transition: color 0.3s var(--ease-smooth);
}
.site-footer a::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 0;
height: 1px;
background: var(--dark);
transition: width 0.3s var(--ease-smooth);
}
.site-footer a:hover::after {
width: 100%;
}
.footer-copy {
border-top: 1px solid rgba(0, 0, 0, 0.15);
padding-top: 2rem;
margin-top: 3rem;
}
.footer-copy .small {
font-size: 0.85rem;
opacity: 0.8;
}
/* ========================================
RESPONSIVE
======================================== */
@media (max-width: 991.98px) {
.navbar-collapse {
background: rgba(13, 17, 23, 0.98);
backdrop-filter: blur(20px);
padding: 1.5rem;
border-radius: var(--radius-lg);
margin-top: 1rem;
box-shadow: var(--shadow-lg);
border: 1px solid rgba(255, 255, 255, 0.05);
}
.hero {
min-height: 100vh;
text-align: center;
}
.hero-overline::before,
.hero-overline::after {
display: none;
}
.section {
padding: 5rem 0;
}
.about-card {
padding: 2rem;
}
.brand-pic::before {
display: none;
}
}
@media (max-width: 767.98px) {
.hero-buttons {
flex-direction: column;
width: 100%;
max-width: 320px;
margin: 0 auto;
}
.btn-brand,
.btn-outline-elegant {
width: 100%;
text-align: center;
}
.hero-info {
flex-direction: column;
align-items: center;
}
.hero-pill {
width: 100%;
max-width: 320px;
justify-content: center;
}
.contact-form,
.contact-info {
padding: 1.75rem;
}
.section {
padding: 4rem 0;
}
.section-header {
margin-bottom: 3rem;
}
}
@media (max-width: 575.98px) {
.display-4 { font-size: 2.25rem; }
.display-5 { font-size: 1.75rem; }
.display-6 { font-size: 1.5rem; }
.hero-scroll {
display: none;
}
.icon-box,
.service-card {
padding: 1.5rem;
}
}
/* ========================================
SMOOTH SCROLL ANIMATIONS
======================================== */
.animate-on-scroll {
opacity: 0;
transform: translateY(40px);
transition: all 0.8s var(--ease-expo);
}
.animate-on-scroll.animated {
opacity: 1;
transform: translateY(0);
}
.animate-delay-1 { transition-delay: 0.1s; }
.animate-delay-2 { transition-delay: 0.2s; }
.animate-delay-3 { transition-delay: 0.3s; }
.animate-delay-4 { transition-delay: 0.4s; }
.animate-delay-5 { transition-delay: 0.5s; }
.animate-delay-6 { transition-delay: 0.6s; }
/* ===== MOBILE/NAVBAR FIXES ===== */
html, body {
width: 100%;
max-width: 100%;
overflow-x: hidden;
}
body {
position: relative;
}
.navbar {
overflow: visible;
}
.navbar > .container {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
}
.navbar .navbar-brand {
min-width: 0;
flex: 1 1 auto;
margin-right: 0.5rem;
}
.navbar .navbar-brand span,
.navbar .navbar-brand small,
.navbar .navbar-brand strong {
min-width: 0;
}
.navbar-toggler {
flex: 0 0 auto;
margin-left: auto;
z-index: 3;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
background: transparent;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
top: 0;
transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
bottom: 0;
transform: rotate(-45deg);
}
.navbar-collapse {
min-width: 0;
}
.navbar-nav,
.navbar-nav .nav-item,
.navbar-nav .nav-link {
max-width: 100%;
}
.navbar-nav .nav-link {
overflow-wrap: anywhere;
}
@media (max-width: 991.98px) {
.navbar {
padding: 0.9rem 0;
}
.navbar > .container {
flex-wrap: wrap;
row-gap: 0.85rem;
}
.navbar .navbar-brand {
max-width: calc(100% - 56px);
gap: 0.65rem;
}
.navbar .navbar-brand img {
height: 38px;
}
.navbar .navbar-brand > span,
.navbar .navbar-brand > div {
min-width: 0;
display: block;
}
.navbar .navbar-brand * {
white-space: normal;
word-break: break-word;
}
.navbar-collapse {
flex-basis: 100%;
width: 100%;
margin-top: 0;
padding: 1rem;
overflow: hidden;
}
.navbar-collapse:not(.show) {
display: none !important;
}
.navbar-collapse.show {
display: block !important;
}
.navbar-nav {
align-items: stretch !important;
width: 100%;
gap: 0.2rem;
}
.navbar-nav .nav-item,
.navbar-nav .btn-brand {
width: 100%;
}
.navbar-nav .nav-link,
.navbar-nav .btn-brand {
display: block;
width: 100%;
text-align: left;
}
.navbar-nav .nav-link {
margin: 0;
padding: 0.85rem 0.95rem !important;
border-radius: 14px;
}
.navbar-nav .nav-link::before {
display: none;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.active {
background: rgba(255, 255, 255, 0.06);
}
.navbar-nav .btn-brand {
text-align: center;
margin-top: 0.35rem;
}
}
@media (max-width: 575.98px) {
.navbar > .container {
padding-left: 0.9rem;
padding-right: 0.9rem;
}
.navbar .navbar-brand {
max-width: calc(100% - 52px);
font-size: 0.82rem;
line-height: 1.2;
}
.navbar .navbar-brand img {
height: 34px;
}
.navbar-collapse {
border-radius: 18px;
}
}
/* ===== INLINE <style> BLOCK #2 ===== */
.service-card {
height: 100%;
padding: 32px 26px;
border-radius: 22px;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.08);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.service-card:hover {
transform: translateY(-6px);
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.10);
border-color: rgba(0, 0, 0, 0.12);
}
.service-icon {
width: 62px;
height: 62px;
border-radius: 18px;
display: inline-flex;
align-items: center;
justify-content: center;
margin-bottom: 18px;
background: linear-gradient(135deg, var(--accent, #c5a46d), rgba(197, 164, 109, 0.18));
color: #111;
box-shadow: 0 10px 24px rgba(197, 164, 109, 0.22);
}
.service-icon i {
font-size: 1.55rem;
line-height: 1;
}
.service-card h3 {
font-size: 1.28rem;
font-weight: 700;
margin-bottom: 14px;
color: #111;
}
.service-card p {
margin-bottom: 0;
color: #4b5563;
line-height: 1.7;
}
@media (max-width: 767.98px) {
.service-card {
padding: 24px 20px;
border-radius: 18px;
}
.service-icon {
width: 56px;
height: 56px;
border-radius: 16px;
margin-bottom: 16px;
}
.service-icon i {
font-size: 1.35rem;
}
.service-card h3 {
font-size: 1.15rem;
}
}
/* ===== INLINE <style> BLOCK #3 ===== */
.specialty-main-card {
position: relative;
background: linear-gradient(135deg, #ffffff 0%, #fcfaf7 100%);
border: 1px solid rgba(0, 0, 0, 0.07);
border-radius: 28px;
padding: 38px 34px;
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.07);
overflow: hidden;
}
.specialty-main-card::before {
content: "";
position: absolute;
inset: 0 auto 0 0;
width: 5px;
background: var(--gold-gradient);
}
.specialty-main-card::after {
content: "";
position: absolute;
top: -70px;
right: -70px;
width: 220px;
height: 220px;
border-radius: 50%;
background: radial-gradient(circle, rgba(201, 164, 103, 0.14) 0%, transparent 70%);
pointer-events: none;
}
.specialty-kicker {
display: inline-block;
margin-bottom: 14px;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--brand);
}
.specialty-main-card h3 {
font-size: 2rem;
line-height: 1.15;
margin-bottom: 18px;
color: var(--dark);
}
.specialty-main-card p {
color: #4b5563;
line-height: 1.85;
margin-bottom: 16px;
}
.specialty-highlight-list {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 24px;
}
.specialty-highlight {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 12px 16px;
border-radius: 999px;
background: rgba(122, 43, 47, 0.06);
border: 1px solid rgba(122, 43, 47, 0.10);
color: #1f2937;
font-size: 0.92rem;
font-weight: 600;
}
.specialty-highlight i {
color: var(--brand);
font-size: 1rem;
}
.specialty-card {
display: flex;
align-items: flex-start;
gap: 18px;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.07);
border-radius: 24px;
padding: 28px 24px;
box-shadow: 0 14px 36px rgba(0, 0, 0, 0.05);
transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.specialty-card:hover {
transform: translateY(-6px);
box-shadow: 0 18px 42px rgba(0, 0, 0, 0.08);
border-color: rgba(201, 164, 103, 0.35);
}
.specialty-icon {
width: 60px;
height: 60px;
min-width: 60px;
border-radius: 18px;
display: inline-flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, var(--accent) 0%, rgba(201, 164, 103, 0.18) 100%);
color: #111;
box-shadow: 0 10px 24px rgba(201, 164, 103, 0.20);
}
.specialty-icon i {
font-size: 1.4rem;
line-height: 1;
}
.specialty-card h3 {
font-size: 1.3rem;
margin-bottom: 10px;
color: var(--dark);
}
.specialty-card p {
margin-bottom: 0;
color: #4b5563;
line-height: 1.8;
}
.specialty-bottom-note {
margin-top: 30px;
padding: 22px 24px;
border-radius: 20px;
background: linear-gradient(135deg, rgba(122, 43, 47, 0.05) 0%, rgba(201, 164, 103, 0.10) 100%);
border: 1px solid rgba(201, 164, 103, 0.18);
text-align: center;
}
.specialty-bottom-note p {
color: #374151;
line-height: 1.8;
}
@media (max-width: 991.98px) {
.specialty-main-card {
padding: 30px 24px;
border-radius: 24px;
}
.specialty-main-card h3 {
font-size: 1.7rem;
}
}
@media (max-width: 767.98px) {
.specialty-main-card,
.specialty-card {
border-radius: 20px;
}
.specialty-main-card {
padding: 26px 20px;
}
.specialty-card {
padding: 22px 18px;
gap: 14px;
}
.specialty-icon {
width: 52px;
height: 52px;
min-width: 52px;
border-radius: 16px;
}
.specialty-icon i {
font-size: 1.2rem;
}
.specialty-main-card h3 {
font-size: 1.5rem;
}
.specialty-card h3 {
font-size: 1.12rem;
}
.specialty-highlight-list {
gap: 10px;
}
.specialty-highlight {
width: 100%;
justify-content: flex-start;
border-radius: 16px;
}
.specialty-bottom-note {
padding: 18px 16px;
border-radius: 18px;
}
}
/* ===== INLINE <style> BLOCK #4 ===== */
#nosotros .about-card {
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 24px;
padding: 34px 30px;
box-shadow: 0 18px 45px rgba(0, 0, 0, 0.06);
height: 100%;
}
#nosotros .about-accent {
display: block;
width: 84px;
height: 4px;
border-radius: 999px;
background: var(--accent, #c5a46d);
margin-bottom: 22px;
}
#nosotros .brand-pic {
position: relative;
width: 100%;
min-height: 520px;
border-radius: 28px;
overflow: hidden;
background: #f4f4f4;
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.10);
}
#nosotros .brand-slider {
isolation: isolate;
}
#nosotros .brand-slider .brand-image {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
visibility: hidden;
transition: opacity 1.2s ease, visibility 1.2s ease, transform 1.8s ease;
transform: scale(1.03);
}
#nosotros .brand-slider .brand-image.active {
opacity: 1;
visibility: visible;
z-index: 2;
transform: scale(1);
}
@media (max-width: 991.98px) {
#nosotros .brand-pic {
min-height: 430px;
}
}
@media (max-width: 767.98px) {
#nosotros .about-card {
padding: 26px 20px;
border-radius: 20px;
}
#nosotros .brand-pic {
min-height: 320px;
border-radius: 22px;
}
}
/* ===== INLINE <style> BLOCK #5 ===== */
.site-footer {
background: var(--accent);
color: var(--dark);
padding: 4.5rem 0 2rem;
position: relative;
}
.site-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--brand), var(--brand-light), var(--brand));
}
.footer-brand {
display: inline-flex;
align-items: center;
gap: 1rem;
text-decoration: none;
margin-bottom: 1.5rem;
}
.footer-brand img {
height: 48px;
width: auto;
display: block;
}
.footer-brand span {
font-family: var(--font-body);
font-size: 1rem;
font-weight: 700;
color: var(--dark);
line-height: 1.3;
}
.footer-head {
font-family: var(--font-display);
font-size: 1.35rem;
font-weight: 600;
color: var(--dark);
margin-bottom: 1.3rem;
}
.footer-text {
max-width: 330px;
font-size: 1rem;
line-height: 1.8;
color: rgba(17, 24, 39, 0.9);
}
.footer-nav,
.footer-list {
list-style: none;
padding: 0;
margin: 0;
}
.footer-nav li,
.footer-list li {
margin-bottom: 0.9rem;
}
.site-footer a {
color: var(--dark);
text-decoration: none;
font-weight: 500;
transition: opacity .25s ease;
}
.site-footer a:hover {
opacity: .8;
}
.site-footer a::after {
display: none;
}
.footer-contact-card {
background: rgba(255, 255, 255, 0.22);
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 24px;
padding: 1.25rem;
box-shadow: 0 14px 40px rgba(0, 0, 0, 0.08);
backdrop-filter: blur(6px);
}
.footer-contact-items {
display: grid;
gap: 1rem;
margin-bottom: 1rem;
}
.footer-contact-item {
display: flex;
flex-direction: column;
gap: 0.18rem;
}
.footer-contact-label {
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: rgba(17, 24, 39, 0.65);
}
.footer-contact-item a,
.footer-contact-item span:last-child {
font-size: 1rem;
font-weight: 500;
line-height: 1.6;
color: var(--dark);
word-break: break-word;
}
.footer-map-wrap {
border-radius: 18px;
overflow: hidden;
border: 1px solid rgba(0, 0, 0, 0.10);
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10);
background: #fff;
margin-bottom: 0.9rem;
}
.footer-map-wrap iframe {
display: block;
width: 100%;
height: 190px;
border: 0;
}
.footer-map-btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 46px;
padding: 0.85rem 1.25rem;
border-radius: 999px;
background: var(--dark);
color: #fff !important;
font-weight: 600;
letter-spacing: 0.02em;
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}
.footer-map-btn:hover {
opacity: 1;
transform: translateY(-1px);
}
.footer-copy {
border-top: 1px solid rgba(0, 0, 0, 0.14);
padding-top: 1.6rem;
margin-top: 2.5rem;
}
.footer-copy .small {
font-size: 0.88rem;
opacity: 0.9;
}
@media (max-width: 991.98px) {
.footer-text {
max-width: none;
}
}
@media (max-width: 767.98px) {
.site-footer {
padding: 4rem 0 2rem;
}
.footer-contact-card {
border-radius: 20px;
padding: 1rem;
}
.footer-map-wrap iframe {
height: 170px;
}
.footer-copy {
text-align: center;
}
}
/* ===== INLINE <style> BLOCK #6 ===== */
/* ── Variables ─────────────────────────────────────────── */
:root {
--brand: #7a2b2f;
--brand-dark: #5e1e22;
--accent: #c9a467;
--dark: #111827;
--muted: #6b7280;
--white: #ffffff;
--border: rgba(17,24,39,.10);
--shadow-md: 0 10px 30px rgba(0,0,0,.22);
--shadow-lg: 0 20px 55px rgba(0,0,0,.28);
--wa: #25D366;
--wa-dark: #1fb85a;
/* Stagger timing */
--stagger-gap: 42ms;
--ease-spring: cubic-bezier(.34,1.5,.64,1);
--ease-out: cubic-bezier(.22,.6,.36,1);
}
/* ── Master toggle button ──────────────────────────────── */
.social-master-toggle {
position: fixed;
right: 18px;
bottom: 388px;
z-index: 10010;
width: 54px;
height: 54px;
border: 0;
border-radius: 50%;
cursor: pointer;
display: grid;
place-items: center;
padding: 0;
overflow: hidden;
/* Expanded: clean white pill */
background: #fff;
color: var(--brand);
box-shadow: var(--shadow-md), 0 0 0 1.5px rgba(122,43,47,.12);
transition:
background .35s var(--ease-out),
box-shadow .35s var(--ease-out),
transform .25s var(--ease-spring);
}
.social-master-toggle:hover {
transform: translateY(-2px) scale(1.06);
box-shadow: var(--shadow-lg), 0 0 0 2px rgba(122,43,47,.18);
}
.social-master-toggle:active {
transform: scale(.96);
}
/* Collapsed state: brand background */
.social-master-toggle.is-collapsed {
background: var(--brand);
color: #fff;
box-shadow: var(--shadow-md), 0 0 0 0 transparent;
}
/* Pulsing ring when collapsed to attract attention */
.social-master-toggle.is-collapsed::after {
content: '';
position: absolute;
inset: -6px;
border-radius: 50%;
border: 2px solid var(--accent);
animation: smtPulse 2.4s ease-in-out infinite;
pointer-events: none;
}
@keyframes smtPulse {
0%, 100% { opacity: .55; transform: scale(1); }
50% { opacity: 0; transform: scale(1.22); }
}
/* ── Faces (open / closed) ─────────────────────────────── */
.smt-face {
position: absolute;
inset: 0;
display: grid;
place-items: center;
will-change: transform, opacity;
}
/* Open face: visible by default */
.smt-face--open {
opacity: 1;
transform: rotate(0deg) scale(1);
transition:
opacity .28s var(--ease-out),
transform .3s var(--ease-spring);
}
/* Closed face: hidden by default */
.smt-face--closed {
opacity: 0;
transform: rotate(-90deg) scale(.8);
transition:
opacity .28s var(--ease-out),
transform .32s var(--ease-spring);
}
/* When collapsed: swap faces */
.social-master-toggle.is-collapsed .smt-face--open {
opacity: 0;
transform: rotate(90deg) scale(.8);
}
.social-master-toggle.is-collapsed .smt-face--closed {
opacity: 1;
transform: rotate(0deg) scale(1);
}
/* Logo image fills the closed face */
.smt-logo-img {
width: 54px;
height: 54px;
object-fit: cover;
border-radius: 50%;
display: block;
}
/* Badge bottom-right on collapsed */
.smt-badge {
position: absolute;
right: 0px;
bottom: 0px;
width: 19px;
height: 19px;
border-radius: 50%;
background: var(--accent);
color: var(--brand-dark);
display: grid;
place-items: center;
border: 2px solid var(--brand);
box-shadow: 0 3px 10px rgba(0,0,0,.25);
}
/* ── Float group & items ───────────────────────────────── */
.social-float-group {
position: relative;
}
/* Each item uses --si (stagger index) 0..4 */
.social-float-item {
/* default (expanded) state — no delay so they show instantly on page load */
transition:
transform .42s var(--ease-spring),
opacity .30s var(--ease-out),
visibility .30s linear,
box-shadow .22s ease;
}
/* Expanded → items cascade from bottom (low si) first */
.social-float-group.is-expanded .social-float-item {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateY(0) scale(1);
transition-delay: calc(var(--si, 0) * var(--stagger-gap));
}
/* Collapsed → items cascade from top (high si) first */
.social-float-group.is-collapsing .social-float-item,
.social-float-group.is-collapsed .social-float-item {
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: translateY(16px) scale(.88);
transition-delay: calc((4 - var(--si, 0)) * var(--stagger-gap));
}
/* ── Individual floats ─────────────────────────────────── */
.fb-float,
.ig-float,
.x-float,
.tt-float {
position: fixed;
right: 18px;
width: 54px;
height: 54px;
border-radius: 50%;
display: grid;
place-items: center;
color: #fff;
text-decoration: none;
box-shadow: var(--shadow-md);
}
.tt-float { bottom: 314px; z-index: 9995; background: linear-gradient(135deg,#111 0%,#1f1f1f 100%); }
.fb-float { bottom: 240px; z-index: 9996; background: linear-gradient(180deg,#1877F2 0%,#0f63d6 100%); }
.ig-float { bottom: 166px; z-index: 9997; background: linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); }
.x-float { bottom: 92px; z-index: 9998; background: linear-gradient(180deg,#111 0%,#2b2b2b 100%); }
.fb-float:hover,
.ig-float:hover,
.x-float:hover,
.tt-float:hover {
transform: translateY(-3px) scale(1.07) !important;
box-shadow: 0 16px 40px rgba(0,0,0,.35);
color: #fff;
}
/* ── WhatsApp ──────────────────────────────────────────── */
.wa-float-box {
position: fixed;
right: 18px;
bottom: 18px;
z-index: 9999;
font-family: inherit;
}
.wa-btn-law {
background: linear-gradient(135deg, var(--wa) 0%, var(--wa-dark) 100%);
color: #fff;
border: 0;
width: 60px;
height: 60px;
border-radius: 50%;
display: grid;
place-items: center;
box-shadow: var(--shadow-md);
cursor: pointer;
position: relative;
overflow: hidden;
transition: transform .3s var(--ease-spring), box-shadow .3s ease;
}
.wa-btn-law:hover {
transform: translateY(-3px) scale(1.06) !important;
box-shadow: var(--shadow-lg);
}
.wa-btn-law:active {
transform: scale(.96) !important;
}
.wa-card-law {
position: absolute;
right: 0;
bottom: 74px;
width: min(360px, 92vw);
background: var(--white);
color: var(--dark);
border-radius: 18px;
overflow: hidden;
box-shadow: 0 18px 60px rgba(0,0,0,.25);
border: 1px solid var(--border);
transform: translateY(14px) scale(.97);
opacity: 0;
transition: transform .36s var(--ease-spring), opacity .28s var(--ease-out);
z-index: 10000;
pointer-events: none;
}
.wa-card-law[aria-modal="true"] {
transform: translateY(0) scale(1);
opacity: 1;
pointer-events: auto;
}
.wa-head-law {
display: flex;
align-items: center;
gap: 12px;
padding: 14px 16px;
background: linear-gradient(135deg,#fff 0%,#f7f2e8 100%);
border-bottom: 1px solid rgba(0,0,0,.08);
}
.wa-avatar-law {
width: 42px; height: 42px;
border-radius: 12px;
overflow: hidden;
flex: 0 0 42px;
border: 1px solid rgba(0,0,0,.08);
display: grid; place-items: center;
}
.wa-title-law { font-weight: 800; font-size: 1rem; color: var(--dark); line-height: 1.2; }
.wa-status-law {
font-size: .84rem; color: var(--muted);
display: flex; align-items: center; gap: 6px; margin-top: 2px;
}
.wa-status-law::before {
content: ''; width: 8px; height: 8px; border-radius: 50%;
background: var(--wa); box-shadow: 0 0 10px rgba(37,211,102,.45);
}
.wa-close-law {
margin-left: auto; background: transparent; color: var(--muted);
border: 0; font-size: 24px; cursor: pointer;
width: 32px; height: 32px; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
transition: .2s; opacity: .8;
}
.wa-close-law:hover { opacity: 1; background: rgba(0,0,0,.05); }
.wa-body-law {
padding: 12px 14px; max-height: 40vh; overflow: auto;
background: #f8faf9; display: flex; flex-direction: column; gap: 8px;
}
.wa-bubble-law {
max-width: 88%; padding: 9px 11px; border-radius: 14px;
line-height: 1.4; box-shadow: 0 3px 10px rgba(0,0,0,.06);
animation: waFadeIn .28s var(--ease-out); font-size: .9rem;
}
@keyframes waFadeIn {
from { opacity: 0; transform: translateY(6px); }
to { opacity: 1; transform: none; }
}
.wa-bot-law { background:#fff; border:1px solid rgba(0,0,0,.08); align-self:flex-start; border-bottom-left-radius:4px; }
.wa-user-law { background:var(--wa); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
.wa-compose-law {
display: grid; grid-template-columns: 1fr auto; gap: 8px;
padding: 10px 12px; background: #fff; border-top: 1px solid rgba(0,0,0,.08);
}
.wa-compose-law textarea {
resize: none; border-radius: 12px; padding: 10px 12px;
border: 1px solid rgba(0,0,0,.10); background: #f9fbfa;
color: var(--dark); outline: none; min-height: 44px;
font-family: inherit; font-size: .9rem; transition: .2s;
}
.wa-compose-law textarea:focus {
border-color: var(--wa); background: #fff;
box-shadow: 0 0 0 3px rgba(37,211,102,.12);
}
.wa-send-law {
background: linear-gradient(135deg, var(--wa) 0%, var(--wa-dark) 100%);
color: #fff; border: 0; border-radius: 12px; padding: 0 16px;
cursor: pointer; display: flex; align-items: center; justify-content: center;
transition: .2s;
}
.wa-send-law:hover { transform: scale(1.05); filter: brightness(1.05); }
.wa-body-law::-webkit-scrollbar { width: 5px; }
.wa-body-law::-webkit-scrollbar-track { background: rgba(0,0,0,.03); border-radius: 3px; }
.wa-body-law::-webkit-scrollbar-thumb { background: rgba(0,0,0,.12); border-radius: 3px; }
/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 480px) {
.social-master-toggle { right:12px; bottom:382px; width:52px; height:52px; }
.smt-logo-img { width:52px; height:52px; }
.tt-float { right:12px; bottom:308px; width:52px; height:52px; }
.fb-float { right:12px; bottom:234px; width:52px; height:52px; }
.ig-float { right:12px; bottom:160px; width:52px; height:52px; }
.x-float { right:12px; bottom: 86px; width:52px; height:52px; }
.wa-float-box { right:12px; bottom:12px; }
.wa-card-law { width: calc(100vw - 24px); right:0; }
}