testin
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.csshttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.csshttps://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&family=Playfair+Display:wght@400;700&display=swap:root{
--primary:#8f82ae; --primary-600:#7c6ca0; --primary-700:#6b5d90;
--dark:#1e293b; --muted:#64748b; --line:#e2e8f0; --bg:#f8fafc;
--radius:14px; --shadow:0 6px 18px rgba(2,8,23,.08); --shadow-lg:0 14px 32px rgba(2,8,23,.15);
--grad:linear-gradient(135deg, var(--primary) 0%, #5d89ff 100%);
}
*{box-sizing:border-box}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:var(--dark);background:#fff;line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Playfair Display',serif}
/* NAVBAR */
.navbar-premium{background: rgba(17, 24, 39, .6);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid rgba(255,255,255,.08)}
.navbar-premium .navbar-brand{font-weight:700;letter-spacing:.2px;overflow:hidden}
.brand-img{height:28px}
.brand-text{display:block;max-width:60vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* BUSCADOR */
.search-wrap{background:var(--grad);color:#fff;padding:1.6rem 0 1.2rem;box-shadow:var(--shadow)}
.search-wrap .form-label{color:#fff;font-weight:600;margin-bottom:.35rem}
.search-wrap .form-select,.search-wrap .form-control{border:1px solid rgba(255,255,255,.4);color:#0f172a;background:#fff;border-radius:10px;height:44px}
.btn-theme{background:var(--primary);border:none;border-radius:12px;padding:.62rem 1rem;font-weight:600;box-shadow:var(--shadow);transition:.25s}
.btn-theme:hover{background:var(--primary-600);transform:translateY(-1px);box-shadow:var(--shadow-lg)}
/* === HERO carrusel sin estirar === */
.hero{
min-height:48vh;
position:relative;
display:grid;
place-items:center;
overflow:hidden;
isolation:isolate;
background:none !important; /* quitamos el fallback con fixed */
}
/* pista y slide */
.hero__slides{ position:absolute; inset:0; z-index:0; }
.hero__slide{ position:absolute; inset:0; opacity:0; transition:opacity .9s ease; }
.hero__slide.is-active{ opacity:1; }
/* imagen que nunca se deforma */
/* ocupa TODO el hero y no se deforma */
.hero__img{
width:100%;
height:100%;
display:block;
object-fit:cover; /* llena recortando si hace falta */
background:transparent;
}
/* solo si querés ver la foto completa con bandas */
.hero--contain .hero__img{
object-fit:contain;
background:#000;
}
/* el slide de atrás rellena todo */
.hero--contain .hero__slide{
background-position:center;
background-size:cover;
background-repeat:no-repeat;
}
/* la imagen principal va en contain, pero SIN fondo negro */
.hero--contain .hero__img{
width:100%;
height:100%;
display:block;
object-fit:contain;
background:transparent; /* ← antes estaba #000, eso generaba las bandas */
}
/* overlay y contenido */
.hero::after{
content:''; position:absolute; inset:0; z-index:1;
background:linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.25) 40%, rgba(0,0,0,.55));
}
.hero-inner{ position:relative; z-index:2; text-align:center; color:#fff; padding:2.6rem 1rem; }
/* mobile */
@media (max-width:992px){
.hero{ min-height:36vh; }
}
/* SECCIONES Y CARDS */
.section{padding: clamp(2rem, 5vw, 5rem) 0}
.section-title{position:relative;display:inline-block;margin-bottom:1rem}
.section-title::after{content:'';position:absolute;left:0;bottom:-10px;width:72px;height:4px;background:var(--primary);border-radius:2px}
.lead-muted{color:var(--muted)}
.img-elev{border-radius:var(--radius);box-shadow:var(--shadow-lg);object-fit:cover}
.img-cover{min-height:320px;border-radius:16px;box-shadow:var(--shadow-lg);background:var(--grad);background-size:cover;background-position:center}
.prop-card{border:none;border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--shadow);transition:.28s;height:100%}
.prop-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.prop-img-wrap{height:220px;overflow:hidden;position:relative}
.prop-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.prop-card:hover .prop-img{transform:scale(1.06)}
.prop-type{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.95);color:var(--primary-700);padding:.3rem .7rem;border-radius:999px;font-weight:700;font-size:.8rem;border:1px solid var(--line)}
.prop-body{padding:1rem 1.1rem 1.2rem}
.prop-title{font-weight:700;color:#0f172a;font-size:1.05rem;margin:0}
.prop-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.65rem;font-weight:600;color:var(--primary)}
.prop-link:hover{color:var(--primary-600)}
.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.2rem}
.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;font-weight:600;color:var(--muted);box-shadow:var(--shadow);cursor:pointer}
.chip.active,.chip:hover{background:var(--primary);color:#fff;border-color:transparent}
.list-thumb{width:110px;height:74px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.cta-pane{background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.92)), var(--grad);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:1.4rem}
/* FOOTER */
.site-footer{
color:#e2e8f0;
background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(15,23,42,.98)),
radial-gradient(1200px 600px at 10% -10%, rgba(143,130,174,.25), transparent 60%);
}
.footer-logo{height:32px}
.footer-title{color:#fff; font-weight:700; letter-spacing:.02em; margin-bottom:.6rem}
.footer-text{color:#cbd5e1}
.footer-link{color:#cbd5e1; text-decoration:none}
.footer-link:hover{color:var(--primary, #8f82ae)}
.footer-brand{color:#fff}
.footer-social{color:#cbd5e1; text-decoration:none}
.footer-social:hover{color:var(--primary, #8f82ae)}
.footer-cta{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:14px}
.footer-sep{border-color:rgba(255,255,255,.12)}
/* WHATSAPP widget (corregido) */
:root{
--whatsapp-green:#25D366;--whatsapp-dark:#075E54;--whatsapp-light:#DCF8C6;
--w-text:#4A4A4A;--w-muted:#757575;--w-bg:#FFFFFF;--w-gray:#F0F0F0
}
.whatsapp-chat-container{
position:fixed;bottom:22px;right:22px;
z-index:2147483647; /* siempre arriba de todo */
font-family:'Segoe UI',Helvetica,Arial,sans-serif
}
.whatsapp-closed{position:relative;transition:.3s}
.chat-button{
display:flex;align-items:center;justify-content:center;
width:58px;height:58px;border-radius:50%;
background:var(--whatsapp-green);
box-shadow:0 5px 15px rgba(37,211,102,.4);
color:#fff;font-size:28px;position:relative;cursor:pointer;transition:.3s
}
.notification-badge{
position:absolute;top:-5px;right:-5px;background:#FF3B30;color:#fff;border-radius:50%;
width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700
}
.chat-tooltip{
position:absolute;right:80px;top:50%;transform:translateY(-50%);
background:var(--w-bg);color:var(--w-text);width:240px;border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,.1);opacity:0;visibility:hidden;transition:.3s;overflow:hidden;z-index:1
}
.whatsapp-closed:hover .chat-tooltip{opacity:1;visibility:visible;right:72px}
.whatsapp-open{
width:300px;background:var(--w-bg);border-radius:10px;
box-shadow:0 5px 30px rgba(0,0,0,.2);overflow:hidden;
display:none;flex-direction:column;height:450px
}
.whatsapp-open .chat-header{background:var(--whatsapp-dark)}
/* Estado ABIERTO: se agrega .chat-visible desde JS */
.whatsapp-chat-container.chat-visible .whatsapp-open{display:flex}
.whatsapp-chat-container.chat-visible .whatsapp-closed{display:none}
.whatsapp-chat-container.chat-visible .chat-tooltip{display:none}
.chat-header{
display:flex;align-items:center;padding:12px;background:var(--whatsapp-dark);
/* ...cortado... */
.social-float {
position: fixed;
left: 20px;
bottom: max(20px, env(safe-area-inset-bottom));
display: flex;
flex-direction: column;
gap: 16px;
z-index: 9999;
}
.social-btn {
--size: 60px;
width: var(--size);
height: var(--size);
border-radius: 50%;
display: grid;
place-items: center;
color: #fff;
text-decoration: none;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
position: relative;
overflow: hidden;
border: none;
}
.social-btn:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.1);
transform: translateY(100%);
transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
border-radius: 50%;
}
.social-btn:hover {
transform: translateY(-5px) scale(1.05);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}
.social-btn:hover:before {
transform: translateY(0);
}
.social-btn svg {
width: 28px;
height: 28px;
position: relative;
z-index: 1;
transition: transform 0.3s ease;
}
.social-btn:hover svg {
transform: scale(1.15);
}
/* Instagram con gradiente mejorado y efecto de luz */
.social-btn.ig {
background: linear-gradient(45deg,
#f09433 0%,
#e6683c 25%,
#dc2743 50%,
#cc2366 75%,
#bc1888 100%);
}
.social-btn.ig:after {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at center,
rgba(255, 255, 255, 0.4) 0%,
rgba(255, 255, 255, 0) 60%);
opacity: 0;
transition: opacity 0.3s ease;
}
.social-btn.ig:hover:after {
opacity: 1;
}
/* Facebook con gradiente en lugar de color plano */
.social-btn.fb {
background: linear-gradient(45deg, #1877F2, #0D6EFD);
}
/* Efecto de pulso al hacer hover */
@keyframes pulse {
0% { box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2); }
70% { box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); }
100% { box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); }
}
.social-btn:hover {
animation: pulse 1.5s infinite;
}
/* Móviles */
@media (max-width: 768px) {
.social-float {
left: 15px;
bottom: max(15px, env(safe-area-inset-bottom));
gap: 12px;
}
.social-btn {
--size: 54px;
}
.social-btn svg {
width: 24px;
height: 24px;
}
}
/* Tablets */
@media (max-width: 1024px) and (min-width: 769px) {
.social-btn {
--size: 58px;
}
}
spamistico.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Barlow+Condensed:wght@400;600;700&display=swap:root {
--accent: #831672;
--accent2: #40a5ce;
--ink: #0a0a0a;
--paper: #fbf7fb;
--soft: #f6edf5;
--muted: #626a72;
--line: rgba(131,22,114,.16);
--nav-h: 72px;
--display: 'Bebas Neue', Impact, sans-serif;
--body: 'Barlow', ui-sans-serif, system-ui, sans-serif;
--cond: 'Barlow Condensed', 'Barlow', sans-serif;
--mono: 'SFMono-Regular', Consolas, monospace;
--ease: cubic-bezier(.4,0,.2,1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: var(--body); color: var(--ink); background: #fff; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
body::after { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 9999; opacity: .022; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); background-size: 256px; }
.site-nav { min-height: var(--nav-h); background: rgba(255,255,255,.9); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%); border-bottom: 1px solid var(--line); transition: background .25s var(--ease), box-shadow .25s var(--ease); z-index: 1040; }
.site-nav.is-scrolled { background: rgba(255,255,255,.98); box-shadow: 0 2px 0 var(--line), 0 8px 40px rgba(131,22,114,.08); }
.navbar-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.brand-logo { height: 42px; width: auto; max-width: 120px; object-fit: contain; }
.brand-text { font-family: var(--display); font-size: 22px; letter-spacing: .04em; line-height: 1; color: var(--ink); white-space: nowrap; }
.navbar-toggler { width: 44px; height: 44px; border: 1.5px solid var(--accent); border-radius: 4px; padding: 0; background: transparent; box-shadow: none !important; display: grid; place-items: center; }
.navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(64,165,206,.18) !important; }
.toggler-bars { display: flex; flex-direction: column; gap: 5px; width: 18px; }
.toggler-bars span { display: block; height: 1.5px; background: var(--accent); }
.nav-link { font-family: var(--cond); font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); padding: .6rem .72rem !important; transition: color .18s var(--ease); position: relative; }
.nav-link::after { content: ''; position: absolute; bottom: 2px; left: .72rem; right: .72rem; height: 2px; background: var(--accent2); transform: scaleX(0); transform-origin: left; transition: transform .22s var(--ease); }
.nav-link:hover { color: var(--accent); }
.nav-link:hover::after { transform: scaleX(1); }
.btn-accent { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 20px; background: var(--accent); color: #fff !important; border: none; border-radius: 0; font-family: var(--cond); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: background .18s var(--ease), transform .18s var(--ease); clip-path: polygon(0 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%); }
.btn-accent:hover { background: var(--accent2); transform: translateY(-1px); }
.btn-outline-clean { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 20px; border: 1.5px solid var(--accent); color: var(--accent); font-family: var(--cond); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease); }
.btn-outline-clean:hover { background: var(--accent); color: #fff; transform: translateY(-1px); }
.hero { width: 100%; min-height: 100vh; min-height: 100svh; display: flex; align-items: center; position: relative; overflow: hidden; isolation: isolate; padding: calc(var(--nav-h) + 42px) 0 64px; background: linear-gradient(135deg,#fff 0%,#f7fafc 58%,#eef5f0 100%); }
.hero::before { content: ''; position: absolute; width: min(54vw, 620px); height: min(54vw, 620px); right: -12%; top: 8%; border-radius: 50%; background: radial-gradient(circle, rgba(64,165,206,.14), rgba(64,165,206,0) 68%); z-index: -1; }
.hero::after { content: ''; position: absolute; width: min(50vw, 600px); height: min(50vw, 600px); left: -16%; bottom: -18%; border-radius: 50%; background: radial-gradient(circle, rgba(131,22,114,.13), rgba(131,22,114,0) 68%); z-index: -1; }
.hero-shell { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); gap: clamp(34px,5vw,76px); align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.hero-title { max-width: 920px; font-family: var(--display); font-size: clamp(74px, 10.6vw, 162px); font-weight: 400; letter-spacing: .035em; line-height: .86; text-transform: uppercase; color: var(--ink); overflow-wrap: normal; margin: 0; }
.hero-title .char { display: inline-block; opacity: 1; filter: blur(0); transform: none; will-change: transform,opacity,filter; }
.hero-title.is-looping { animation: fadeUpLoop 5s cubic-bezier(.22,1,.36,1) infinite; will-change: transform,opacity; }
.hero-title.is-looping .char { animation: charInLoop 5s cubic-bezier(.22,1,.36,1) infinite; }
.hero-title .word { display: inline-block; white-space: nowrap; }
.hero-title .space { display: inline-block; width: .13em; }
.hero-title strong { color: var(--accent); font-weight: 400; }
.hero-line { width: clamp(70px, 7vw, 124px); height: 3px; background: var(--accent2); margin: 18px 0 24px; }
.hero-lead { font-size: clamp(16px,1.5vw,19px); line-height: 1.68; color: #2d3338; max-width: 700px; font-weight: 400; }
.hero-sub { font-size: 15.5px; line-height: 1.72; color: var(--muted); max-width: 680px; margin-top: 12px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.hero-tags span { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 13px; border: 1px solid rgba(131,22,114,.16); background: rgba(255,255,255,.82); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.hero-tags span::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--accent2); }
.hero-media { position: relative; min-height: clamp(300px,40vw,530px); display: grid; place-items: center; }
.hero-card { width: min(100%, 560px); min-height: clamp(280px,34vw,460px); background: #fff; border: 1px solid var(--line); box-shadow: 18px 18px 0 rgba(131,22,114,.08), 0 28px 70px rgba(131,22,114,.12); display: grid; place-items: center; padding: clamp(22px,4vw,44px); position: relative; overflow: hidden; }
.hero-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(131,22,114,.08), transparent 42%, rgba(64,165,206,.08)); pointer-events: none; }
.hero-card img { width: 100%; max-height: 310px; object-fit: contain; position: relative; z-index: 1; }
.hero-card-label { position: absolute; left: 18px; bottom: 18px; z-index: 2; background: var(--accent); color: #fff; padding: 12px 14px; font-family: var(--cond); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; box-shadow: 5px 5px 0 rgba(64,165,206,.35); }
.hero-card-label small { display: block; font-family: var(--mono); font-size: 9px; letter-spacing: .1
/* ...cortado... */
constructoracaramlauretta.com.ar
<link rel="stylesheet"> en el archivo.<style> inline en el archivo.a17records.com.ar
<link rel="stylesheet"> en el archivo.<style> inline en el archivo.viajandoconcefer.com.ar
<link rel="stylesheet"> en el archivo.<style> inline en el archivo.servicioscentralesgastronomicos.com.ar
https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.csshttps://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Barlow+Condensed:wght@400;600;700&display=swap:root {
--accent: #033878;
--accent2: #061629;
--ink: #0a0a0a;
--paper: #f5f7fb;
--soft: #eef4f7;
--muted: #626a72;
--line: rgba(3,56,120,.16);
--nav-h: 72px;
--display: 'Bebas Neue', Impact, sans-serif;
--body: 'Barlow', ui-sans-serif, system-ui, sans-serif;
--cond: 'Barlow Condensed', 'Barlow', sans-serif;
--mono: 'SFMono-Regular', Consolas, monospace;
--ease: cubic-bezier(.4,0,.2,1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: var(--body); color: var(--ink); background: #fff; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
body::after { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 9999; opacity: .022; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); background-size: 256px; }
.site-nav { min-height: var(--nav-h); background: rgba(255,255,255,.9); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%); border-bottom: 1px solid var(--line); transition: background .25s var(--ease), box-shadow .25s var(--ease); z-index: 1040; }
.site-nav.is-scrolled { background: rgba(255,255,255,.98); box-shadow: 0 2px 0 var(--line), 0 8px 40px rgba(37,72,115,.08); }
.navbar-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.brand-logo { height: 42px; width: auto; max-width: 120px; object-fit: contain; }
.brand-text { font-family: var(--display); font-size: 22px; letter-spacing: .04em; line-height: 1; color: var(--ink); white-space: nowrap; }
.navbar-toggler { width: 44px; height: 44px; border: 1.5px solid var(--accent); border-radius: 4px; padding: 0; background: transparent; box-shadow: none !important; display: grid; place-items: center; }
.navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(6,22,41,.18) !important; }
.toggler-bars { display: flex; flex-direction: column; gap: 5px; width: 18px; }
.toggler-bars span { display: block; height: 1.5px; background: var(--accent); }
.nav-link { font-family: var(--cond); font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); padding: .6rem .72rem !important; transition: color .18s var(--ease); position: relative; }
.nav-link::after { content: ''; position: absolute; bottom: 2px; left: .72rem; right: .72rem; height: 2px; background: var(--accent2); transform: scaleX(0); transform-origin: left; transition: transform .22s var(--ease); }
.nav-link:hover { color: var(--accent); }
.nav-link:hover::after { transform: scaleX(1); }
.btn-accent { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 20px; background: var(--accent); color: #fff !important; border: none; border-radius: 0; font-family: var(--cond); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: background .18s var(--ease), transform .18s var(--ease); clip-path: polygon(0 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%); }
.btn-accent:hover { background: var(--accent2); transform: translateY(-1px); }
.btn-outline-clean { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 20px; border: 1.5px solid var(--accent); color: var(--accent); font-family: var(--cond); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease); }
.btn-outline-clean:hover { background: var(--accent); color: #111111; transform: translateY(-1px); }
.hero { width: 100%; min-height: 100vh; min-height: 100svh; display: flex; align-items: center; position: relative; overflow: hidden; isolation: isolate; padding: calc(var(--nav-h) + 42px) 0 64px; background: linear-gradient(135deg,#fff 0%,#f7fafc 58%,#eef5f0 100%); }
.hero::before { content: ''; position: absolute; width: min(54vw, 620px); height: min(54vw, 620px); right: -12%; top: 8%; border-radius: 50%; background: radial-gradient(circle, rgba(6,22,41,.14), rgba(6,22,41,0) 68%); z-index: -1; }
.hero::after { content: ''; position: absolute; width: min(50vw, 600px); height: min(50vw, 600px); left: -16%; bottom: -18%; border-radius: 50%; background: radial-gradient(circle, rgba(37,72,115,.13), rgba(37,72,115,0) 68%); z-index: -1; }
.hero-shell { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); gap: clamp(34px,5vw,76px); align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.hero-title { max-width: 920px; font-family: var(--display); font-size: clamp(74px, 10.6vw, 162px); font-weight: 400; letter-spacing: .035em; line-height: .86; text-transform: uppercase; color: var(--ink); overflow-wrap: normal; margin: 0; }
.hero-title .char { display: inline-block; opacity: 1; filter: blur(0); transform: none; will-change: transform,opacity,filter; }
.hero-title.is-looping { animation: fadeUpLoop 5s cubic-bezier(.22,1,.36,1) infinite; will-change: transform,opacity; }
.hero-title.is-looping .char { animation: charInLoop 5s cubic-bezier(.22,1,.36,1) infinite; }
.hero-title .word { display: inline-block; white-space: nowrap; }
.hero-title .space { display: inline-block; width: .13em; }
.hero-title strong { color: var(--accent); font-weight: 400; }
.hero-line { width: clamp(70px, 7vw, 124px); height: 3px; background: var(--accent2); margin: 18px 0 24px; }
.hero-lead { font-size: clamp(16px,1.5vw,19px); line-height: 1.68; color: #2d3338; max-width: 700px; font-weight: 400; }
.hero-sub { font-size: 15.5px; line-height: 1.72; color: var(--muted); max-width: 680px; margin-top: 12px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.hero-tags span { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 13px; border: 1px solid rgba(37,72,115,.16); background: rgba(255,255,255,.82); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.hero-tags span::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--accent2); }
.hero-media { position: relative; min-height: clamp(300px,40vw,530px); display: grid; place-items: center; }
.hero-card { width: min(100%, 560px); min-height: clamp(280px,34vw,460px); background: #fff; border: 1px solid var(--line); box-shadow: 18px 18px 0 rgba(37,72,115,.08), 0 28px 70px rgba(37,72,115,.12); display: grid; place-items: center; padding: clamp(22px,4vw,44px); position: relative; overflow: hidden; }
.hero-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(37,72,115,.08), transparent 42%, rgba(6,22,41,.08)); pointer-events: none; }
.hero-card img { width: 100%; max-height: 310px; object-fit: contain; position: relative; z-index: 1; }
.hero-card-label { position: absolute; left: 18px; bottom: 18px; z-index: 2; background: var(--accent); color: #111111; padding: 12px 14px; font-family: var(--cond); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; box-shadow: 5px 5px 0 rgba(6,22,41,.35); }
.hero-card-label small { display: block; font-family: var(--mono); font-size: 9px; letter-spacing: .14em; color: rgba(2
/* ...cortado... */