/* Portada simple: el detalle permanece dentro de cada ventana de servicio. */
:root { --slim-dark:#101315; --slim-yellow:#ffc400; }
body { background:#f5f5f2; }
.intro,.trusted-companies,.metrics,.process { display:none!important; }
.site-header { height:80px!important; padding:0 clamp(22px,5vw,76px)!important; background:linear-gradient(180deg,#0b0d0eef,transparent)!important; }
.site-header nav { gap:28px!important; }
.site-header nav a:not(.nav-cta) { font-size:13px; }
.nav-cta,.btn.primary { background:var(--slim-yellow)!important; color:#171717!important; border-color:var(--slim-yellow)!important; }
.cinematic-hero .hero-actions .btn.primary { color:#171717!important; }
.cinematic-hero { height:min(65svh,650px)!important; min-height:520px!important; }
.cinematic-hero .hero-content { width:min(1060px,94vw)!important; padding:90px clamp(26px,7vw,110px) 64px!important; }
.cinematic-hero h1 { font-size:clamp(48px,5.2vw,72px)!important; line-height:1.01!important; letter-spacing:-.05em!important; }
.cinematic-hero .hero-copy { font-size:clamp(16px,1.45vw,20px)!important; max-width:440px!important; }
.hero-dots,.hero-index,.hero-progress { display:none!important; }
.mobile-break { display:none; }
.services { padding:clamp(58px,6vw,86px) clamp(20px,6vw,100px)!important; background:#f5f5f2!important; }
.section-heading { display:flex!important; align-items:end!important; gap:30px!important; padding:0!important; margin-bottom:42px!important; border:0!important; }
.section-heading h2 { font-size:clamp(40px,5vw,67px)!important; line-height:1.02!important; letter-spacing:-.045em!important; }
.section-heading>p { max-width:280px!important; font-size:15px!important; line-height:1.5!important; }
.service-grid { display:grid!important; grid-template-columns:1fr!important; gap:14px!important; }
.service-card { position:relative!important; grid-column:auto!important; display:block!important; height:310px!important; min-height:0!important; padding:0!important; border:0!important; border-radius:3px!important; overflow:hidden!important; background:#141819!important; box-shadow:none!important; }
.service-card img { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; object-fit:cover!important; filter:grayscale(.18) brightness(.63)!important; transition:transform .45s ease,filter .45s ease!important; }
.service-card:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#07090af2 0%,#07090ad1 42%,#07090a3d 100%); pointer-events:none; }
.service-card:hover img,.service-card:focus-visible img { transform:scale(1.05)!important; filter:grayscale(0) brightness(.78)!important; }
.service-body { position:absolute!important; inset:0!important; z-index:1!important; padding:38px clamp(28px,5vw,72px)!important; min-height:0!important; color:#fff!important; display:grid!important; grid-template-columns:120px minmax(0,1fr) auto!important; align-items:center!important; gap:28px!important; background:none!important; }
.service-body>span:first-child { color:var(--slim-yellow)!important; font-size:clamp(66px,7vw,108px)!important; line-height:1!important; font-weight:800!important; letter-spacing:-.08em!important; }
.service-body h3 { font-size:clamp(34px,4vw,60px)!important; line-height:1.03!important; margin:0!important; color:#fff!important; text-transform:uppercase!important; letter-spacing:-.035em!important; }
.service-body h3:before { content:""; display:block; width:120px; height:4px; background:var(--slim-yellow); margin-bottom:17px; }
.service-body p { display:none!important; }
.card-link { color:#fff!important; border:1px solid #ffffff9e!important; padding:14px 16px!important; font-size:11px!important; letter-spacing:.12em!important; white-space:nowrap; }
.card-link:after { color:var(--slim-yellow); }
.company { display:block!important; background:#fff!important; padding:clamp(68px,7vw,108px) clamp(20px,6vw,100px)!important; }
.company-intro { margin-bottom:48px!important; max-width:1120px; }
.company-founder { max-width:1060px; grid-template-columns:300px 1fr!important; border:0!important; background:#f5f5f2; border-left:4px solid var(--slim-yellow)!important; }
.company-founder-photo { background:#141819; }
.company-founder-photo img { height:340px!important; object-fit:cover!important; object-position:center 24%; }
.company-founder-copy { padding:clamp(26px,4vw,55px)!important; }
.company-founder-copy .company-role { margin-bottom:15px!important; }
.contact { min-height:0!important; padding:0 clamp(20px,6vw,100px)!important; background:#111719!important; }
.contact-inner { display:flex!important; align-items:center!important; gap:clamp(25px,5vw,70px)!important; padding:55px 0!important; }
.contact-inner .eyebrow { flex:none; color:var(--slim-yellow); margin:0; }
.contact-inner h2 { flex:1; font-size:clamp(27px,3vw,43px)!important; line-height:1.1!important; letter-spacing:-.04em!important; margin:0!important; }
.contact-data { margin:0!important; gap:5px!important; min-width:280px; }
.contact-data a { color:var(--slim-yellow)!important; }
.contact-data p { font-size:12px; line-height:1.45; }
footer { background:#0b1114!important; }
.service-dialog { width:min(1100px,96vw)!important; height:min(88vh,850px)!important; background:#10191e!important; }
.dialog-shell { padding:clamp(22px,4vw,55px)!important; }
.bodywork-hero { position:relative; min-height:400px; padding:clamp(30px,6vw,65px); display:flex; align-items:end; background:url('assets/mipa/portada.jpg') center/cover; }
.bodywork-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#071f31f2 0%,#071f3190 58%,#071f3125); }
.bodywork-hero>div { position:relative; max-width:720px; }
.bodywork-hero h2 { margin:16px 0; font-size:clamp(43px,6vw,72px); line-height:.98; letter-spacing:-.045em; }
.bodywork-hero h2 span { color:var(--slim-yellow); }
.bodywork-hero p:last-child { max-width:580px; margin:0; color:#d5dfe4; line-height:1.6; }
.bodywork-content { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:2px; }
.bodywork-content article { padding:clamp(28px,5vw,58px); background:#0a293e; }
.bodywork-content b { color:var(--slim-yellow); font-size:12px; letter-spacing:.12em; }
.bodywork-content h3 { margin:18px 0 10px; font-size:clamp(27px,3vw,40px); }
.bodywork-content p { max-width:440px; margin:0; color:#c7d1d6; line-height:1.65; }
.fleet-company { display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; padding:clamp(32px,5vw,58px); background:#111e24; border-top:2px solid var(--slim-yellow); }
.fleet-company h3 { margin:12px 0 0; font-size:clamp(26px,3vw,39px); line-height:1.08; }
.fleet-company ul { display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; margin:0; padding:0; list-style:none; }
.fleet-company li { position:relative; padding-left:18px; color:#d5dde0; line-height:1.45; }
.fleet-company li:before { content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; background:var(--slim-yellow); }
.bodywork-process { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid #ffffff22; }
.bodywork-process span { padding:24px; text-align:center; color:#d9e0e3; font-size:12px; letter-spacing:.1em; text-transform:uppercase; border-right:1px solid #ffffff22; }
.bodywork-process span:last-child { border-right:0; }
.bodywork-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:30px clamp(24px,5vw,58px); background:#0a293e; }
.bodywork-cta p { max-width:600px; margin:0; color:#d7e0e4; line-height:1.5; }
.bodywork-cta .btn { flex:none; }
.slim-dialog-hero { min-height:350px; padding:clamp(30px,6vw,65px); display:flex; flex-direction:column; justify-content:end; background:linear-gradient(90deg,#0a1418ee,#0a141855),url('assets/viandas-valtron.jpg') center/cover; }
.slim-dialog-hero h2 { font-size:clamp(43px,6vw,72px); line-height:.98; letter-spacing:-.045em; margin:18px 0; }
.slim-dialog-hero h2 span { color:var(--slim-yellow); }
.slim-dialog-hero>p:last-child { max-width:590px; color:#e0e4e5; line-height:1.55; }
.slim-dialog-content { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:36px 10px 0; }
.slim-dialog-content h3 { font-size:24px; margin:0 0 12px; }
.slim-dialog-content p,.slim-dialog-content li { color:#c6d1d5; line-height:1.7; }
.slim-dialog-content ul { margin:0; padding-left:19px; }
.slim-dialog-cta { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0 35px; border-top:1px solid #ffffff30; }
.slim-dialog-cta p { margin:0; }
@media(max-width:900px){
  .service-grid { grid-template-columns:1fr!important; }
  .service-card { height:280px!important; }
  .service-body { grid-template-columns:100px minmax(0,1fr)!important; }
  .card-link { grid-column:2; justify-self:start; }
  .section-heading { display:block!important; }
  .section-heading>p { margin-top:20px!important; }
  .contact-inner { display:block!important; }
  .contact-inner h2 { margin:14px 0 20px!important; }
}
@media(max-width:600px){
  .cinematic-hero { height:72svh!important; min-height:570px!important; }
  .cinematic-hero .hero-content { top:38px!important; height:calc(100% - 38px)!important; width:100%!important; padding:95px 25px 58px!important; }
  .cinematic-hero h1 { font-size:clamp(40px,11vw,48px)!important; }
  .mobile-break { display:block; }
  .service-grid { grid-template-columns:1fr!important; gap:12px!important; }
  .service-card { height:255px!important; }
  .service-body { padding:25px!important; grid-template-columns:65px minmax(0,1fr)!important; gap:12px!important; }
  .service-body>span:first-child { font-size:58px!important; }
  .service-body h3 { font-size:clamp(26px,7vw,34px)!important; }
  .service-body h3:before { width:75px; height:3px; margin-bottom:12px; }
  .card-link { grid-column:2; font-size:10px!important; padding:10px!important; }
  .company-founder { grid-template-columns:1fr!important; }
  .company-founder-photo img { height:300px!important; }
  .contact-inner { padding:42px 0!important; }
  .slim-dialog-content { grid-template-columns:1fr; }
  .bodywork-content { grid-template-columns:1fr; }
  .fleet-company { grid-template-columns:1fr; gap:24px; }
  .fleet-company ul { grid-template-columns:1fr; }
  .bodywork-process { grid-template-columns:1fr; }
  .bodywork-process span { text-align:left; padding:16px 24px; border-right:0; border-bottom:1px solid #ffffff18; }
  .bodywork-cta { display:block; }
  .bodywork-cta .btn { margin-top:18px; }
  .bodywork-hero { min-height:390px; background-position:60% center; }
  .slim-dialog-cta { display:block; }
  .slim-dialog-cta .btn { margin-top:15px; }
}
